Burp Suiteでサイト診断

Linux

Burp Suiteは、PortSwigger社が開発したWEBアプリケーションの検査ツールです。

有料版 (Professional / Enterprise Edition) と、無料版 (Community Edition) があります。

インストール

以前はkaliにデフォルトでバンドルされていたみたいですが、現在はありませんのでインストールする必要があります。

私の環境はラズパイ版のkaliです。それ以外の環境のkaliにはデフォルトでバンドルされているかも知れません。kaliのサイトには解説ページが存在します。

ターミナルから以下のコマンドでインストールします。

install burp suite1

ストレージを483MB喰いますとの注意喚起があります。 ” y ” を入力します。

install burp suite2

以上でインストール完了です。

なお、インストール後は、 kaliメニュー ー 03WebApplicationAnalysisの頻用ツール欄に自動的に登録されてました。

Burp Suiteの起動

ターミナルで以下のコマンドで起動します。

起動画面の最初にアラートが出ました。

現有のJRE ( Java Runtime Environment ) がテスト不十分なので、何か問題が起こるかも知れないとのこと。

Burp Suiteは、JAVAベースで開発されたアプリケーションです。

jre alert

無料版 ( Community Edition ) の同意事項。

burpsuite ce

無料版の限界で、検査結果の保存は出来ないようです。(2回目以降の起動ではこの画面からスタートします)

” Next ” を選択。

burp suite atart settings 1

過去の設定を受け継ぐかどうか。こちらも無料版ではデフォルトの一択。(無料版では受け継げないようです)

” Start Burp ” を選択。

burp suite atart settings 2

やっと起動できました。初回起動時のみ上欄 ” Learn ” (=チュートリアル)のタブが開いています。

tutorial

チュートリアル

せっかくなので少しだけチュートリアルの画面を見てみます。

tutorial

選択肢は6つあります

色々と勉強になりますが、基本的には有料版への誘導コンテンツとなっています。

1. 左上:Getting started with Burp Suite

PortSwigger社のチュートリアルページが開きます。

tutorial1

2. 右上:Burp Suite – a guided video tour

こちらはユーザーインターフェースのYoutubeの解説動画(11分56秒)

tutorial2

3. 左中段:Burp Suite video tutorials

PortSwigger社のサイトの、詳しいチュートリアルページ。

tutorial3

4. 右中段:The Web Security Academy

PortSwigger社のサイトの、セキュリティアカデミー。

tutorial4

5. 左下:Burp Suite Support Center

PortSwigger社のサイトのサポートセンター

tutorial5

6. 右下:Burp Suite on twitter

X(旧ツイッター)フォロー

プロキシの設定

(参考)上段の ” Dashboard ” タブの画面です。

dashboard

まずはブラウザ(FireFox)に、Burp Suiteをプロキシとして設定します。

その結果、WEBサイト閲覧の際の、データの流れは下のように変更されます。(Burp Suiteが間に入ってデータ転送を仲介します)

Burp Suite側のプロキシ設定

上段の ” proxy ” タブを開きます。

prozy tab

その下の段の ” Proxy Settings ” タブをクリックして、下図の設定ダイアログを開きます。

proxy settings

右上欄の ” 127.0.0.1:8080 ” 段を選択し、 ” Edit ” をクリック。

proxy settings1

次のダイアログにて ” 8080 ” は他のプロキシツールと被る事が多いので別の数字に変える事が多いようです。

下図では28080に変えています。

しかしこれ、無料版では毎回Burp Suiteを起動する度に変更しなくてはならないので面倒です。
有料版でないと設定の保存が出来ないようです。(正確には保存出来てもそれが次回のセッションでは反映できません)

よってポート番号の設定は8080のデフォルトのままでもいいかも。その方が毎回設定する面倒がありません。(その代わり他のプロキシツールを使う際にはポート番号の被りに注意)

port

” OK ” をクリック。

proxy settings

ダイアログを閉じてBurp Suite側の設定終了です。

ブラウザ側のプロキシ設定

FireFoxの右上の ” 三 ” アイコンから、 ” Settings ” を選択します。

firefox settings

左欄 ” General ” を選択し、右欄を一番下までスクロールし、 ” Network Sttings ” 欄の ” Sttings… ” をクリック。

network settings

