Kali Tools #007|SET(Social-Engineer Toolkit)徹底解説|ソーシャルエンジニアリングの検証ツール

※本記事は学習用途・自己所有環境のみを対象とし、他者環境への無断スキャンは不正アクセス禁止法に該当します。

Social-Engineer Toolkit(SET)は、人間要因のセキュリティを検証するためのフレームワークです。

Kali Linux に標準搭載されており、フィッシング模擬演習、偽サイト生成、メールシナリオ作成など、ソーシャルエンジニアリングに関する多くの検証機能を備えています。

SET は David Kennedy(ReL1K)氏によって開発され、現在もコミュニティの協力により継続的に改善されています。

通常のペネトレーションテストではサーバー側の脆弱性に注目することが多いですが、実際のインシデントでは利用者(クライアント側)の認証情報窃取や操作誘導が大きな割合を占めます。

そのため、ソーシャルエンジニアリングのシナリオを理解し、リスクを把握することは非常に重要です。


SET の代表的な機能

SET にはさまざまな検証機能がありますが、代表的なものは以下の通りです。

  • Credential Harvester(認証情報の収集)

  • 偽ログインページのクローン生成(Site Cloner)

  • フィッシングメールの模擬送信

  • ブラウザやプラグインの脆弱性を検証する機能

今回は、もっとも分かりやすい「Credential Harvester」を使い、クローンサイトで入力された認証情報がどのように収集されるのかを見ていきます。


1. SET の起動

ルート端末で次のコマンドを実行します。

sudo setoolkit

メニューが表示されるので、以下の順で選択します。

  1. Social-Engineering Attacks

  2. Web Site Attack Vectors

  3. Credential Harvester Attack Method

  4. 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. クローンされたページの確認

ブラウザで以下にアクセスします。

http://192.168.56.1/

元のログインページと同じ見た目の画面が表示され、入力内容は 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)は、人間要因の脆弱性を理解するための非常に重要な検証ツールです。

クローンサイトの動作や認証情報の処理フローを把握することで、実際のフィッシング手口や誘導の仕組みを学び、防御に役立てることができます。