はじめに
この実験(Lab)では、Burp Suite でターゲットスコープを定義するという不可欠なスキルを習得します。Burp Suite は、Web アプリケーションのセキュリティテストに使用される強力なプロキシツールです。スコープの定義は、どのターゲットがテストの一部であるかを Burp Suite に指示するため、あらゆるエンゲージメントにおいて重要な最初のステップです。これにより、注意を集中させ、関連性のないトラフィックを除外し、そして最も重要なこととして、許可されていないシステムを誤ってテストすることを防ぐことができます。
この実験(Lab)の終わりには、ターゲットアプリケーションをスコープに追加し、スコープフィルターを使用して関連するトラフィックのみを表示できるようになります。
サイトマップを生成するためにターゲットアプリケーションにアクセスする
このステップでは、Burp Suite とその組み込みブラウザを起動します。その後、ターゲットウェブサイトにアクセスしてトラフィックを生成します。このトラフィックは Burp のプロキシによって傍受され、ターゲットアプリケーションの構造マップが自動的に構築されます。
まず、Burp Suite を起動しましょう。
- 画面左上の Applications メニューをクリックします。
- Other に移動し、Burp Suite Community Edition をクリックします。
- ダイアログボックスが表示されます。Temporary project を選択し、Next をクリックします。
- プロジェクト設定に関する別のダイアログが表示されます。Use Burp defaults を選択し、Start Burp をクリックします。
Burp Suite がロードされたら、トラフィックが正しくプロキシされるように、事前に設定されたブラウザを開く必要があります。
- Burp Suite ウィンドウで、Proxy タブに移動し、次に Intercept サブタブに移動します。
- Open Browser ボタンをクリックします。新しい Chromium ブラウザウィンドウが開きます。
- この新しいブラウザのアドレスバーに、次の URL を入力して Enter キーを押します。
https://ginandjuice.shop
サイトを閲覧すると、Burp Suite はすべてのリクエストとレスポンスをバックグラウンドで静かに記録します。これでブラウザウィンドウを閉じることができます。
サイトマップでターゲットホストを右クリックする
このステップでは、Burp Suite の Site map に移動して、先ほどアクセスしたホストを見つけます。Site map は、Burp が発見したすべてのコンテンツの階層的なビューを提供します。
- メインの Burp Suite ウィンドウに戻ります。
- Target タブをクリックします。デフォルトでは、Site map サブタブが開きます。
- 左側のペインに、アクセスしたサイトのツリー構造が表示されます。
https://ginandjuice.shopのエントリを見つけて展開します。 https://ginandjuice.shopの最上位エントリを右クリックします。これにより、このターゲットと対話するための多くの異なるオプションが表示されるコンテキストメニューが開きます。
このコンテキストメニューは、Burp Suite を使用する上で中心的な役割を果たします。なぜなら、すべての強力なツールへの迅速なアクセスを提供してくれるからです。
コンテキストメニューから「Add to scope」を選択する
このステップでは、コンテキストメニューを使用して、ターゲットホストを正式に「スコープ内」として定義します。
- 前のステップで開いたままのコンテキストメニューで、Add to scope オプションを見つけてクリックします。
- 「Burp's proxy is configured to drop all out-of-scope requests. Do you want to stop sending out-of-scope items to the History and other Burp tools?」というメッセージが表示されるダイアログボックスが表示されます。
- Yes をクリックします。
「Yes」をクリックすることで、Burp は他のウェブサイトからのノイズを自動的にフィルタリングするように指示されます。これは、プロジェクトをクリーンに保ち、ターゲットアプリケーションのみに焦点を当てるために強く推奨されるプラクティスです。ホスト ginandjuice.shop は、現在、テストスコープの一部と見なされます。
Target > Scope タブで新しいルールを表示する
このステップでは、Scope 設定タブを確認することで、スコープが正しく設定されていることを検証します。
- Burp Suite ウィンドウで、Target タブ内に留まります。
- Site map サブタブの隣にある Scope サブタブをクリックします。
- Include in scope と Exclude from scope の 2 つの主要なセクションが表示されます。
- Include in scope セクションの下に、先ほど追加したホストのルールが表示されているはずです。以下のような表示になります。
Host or IP range: ginandjuice.shop
Protocol: Any
Port: 443
File: .*
このルールは、ポート 443 (HTTPS) 経由でホスト ginandjuice.shop へのあらゆるリクエストがスコープ内と見なされることを Burp に伝えます。File フィールドは正規表現 (.*) を使用して、サーバー上の任意のパスに一致させます。より複雑なルールを追加することも可能ですが、この単純なホストベースのルールが最も一般的な開始点です。
Proxy History フィルターを使用してスコープ内のアイテムのみを表示する
このステップでは、Proxy history ログをフィルタリングすることで、スコープを定義する実用的なメリットを確認します。履歴ログには、Burp のプロキシを通過したすべての HTTP リクエストが含まれており、非常にノイズが多くなる可能性があります。
- Proxy タブに移動し、次に HTTP history サブタブをクリックします。
- ターゲットドメインだけでなく、さまざまなドメインへのリクエストが表示される場合があります。
- 履歴テーブルの上部には、フィルターバーがあります。「Filter: Showing all items」と表示されているかもしれません。このバーをクリックします。
- フィルター設定パネルが表示されます。Filter by scope というセクションを見つけます。
- Show only in-scope items というラベルの付いたチェックボックスをオンにします。
- フィルターパネルの外側のどこかをクリックして、変更を適用します。
これで HTTP history テーブルが更新され、https://ginandjuice.shop に対して行われたリクエストのみが表示されるようになります。他のすべてのトラフィックは非表示になり、テストに関連するリクエストの分析がはるかに容易になります。
まとめ
この実験を完了された皆さん、おめでとうございます!
Burp Suite における最も基本的かつ重要な設定ステップの 1 つである、ターゲットスコープの定義方法を学びました。Burp を起動し、ターゲットアプリケーションをブラウズしてサイトマップを生成し、ターゲットをスコープに追加し、スコープフィルターを使用してプロキシ履歴の無関係なトラフィックを非表示にすることに成功しました。
このスキルは、集中力を維持し、テストワークフローを整理し、ペネトレーションテストの承認された境界内で安全かつ専門的に操作することを確実にするために不可欠です。
