Burp Suiteは、PortSwigger社が開発したWEBアプリケーションの検査ツールです。
有料版 (Professional / Enterprise Edition) と、無料版 (Community Edition) があります。
インストール
以前はkaliにデフォルトでバンドルされていたみたいですが、現在はありませんのでインストールする必要があります。
私の環境はラズパイ版のkaliです。それ以外の環境のkaliにはデフォルトでバンドルされているかも知れません。kaliのサイトには解説ページが存在します。
ターミナルから以下のコマンドでインストールします。
sudo apt install burpsuite
ストレージを483MB喰いますとの注意喚起があります。 ” y ” を入力します。
以上でインストール完了です。
なお、インストール後は、 kaliメニュー ー 03WebApplicationAnalysisの頻用ツール欄に自動的に登録されてました。
Burp Suiteの起動
ターミナルで以下のコマンドで起動します。
burpsuite
起動画面の最初にアラートが出ました。
現有のJRE ( Java Runtime Environment ) がテスト不十分なので、何か問題が起こるかも知れないとのこと。
Burp Suiteは、JAVAベースで開発されたアプリケーションです。
無料版 ( Community Edition ) の同意事項。
無料版の限界で、検査結果の保存は出来ないようです。(2回目以降の起動ではこの画面からスタートします)
” Next ” を選択。
過去の設定を受け継ぐかどうか。こちらも無料版ではデフォルトの一択。(無料版では受け継げないようです)
” Start Burp ” を選択。
やっと起動できました。初回起動時のみ上欄 ” Learn ” (=チュートリアル)のタブが開いています。
チュートリアル
せっかくなので少しだけチュートリアルの画面を見てみます。
選択肢は6つあります
色々と勉強になりますが、基本的には有料版への誘導コンテンツとなっています。
1. 左上:Getting started with Burp Suite
PortSwigger社のチュートリアルページが開きます。
2. 右上:Burp Suite – a guided video tour
こちらはユーザーインターフェースのYoutubeの解説動画(11分56秒)
3. 左中段:Burp Suite video tutorials
PortSwigger社のサイトの、詳しいチュートリアルページ。
4. 右中段:The Web Security Academy
PortSwigger社のサイトの、セキュリティアカデミー。
5. 左下:Burp Suite Support Center
PortSwigger社のサイトのサポートセンター
6. 右下:Burp Suite on twitter
X(旧ツイッター)フォロー
プロキシの設定
(参考)上段の ” Dashboard ” タブの画面です。
まずはブラウザ(FireFox)に、Burp Suiteをプロキシとして設定します。
その結果、WEBサイト閲覧の際の、データの流れは下のように変更されます。(Burp Suiteが間に入ってデータ転送を仲介します)
- 設定前) ブラウザ ↔️ WEBサイト
- 設定後) ブラウザ ↔️ BurpSuite ↔️ WEBサイト
Burp Suite側のプロキシ設定
上段の ” proxy ” タブを開きます。
その下の段の ” Proxy Settings ” タブをクリックして、下図の設定ダイアログを開きます。
右上欄の ” 127.0.0.1:8080 ” 段を選択し、 ” Edit ” をクリック。
次のダイアログにて ” 8080 ” は他のプロキシツールと被る事が多いので別の数字に変える事が多いようです。
下図では28080に変えています。
しかしこれ、無料版では毎回Burp Suiteを起動する度に変更しなくてはならないので面倒です。
有料版でないと設定の保存が出来ないようです。(正確には保存出来てもそれが次回のセッションでは反映できません)
よってポート番号の設定は8080のデフォルトのままでもいいかも知れません。その方が毎回設定する面倒がありません。(その代わり他のプロキシツールを使う際にはポート番号の被りに注意)
” OK ” をクリック。
ダイアログを閉じてBurp Suite側の設定終了です。
ブラウザ側のプロキシ設定
FireFoxの右上の ” 三 ” アイコンから、 ” Settings ” を選択します。
左欄 ” General ” を選択し、右欄を一番下までスクロールし、 ” Network Sttings ” 欄の ” Sttings… ” をクリック。
ダイアログの ” Configure Proxy Access to the Internet ” 欄の、 ” Manual proxy configuration ” を選択し、 “HTTP Proxy ” 欄に ” 127.0.0.1 ” を、Port欄に先程BurpSuite側で設定したポート番号と同じ番号を(下図の例では28080)を設定します。
Also use this proxy for HTTPSにはチェックをつけておきます。
この設定はブラウザ側に保存されます。つまり次回からは必ずプロキシとして ” Burp Suite ” を立ち上げないとWEBサイトに接続できなくなります。データ仲介者を立ち上げていないと、データが仲介されないので流れないからです。
” Burp Suite ” なしでの接続をしたい場合は、ここの設定を “No proxy ” に戻します。
WEBサイトへの接続
上記の設定で自分のラズパイ4Bに立てたWEBサイトに普通に接続できました。
ただしこのサイトは暗号化されていない ” http:// ” です。 “https:// ” (SSL/TLSで暗号化された通信)ではありません。
Burp Suiteによるモニターができています。
通信先のターゲットをクリックすると通信内容が表示されます。
- 左欄(Request)がブラウザからサーバーへの通信内容
- 右欄(Responce)がサーバーからブラウザへの通信内容
Burp Suiteがデータ通信の仲介者となっているので、WEBサーバーとブラウザの間で交信されるデータは丸見えになります。
SSL/TLS暗号化サイト(https:// )への接続
普通にブラウザで、https://サイトに接続しようとするとうまく接続できません。
そこでProxy側のBurp SuiteにSSL/TLS通信のための証明書を発行してもらう必要があります。
証明書の発行と設定
Burp Suite側からの証明書発行
ブラウザから、 ” http://127.0.0.1:28080 ” にアクセスします。(ここの28080は上記でプロキシ用に設定した任意のポート番号です。)
ブラウザが自動的に ” https:// ” に変換してしまうことがあるので注意。その場合は強引にURL欄から再変更します。
右の ” CA Certificate ” をクリック。
下図のように証明書 ” cacert.der ” がダウンロードされます。
ダウンロードされた証明書ファイルの場所はホームの ” Downloads ” ディレクトリの下です。
ブラウザへの証明書登録
FireFox右上の ” 三 ” アイコンから、 ” Settings ” を選択します。
出てきたダイアログの左欄から ” Privacy & Security ” を選択し、右欄の ” Certificates ” 段の右の ” View Certificates… ” をクリック。
これまでにブラウザが取得してきた証明書が並んでいます。
下段の ” Import… ” をクリック。
出てきたダイアログで、今回新たにダウンロードした証明書を指定します。
ホーム下の ” Downloads ” ディレクトリ内にある、 ” cacer.der ” がそれです。
次のダイアログでは、” Trust this CA to identify websites ” にチェック。
ブラウザに登録された証明書の確認
Certificate Manager ダイアログを下にスクロールしていきます。
Burp SuiteはPortSwigger社の製品なので、 ” PortSwigger CA ” と表示された証明書があります。これで無事に登録されていることが確認できました。
以上で設定終わりです。
以上で” https:// ” ページも接続できるようになり、Burp Suiteによるブラウザとサイト間の通信が傍受可能となります。
まとめ
Burp Suiteには有料版と無料版があります。
有料版( = Burp Suite Professional ) :449ドル
さらにその上位にBurp Suite Enterprise ( 5,999ドル〜 ) が有りますがこれは省略。
一方、ZAP ( ZAPROXY ) は無料版のみです。
Burp SuiteとZAPの違いについて
同じようにプロキシとして機能して、WEBサイトの脆弱性を診断するツールですが、大まかな性能的には
Burp Suite有料版 > ZAP > Burp Suite無料版
のようです。
ZAPのサイトに機能の比較表があります。
結果のレポート機能
Burp Suite無料版は検査結果のレポート機能が貧弱です。(保存出来ません。多分)
一方ZAPは可能です。
情報量の多さ
Burp Suiteは検索の感度が低いが特異度は高い。つまり必要な情報を厳選して分かりやすく表示出来ますが、一方で収集漏れも発生しやすい。
ZAPはその逆で、得られる情報量は多いが、不必要な情報も混ざっており、結果の解釈が煩雑です 。
コメント