はじめに
この実験では、Burp Suite でアップストリームプロキシサーバーを設定する方法を学びます。アップストリームプロキシとは、Burp Suite が送信リクエストを宛先のウェブサーバーに直接送信する代わりに、転送する別のプロキシサーバーのことです。このテクニックは、プロキシチェーンとも呼ばれ、特定のネットワーク(Tor など)を経由してトラフィックをルーティングする、IP ベースのアクセス制御をバイパスする、またはすべてのトラフィックを会社のプロキシを経由する必要がある企業ネットワーク内で作業するなど、いくつかのシナリオで役立ちます。
Burp Suite の起動、適切な設定への移動、および指定されたアップストリームプロキシを通じてすべてのトラフィックをルーティングするためのルールの作成プロセスをガイドします。
プロジェクトオプション > 接続 > アップストリームプロキシサーバーに移動する
このステップでは、Burp Suite を起動し、アップストリームプロキシを設定するための設定を見つけます。LabEx 仮想マシンには、Burp Suite Community Edition がプリインストールされています。
まず、ターミナルを開き、次のコマンドを実行して Burp Suite を起動します。
burpsuite
スプラッシュスクリーンが表示された後、プロジェクト選択のダイアログボックスが表示されます。この実験では、一時的なプロジェクトで十分です。Temporary project を選択し、Next をクリックします。
次に、Burp の設定について尋ねられます。Use Burp defaults を選択し、Start Burp をクリックします。
メインの Burp Suite ウィンドウが開いたら、上部にいくつかのタブが表示されます。Project options タブをクリックします。Project options タブ内で、その下に新しいサブタブのセットが表示されます。Connections サブタブをクリックします。
最後に、Connections 設定内でスクロールダウンし、Upstream Proxy Servers セクションを見つけます。ここで、Burp のトラフィックをルーティングするためのルールを定義できます。
「Add」をクリックして新しいアップストリームプロキシルールを定義する
このステップでは、アップストリームプロキシの新しいルールを作成するプロセスを開始します。
前のステップで見つけた Upstream Proxy Servers セクションには、Add、Edit、Remove、Up、Down というボタンが表示されます。新しいルールを作成するには、Add ボタンをクリックする必要があります。
Add をクリックすると、Edit upstream proxy rule というタイトルの新しいダイアログウィンドウが開きます。このウィンドウには、一致させる宛先や使用するプロキシサーバーなど、単一のルーティングルールを定義するために必要なすべての設定が含まれています。
宛先ホストを設定する(例:「*」)
このステップでは、Burp Suite からのすべての送信トラフィックに適用されるルールを設定します。
Edit upstream proxy rule ダイアログ内で、最初のフィールドは Destination host です。このフィールドは、宛先サーバーのホスト名または IP アドレスに基づいて、どのリクエストがアップストリームプロキシを経由してルーティングされるかを決定します。
Burp Suite からのすべてのトラフィックをアップストリームプロキシを経由させるには、ワイルドカード文字を使用できます。Destination host フィールドにアスタリスク(*)を入力します。アスタリスクは、すべてのホスト名に一致するワイルドカードとして機能します。
この実験では * を使用しますが、実際のシナリオでは、より詳細な制御のために example.com のような特定のホスト名や、*.api.example.com のようなサブドメインのワイルドカードを入力できます。
プロキシホストとポート番号を入力する
このステップでは、アップストリームプロキシサーバーのアドレスを指定します。
引き続き Edit upstream proxy rule ダイアログで、Proxy host および Proxy port フィールドを見つけます。これらのフィールドは、宛先ホストのルールに一致するトラフィックをどこに送信するかを Burp に指示します。
この実験では、ローカルマシンで実行されている仮想的なプロキシを使用します。
- Proxy host フィールドに
127.0.0.1を入力します。 - Proxy port フィールドに
8081を入力します。
これらのフィールドの下には、Authentication セクションがあります。これは、アップストリームプロキシがユーザー名とパスワードを必要とする場合に使用されます。この演習では、このセクションは空白のままにします。
ホストとポートを入力したら、ダイアログの下部にある OK ボタンをクリックして、新しいルールを保存して追加します。
ルールを有効にして接続をテストする
このステップでは、新しく作成したルールを有効にし、その効果を確認します。
前のステップで OK をクリックした後、Connections タブに戻ります。Upstream Proxy Servers テーブルに、新しく作成したルールが表示されているはずです。
ルールの左側にあるチェックボックスに注目してください。このチェックボックスは、ルールの有効/無効を切り替えます。デフォルトでは、作成時にチェック(有効)されています。チェックボックスがオンになっていることを確認してください。
それでは、テストしてみましょう。プロキシ設定をテストする最も簡単な方法は、Burp の組み込みブラウザを使用することです。
- Proxy タブに移動します。
- Intercept サブタブに移動します。
- Open Browser ボタンをクリックします。Burp を使用するように事前に設定された新しいブラウザウィンドウが開きます。
この新しいブラウザで、例えば http://example.com のような任意のウェブサイトにアクセスしてみてください。接続は失敗します。これは想定内の動作です!接続が失敗するのは、Burp がリクエストを 127.0.0.1:8081 の存在しないアップストリームプロキシに転送しようとしているためです。失敗のアラートは、Burp の Dashboard タブの Event log で確認できます。
この失敗は、アップストリームプロキシルールが正しく機能していることを確認するものです。
実験を完了するには、Burp Suite を閉じます。プロジェクトを保存するかどうかを尋ねるダイアログが表示されます。Yes をクリックします。保存ダイアログで、ファイルを upstream-proxy-config.burp と名付け、デフォルトの /home/labex/project ディレクトリに保存します。
まとめ
実験の完了おめでとうございます!
この実験では、Burp Suite でアップストリームプロキシサーバーを構成する基本的な方法を習得しました。以下の手順を実践しました。
- Upstream Proxy Servers 設定への移動方法。
- 新しいプロキシルールの追加方法。
- ワイルドカード (
*) を使用して、広範な宛先ホストマッチを定義する方法。 - アップストリームプロキシのホストとポートの指定方法。
- ルールを有効化し、トラフィックがリダイレクトされていることを確認するためにテストする方法。
このスキルは、複雑な環境でネットワークトラフィックを制御および操作する必要があるペネトレーションテスターやセキュリティ専門家にとって不可欠です。
