- Burp Suiteについて
- Burp Suiteのインストール
- Burp Suiteを起動する
- BurpのProxy機能
- Webブラウザのプロキシサーバ設定
- Burp Suite証明書のインポート
- 通信の書き換えの動作確認
Burp Suiteについて
Burp Suite は、Web アプリケーションのセキュリティを検査するための強力な統合プラットフォーム。プロキシ、スキャナ、リピーター、インターセプターなど多彩なツールが統合されており、手動ペンテストから自動脆弱性スキャンまで柔軟に対応できる。初心者からベテランまで、幅広いレベルのセキュリティテストに対応可能な点が最大の特徴。
今回は、macOS に Burt Suite Communication Edition をインストールして初歩的な動作確認までやってみる。

Burp Suiteのインストール
下記サイトから自分のPCに合うバージョンをインストールする(自分は2022.3をインストールした)
https://portswigger.net/burp/communitydownload

Burp Suiteを起動する
アプリケーションから Burt Suite Communication Edition を起動すると、最初から「Temporary project」が選択されているのでそのまま「Next」をクリック。

デフォルト設定の「Use Burp defaults」が選択されたままで、右下の「Start Burp」をクリック。

しばらくすると、無事に起動することができた。

BurpのProxy機能
Burp の Proxy 機能は、ブラウザとサーバの通信を中継し、HTTP/HTTPS リクエストを任意に確認・改変できる仕組みである。通信内容をその場で止めて解析したり、任意の値を書き換えて再送したりすることで、Web アプリの挙動を深く理解しながらテストを進められる点が特徴。
Burp Proxyを設定
Proxy Listenersの設定として、デフォルトの127.0.0.1:8080 を使用。Editをクリックしproxy listener画面にてBingingタブの設定をデフォルトの8080,「Bind to address:」項目はLoopback only設定のまま。
注:「Loopback only」とは、リスナーをローカルホスト(127.0.0.1)のみにバインドすることを意味する。こうすることで、次のような通信が制限され、セキュリティ上より安全になる
- 接続可能:同じパソコン上で動いているWebブラウザやアプリケーション。
- 接続不可:外部のNWや、同じNW上の他のホストからこのプロキシに接続して通信することはできない。
Webブラウザのプロキシサーバ設定
Webブラウザのプロキシ設定を管理する手間を削減するため、Firefoxの「FoxyProxy」拡張機能をインストールする。

FoxyProxy のプロキシを次のように設定する

しかし、この状態でWebサイト(例:https://www.yahoo.co.jp/)にアクセスすると、次のような警告画面が表示されてしまう。理由は、Webブラウザに Burp Suite の証明書がインポートされていないから。

警告画面が表示された原因
- FirefoxはHTTPSで
Yahoo!JAPANに接続しようとする
本来ならFirefox →(直接)→ YahooサーバへTLS(HTTPS)の暗号化通信が張られるはずである。 しかし、FoxyProxyにより”全ての通信は Burp(localhost:8080)に送れ” という設定になっている。 - Firefox の HTTPS リクエストは “まず
Burpへ” 送られる。つまりFirefox → Burp Proxy(localhost:8080) → Yahooサーバ - BurpはHTTPSを解析するため、Yahoo用の“偽装証明書”を動的に生成
- FirefoxはBurpが自動生成した”偽のYahoo証明書”を受け取る
- FirefoxはBurpが自動生成した”偽のYahoo証明書”を受け取る
FirefoxはBurpのCA証明書を信頼していない状態であるため、- その偽装証明書は「不正な署名の証明書」
- 「真正な認証局が発行したものではない」
- 「中間者攻撃の可能性あり」
と判断する。
- 結果、Firefoxが“接続は安全ではない”と警告表示
Burp Suite証明書のインポート
別のWebブラウザ(Chromeなど)にて、Burp Suiteの証明書をダウンロードするため、
http://127.0.0.1:8080にアクセス

右上の「CA Certificate」をクリックし証明書を保存し、その後、Firefoxの「設定」→「プライバシーとセキュリティ」画面にて、「証明書」項目の所に「証明書の表示」をクリック

「読み込む…」で、先程DLした Burp Suite の証明書を読み込ませて、ポップアップに表示されているチェックボックスにチェックを入れて「OK」を押す。

インストールできた場合、次のようにPortSwigger CAが証明書一覧に追加されるはず。

これで、先程アクセスする際警告画面が表示されるWebページに問題なくアクセスできるはず(体感的に普段より若干遅い)
通信の書き換えの動作確認
やられサイトのダウンロード
まず、ローカル環境に自由に診断できるやられサイトをダウンロード。
以下のサイトからjarファイルをダウンロードする
https://github.com/ankokuty/HakoniwaBadStore

「ダウンロード」にある「HakoniwaBadstore.jarをここからダウンロードしてください」
をDLし、専用のフォルダに保存しておくとよい。
やられサイトをローカルで動作させる
Burp Suiteの「Extender」タブ→「Add」でExtension typeは「Java」を選択、「Select file」をクリックし、先ほどDLした「Hakoniwa.BadStore.jar」ファイルを選択。
新たに追加された「BadStore」タブを選択し、左側の「Port」に使用していないポート番号を設定(「8528」)。
「Stopped」ボタンを押下し「Running」状態にする(http://127.0.0.1:8528)。

ブラウザからやられサイトにアクセス
http://localhost:8528/cgi-bin/badstore.cgi

HTTP通信の書き換え
「Proxy」タブの「Intercept」を選択し、「Intercept is on」をクリックして通信をキャプチャできる状態に。
