SET の代表的な機能
SET にはさまざまな検証機能がありますが、代表的なものは以下の通りです。
-
Credential Harvester(認証情報の収集)
-
偽ログインページのクローン生成(Site Cloner)
-
フィッシングメールの模擬送信
-
ブラウザやプラグインの脆弱性を検証する機能
今回は、もっとも分かりやすい「Credential Harvester」を使い、クローンサイトで入力された認証情報がどのように収集されるのかを見ていきます。
1. SET の起動
ルート端末で次のコマンドを実行します。
sudo setoolkit
メニューが表示されるので、以下の順で選択します。
-
Social-Engineering Attacks
-
Web Site Attack Vectors
-
Credential Harvester Attack Method
-
Site Cloner
2. Harvester の設定
■ ① 受信先 IP アドレスの入力
「POSTデータの送信先 IP」を聞かれるので、Kali ホストの IP アドレスを入力します。
例: 192.168.56.1
■ ② クローンする対象 URL を入力
ログインフォームを持つ URL を指定します。
例:
http://192.168.56.102/peruggia/index.php?action=login■ ③ Apache を起動する
Apache を使ってページを公開するので「Yes(y)」を選択します。
3. クローンされたページの確認
ブラウザで以下にアクセスします。
元のログインページと同じ見た目の画面が表示され、入力内容は Kali 側に転送されます。
試しに以下を入力してみます。
-
ユーザー名:harvester
-
パスワード:test
ログインボタンを押すと、元のログインページにリダイレクトされます。
4. 収集されたデータの確認
Kali の /var/www/html/ ディレクトリに戻り、生成されたファイルを確認します。
cd /var/www/html
harvester_日付.txt というファイルが生成されており、入力した情報が記録されています。
cat harvester_2025-11-22_23:16:24.txt
入力したユーザー名・パスワードがここに保存されます。
5. SET の動作原理
SET がサイトをクローンする際、以下の3ファイルを生成します。
● 1)index.html
元のログイン画面そのものをコピーしたファイル。
● 2)post.php
POSTされたデータを受信し、日時入りファイルに書き込む処理を行う小さなPHPスクリプト。
利用者の入力を保存したあと、メタタグで元のログインページへリダイレクトします。
● 3)harvester_日時.txt
実際に入力された認証情報が保存されるテキストファイル。
この仕組みにより、ユーザーは「パスワードを間違えた」と思い、気づかないまま再度入力を行うケースもあります。
🔚 まとめ
SET(Social-Engineer Toolkit)は、人間要因の脆弱性を理解するための非常に重要な検証ツールです。
クローンサイトの動作や認証情報の処理フローを把握することで、実際のフィッシング手口や誘導の仕組みを学び、防御に役立てることができます。