ダイアログの ” Configure Proxy Access to the Internet ” 欄の、 ” Manual proxy configuration ” を選択し、 “HTTP Proxy ” 欄に ” 127.0.0.1 ” を、Port欄に先程BurpSuite側で設定したポート番号と同じ番号を(下図の例では28080)を設定します。

Also use this proxy for HTTPSにはチェックをつけておきます。

proxy settings

この設定はブラウザ側に保存されます。つまり次回からは必ずプロキシとして ” Burp Suite ” を立ち上げないとWEBサイトに接続できなくなります。データ仲介者を立ち上げていないと、データが仲介されないので流れないからです。

” Burp Suite ” なしでの接続をしたい場合は、ここの設定を “No proxy ” に戻します。

WEBサイトへの接続

上記の設定で自分のラズパイ4Bに立てたWEBサイトに普通に接続できました。

raspberry pi
接続元:左のラズパイ5のFireFoxブラウザ、接続先:右のラズパイ4BのWEBサーバー

ただしこのサイトは暗号化されていない ” http:// ” です。 “https:// ” (SSL/TLSで暗号化された通信)ではありません。

apache2

Burp Suiteによるモニターができています。

burp suite dashboard

通信先のターゲットをクリックすると通信内容が表示されます。

target

Burp Suiteがデータ通信の仲介者となっているので、WEBサーバーとブラウザの間で交信されるデータは丸見えになります。

SSL/TLS暗号化サイト(https:// )への接続

普通にブラウザで、https://サイトに接続しようとするとうまく接続できません。

https

そこでProxy側のBurp SuiteにSSL/TLS通信のための証明書を発行してもらう必要があります。

証明書の発行と設定

Burp Suite側からの証明書発行

ブラウザから、 ” http://127.0.0.1:28080 ” にアクセスします。(ここの28080は上記でプロキシ用に設定した任意のポート番号です。)

ブラウザが自動的に ” https:// ” に変換してしまうことがあるので注意。その場合は強引にURL欄から再変更します。

右の ” CA Certificate ” をクリック。

CA Certificate

下図のように証明書 ” cacert.der ” がダウンロードされます。

cacert.der

ダウンロードされた証明書ファイルの場所はホームの ” Downloads ” ディレクトリの下です。

ブラウザへの証明書登録

FireFox右上の ” 三 ” アイコンから、 ” Settings ” を選択します。

firefox settings

出てきたダイアログの左欄から ” Privacy & Security ” を選択し、右欄の ” Certificates ” 段の右の ” View Certificates… ” をクリック。

privacy & security

これまでにブラウザが取得してきた証明書が並んでいます。

下段の ” Import… ” をクリック。

certificate manager

出てきたダイアログで、今回新たにダウンロードした証明書を指定します。

ホーム下の ” Downloads ” ディレクトリ内にある、 ” cacer.der ” がそれです。

次のダイアログでは、” Trust this CA to identify websites ” にチェック。

cacer.der

ブラウザに登録された証明書の確認

Certificate Manager ダイアログを下にスクロールしていきます。

Burp SuiteはPortSwigger社の製品なので、 ” PortSwigger CA ” と表示された証明書があります。これで無事に登録されていることが確認できました。

certificate manager

以上で設定終わりです。

以上で” https:// ” ページも接続できるようになり、Burp Suiteによるブラウザとサイト間の通信が傍受可能となります。

dashboard

まとめ

Burp Suiteには有料版と無料版があります。

有料版( = Burp Suite Professional ) :449ドル

さらにその上位にBurp Suite Enterprise ( 5,999ドル〜 ) が有りますがこれは省略。

一方、ZAP ( ZAPROXY ) は無料版のみです。

Burp SuiteとZAPの違いについて

同じようにプロキシとして機能して、WEBサイトの脆弱性を診断するツールですが、大まかな性能的には

のようです。

ZAPのサイトに機能の比較表があります。

結果のレポート機能

Burp Suite無料版は検査結果のレポート機能が貧弱です。(保存出来ません。多分)

一方ZAPは可能です。

情報量の多さ

Burp Suiteは検索の感度が低いが特異度は高い。つまり必要な情報を厳選して分かりやすく表示出来ますが、一方で収集漏れも発生しやすい。

ZAPはその逆で、得られる情報量は多いが、不必要な情報も混ざっており、結果の解釈が煩雑です 。

コメント

タイトルとURLをコピーしました