Burpを活用する
はじめに
OSINT(Open Source Intelligence)は、公開されている情報源から情報を収集し分析する手法です。サイバーセキュリティにおいては、ターゲットの情報を収集して攻撃の準備を行うために活用されます。Burp Suiteは主にWebアプリケーションのセキュリティテストツールとして知られていますが、OSINTにおいても強力なツールとなります。本記事では、Burp Suite Community Editionを用いた実践的なOSINT手法について詳細に説明します。
パッシブ情報収集
Webアプリケーションのメタデータ収集
Burp SuiteのSpider機能を使用してターゲットサイトをクローリングし、メタデータを収集します。これにより、サーバーのバージョン情報、使用しているCMS、JavaScriptフレームワークなどの技術情報を取得できます。
1. ターゲットサイトをBurp Suiteに設定。
2. Spider機能を有効化。
3. 収集されたメタデータを解析し、技術スタックを特定。サブドメインの列挙
Burp Suiteの「Target」タブでサブドメインの列挙を行います。これにより、攻撃対象のサブドメインや関連するサービスを特定することができます。
1. ターゲットサイトのルートドメインを設定。
2. Target > Site map > Filterを使用し、サブドメインをリストアップ。アクティブ情報収集
ディレクトリとファイルの列挙
Burp Suiteの「Intruder」機能を利用して、ディレクトリおよびファイルの列挙を行います。これにより、隠されたリソースや設定ファイルを発見することが可能です。
1. Intruder > PositionsタブでURLのディレクトリ部分を設定。
2. Payloadsタブでディレクトリおよびファイル名のリストを設定。
3. Attackを実行し、レスポンスを解析して存在するリソースを特定。ユーザー名とパスワードのブルートフォース攻撃
Burp Suiteの「Intruder」機能を使用して、ログインページに対するブルートフォース攻撃を実行します。これにより、推測可能なユーザー名やパスワードを特定します。
1. ログインフォームのURLをIntruderに設定。
2. Positionsタブでユーザー名とパスワードの位置を設定。
3. Payloadsタブでユーザー名リストとパスワードリストを設定。
4. Attackを実行し、成功したログインを特定。コンテンツのディスカバリー
Burp Suiteの「Scanner」機能を使用して、隠されたコンテンツや未公開のディレクトリを発見します。
- Directory Brute Force: よく使用されるディレクトリ名やファイル名のリストを使用して、隠されたコンテンツを探します。
- Parameter Discovery: 既知のパラメータ名をリストアップし、それらが使用されているかどうかを確認します。例えば、adminやloginなどのパラメータを試します。
サードパーティーAPIの利用
Burp Suiteは様々な拡張機能(Extender)をサポートしており、サードパーティーのAPIを利用して情報を収集することが可能です。
- Shodan Integration: Shodan APIを使用して、ターゲットサイトのIPアドレスに関する情報を収集します。これにより、サーバーの場所や開放されているポート、サービスのバージョン情報などを得ることができます。
- Whois Lookup: ドメイン情報を収集するためのWhois検索を実行します。ドメイン所有者や登録情報、更新履歴などを取得します。
結果の分析と報告
収集した情報を整理し、分析します。特に、脆弱性やセキュリティリスクに関する情報は、詳細な報告書にまとめます。
- Issue Reporting: Burp Suiteの「Report」機能を利用して、発見した問題をレポート形式で出力します。これには、脆弱性の詳細、影響範囲、修正方法の提案などを含めます。
- Data Correlation: 複数のデータソースから得られた情報を統合し、全体像を把握します。例えば、Shodanから得られた情報とWhois情報を照合し、ターゲットのインフラストラクチャを詳細に描写します。
情報のクロスレファレンス
収集した情報をクロスレファレンスし、ターゲットの全体像を把握します。具体的には、以下のような情報を関連付けます。
- メタデータから得られた技術情報とサブドメイン情報を関連付け。
- 発見されたディレクトリやファイルから特定された設定情報と、ブルートフォースで得られたユーザー情報を関連付け。
実例研究
以下に、Burp Suiteを用いた具体的なOSINTシナリオを示します。
Burp Suiteを活用した実践例
シナリオ1: 企業XのWebサーバーのOSINT
-
ターゲットサイトのスキャン:
- 手順: Burp SuiteのSpider機能を使用して、企業Xのメインサイト(example.com)をスキャンします。
- 目的: 使用されているCMSを特定します。
- 実施方法:
Target > Request > Connectionの値がwpであることを確認し、CMSがWordPressであることを特定します。 - コマンド例:
burpsuite spider http://example.com
-
サブドメイン列挙:
- 手順: Sublist3rやBurp Suiteの機能を使用して、企業Xのサブドメインを列挙します。
- 目的: 潜在的な攻撃ポイントとなるサブドメインを特定します。
- 実施方法: admin.example.comという管理用サブドメインを発見します。
- コマンド例:
sublist3r -d example.com
-
ディレクトリ列挙:
- 手順: admin.example.comに対して、ディレクトリ列挙を実行します。
- 目的: 隠しディレクトリや重要なファイルの存在を確認します。
- 実施方法: /backupディレクトリを発見します。
- コマンド例:
dirb http://admin.example.com
-
バックアップファイルの確認:
- 手順: /backupディレクトリの中身を確認します。
- 目的: 過去のデータベースバックアップなど、機密データが存在するかを確認します。
- 実施方法: /backupディレクトリにデータベースバックアップファイルが存在することを確認します。
- コマンド例:
curl http://admin.example.com/backup/
-
ログインページへのブルートフォース:
- 手順: admin.example.comのログインページに対してブルートフォース攻撃を実施します。
- 目的: 弱い認証情報を見つけて、管理者権限を取得します。
- 実施方法: admin:password123という弱い認証情報を特定します。
- コマンド例:
hydra -l admin -P wordlist.txt admin.example.com http-post-form "/login:username=^USER^&password=^PASS^:F=incorrect"
シナリオ2: 小売業Yのオンラインストアの脆弱性調査
-
ターゲットサイトのパッシブスキャン:
- 手順: Burp SuiteのProxy機能を使用して、小売業Yのオンラインストア(shop.example.com)のトラフィックをパッシブスキャンします。
- 目的: サイトの基本的な構造や技術スタックを把握します。
- 実施方法: HTTPヘッダーやHTMLメタタグから技術情報を収集します。
-
インプットフィールドの検証:
- 手順: Burp SuiteのIntruder機能を使用して、商品検索フィールドに対してSQLインジェクション攻撃を実施します。
- 目的: インプットフィールドの脆弱性を特定します。
- 実施方法: 脆弱なパラメータに対して特定のペイロードを送信し、SQLエラーメッセージの有無を確認します。
- ペイロード例:
' OR '1'='1
-
セッション管理のテスト:
- 手順: Burp SuiteのRepeater機能を使用して、複数のリクエストを送信し、セッション管理の脆弱性をテストします。
- 目的: セッション固定攻撃やセッションハイジャックのリスクを確認します。
- 実施方法: 同一セッションIDを使用して、複数のリクエストを送信し、応答を比較します。
-
クロスサイトスクリプティング(XSS)テスト:
- 手順: Burp SuiteのIntruder機能を使用して、フォームフィールドやURLパラメータに対してXSS攻撃を実施します。
- 目的: XSS脆弱性を特定し、攻撃者が任意のJavaScriptを実行できるか確認します。
- ペイロード例:
<script>alert('XSS');</script>
-
レポートの生成:
- 手順: Burp Suiteのレポート機能を使用して、発見した脆弱性を報告書にまとめます。
- 目的: 発見された脆弱性の詳細、影響範囲、推奨対策を含む包括的なレポートを作成します。
- 実施方法: 各脆弱性について、発見の経緯と修正方法を詳細に記述します。
シナリオ3: 官公庁Zのウェブポータルのセキュリティ評価
-
サーバー情報の収集:
- 手順: Nmapを使用して、官公庁Zのウェブポータル(portal.gov.example)のサーバー情報を収集します。
- 目的: 開いているポートやサービスのバージョン情報を特定します。
- コマンド例:
nmap -sV -A portal.gov.example
-
ディレクトリのブルートフォース:
- 手順: Burp SuiteのIntruder機能を使用して、ディレクトリブルートフォース攻撃を実施します。
- 目的: 隠されたディレクトリやファイルを特定します。
- ペイロード例:
/admin /config /backup
-
CSRFテスト:
- 手順: Burp SuiteのCSRF機能を使用して、CSRF(Cross-Site Request Forgery)脆弱性をテストします。
- 目的: セッション管理の脆弱性を特定し、CSRF攻撃のリスクを確認します。
- 実施方法: 特定のリクエストを他のユーザーのセッションで実行可能か確認します。
-
エラーメッセージの解析:
- 手順: Burp SuiteのProxy機能を使用して、エラーメッセージを解析します。
- 目的: エラーメッセージから内部構造や技術情報を収集します。
- 実施方法: エラーメッセージをトリガーするリクエストを送信し、返されるメッセージを解析します。
-
レポートの生成:
- 手順: Burp Suiteのレポート機能を使用して、発見した脆弱性を報告書にまとめます。
- 目的: 発見された脆弱性の詳細、影響範囲、推奨対策を含む包括的なレポートを作成します。
- 実施方法: 各脆弱性について、発見の経緯と修正方法を詳細に記述します。
結論
Burp Suiteを用いたOSINTは、Webアプリケーションの技術スタックの特定、サブドメインや隠されたリソースの発見、弱い認証情報の特定など、多岐にわたる情報収集を可能にします。これにより、ターゲットの全体像を把握し、潜在的な攻撃面を洗い出すことができます。実際のセキュリティ評価や攻撃の準備において、Burp Suiteは非常に有効なツールであると言えます。