Burp Suiteをローカルプロキシに設定して、HTTPS通信をキャプチャする方法
はじめに
kali linux上でBurp Suiteをローカルプロキシに設定し、HTTPS通信をキャプチャする方法。一部手こずった所があったので備忘録として残す。
手順①(Burp Suiteの起動~ブラウザ設定)
kali linux左メニューよりBurp Suiteを起動。「Temporary project」→「Use Burp defaults」を選択後、「Start Burp」でBurp開始。
Burp Suiteのデフォルトのポート番号は8080となっている。「Proxy」→「Options」タブで設定が確認可能。変更したい場合は「Edit」から変更できる。
続いてブラウザのプロキシをBurp Suite(IP:127[.]0.0.1、ポート:8080)に設定する。
ブラウザ右上の「Open Menu(≡)」→「Preferences(歯車マーク)」を選択後、最下部までスクロールしNetwork Proxyの「Settings」を選択し、以下のように設定。「OK」をクリックし、設定を反映して終了。
(参考)FoxyProxyの導入・設定方法
上記でも問題なく設定できるが、プロキシ設定の変更が面倒。そのため、プロキシの切り替えを容易に行える「FoxyProxy(ブラウザの拡張機能)」が推奨。導入方法は以下の通り。
「Open Menu(≡)」→「Add-ons」→「Find more add-ons」を選択後、"FoxyProxy"と検索。「FoxyProxy Standard」を選択し、「+ Add to Firefox」。ちゃんと入ればブラウザ上部に以下のようなアイコンが表示される。
続いて、Burp Suiteをプロキシに設定する。↑↑のアイコンを選択後、「Options」→「Add」をクリック。以下の様に入力し、「Save」。
FoxyProxyのアイコンをクリックすると、プロキシが追加されているので、選択。以降は簡単にプロキシ設定を切り替えられる。
手順②(Burp Suite証明書のインストール)
プロキシをBurp Suiteに設定した状態でgoogle(https://www.google.com)にアクセスしようとすると、ブラウザにBurp Suiteの証明書がインポートされていないため、以下のエラーが表示される。
まず、Burp Suiteの証明書をダウンロードする。プロキシに設定したIP:ポート番号(今回の場合は127[.]0.0.1:8080)を検索後、「CA Certificate」を選択し、証明書を保存。
続いて、ダウンロードした 証明書をブラウザへインポート。
「Open Menu(≡)」→「Preferences(歯車マーク)」をクリック。左メニューから「Privacy & Security」を選択して最下部までスクロール。「View Certificates」をクリック。「Import」より、ダウンロードした証明書を選択。「Trust this CA to identify websites」にチェックを入れ、「OK」。
インポートされたことを確認。
手順③(security.tls.version.max値の変更)
手順①、②が終われば完了だと思っていたが、googleにアクセスしようとしてもエラーがでたまま。(ここでかなり手こずる)
以下の設定を行ったら、googleにアクセスでき、Burp Suiteで通信をキャプチャできた。
ブラウザで「about:config」を検索後、検索窓に「tls」を入力。「security.tls.version.max」の値を"3"に変更(デフォルトは"4")。
参考
security.tls.version.min/maxはブラウザが対応するTLSのバージョンの最小(min)と最大(max)の値。
Security.tls.version.* - MozillaZine Knowledge Base