備忘録 (BurpSuite編)
ひとまず書くことを目的に備忘録としてアウトプットを書くー
いいなと思ったことを実際にやってみた系の内容を
備忘録として残していくことで外部記憶的にしようと思ってます!
では、最初は「Burp Suite」について書く。
ググればいくらでも出てくるけど、備忘録だし問題ない・・・はず。
間違っていたら訂正いただけるとありがたいですー
BurpSuiteとは
PortSwigger社が開発しているWeb脆弱性スキャナー。
ローカルプロキシとして動作させることで、PCとwebサイト間の通信内容を
取得して改変したりすることが可能となる。
有償ソフトだが、Commynity Editionであれば、無料で利用できます。
脆弱性スキャンは有償版では実施してくれる。
ほかの脆弱性診断ツールよりも比較的安価($399.00 per user per year)なため、
脆弱性診断士に人気が高い・・・らしい。
日本にもBurp Suiteのコミュニティがあるようで、気になる方は、以下を参照してみるといいと思いますー
BurpSuiteのインストール
[次へ]連打でOKだが備忘録のためイメージを追加する。
最初にサイトからBurpSuiteをダウンロードする。
PortSwigger社のトップページからダウンロードをクリック。
Community Editionのダウンロード画面になるので、ダウンロードをクリック。
ダウンロードしたファイルを起動する。
ユーザアカウント制限が起動するが、[ はい ]を選択。
インストール画面が出てくるので、[ Next > ]をクリック。
インストール先を聞かれるので、変更したい場合は任意の場所を選択して、[ Next > ]をクリック。
ここでは、デフォルトで[ Next > ]をクリックしています。
スタートメニューにフォルダなどを追加するか確認されるので、不要な場合は、チェックボックスを外して[ Next > ]をクリック。
ここでは、デフォルトで[ Next > ]をクリックしています。
しばらくすると、インストールが完了するので、[ Finish ]をクリック。
BurpSuiteのセットアップ
BurpSuiteを起動すると、デフォルトでローカルプロキシとして動作するがhttpsのサイトを閲覧する際に証明書エラーが出るので、BurpSuiteの証明書をインストールする。
まず、BurpSuiteを通常通り起動する。
Community Editionでは、機能制限がされているので、Temporary project以外の選択肢がないので、そのまま[ Next ]をクリック。
初回起動なので、コンフィグファイルなどはないと思うので、そのまま[ Start Burp ]をクリック。
デフォルトでは、「127.0.0.1:8080」がローカルプロキシとして動作しているはずだが、念のため[ Proxy ]タブ内の[ Option ]タブを選択し、Proxy Listenersが「127.0.0.1:8080」になっていることを確認する。
次にブラウザ側でBurpのローカルプロキシを経由するように設定するが、プロキシ設定をコロコロ変更するのが面倒なので、ブラウザアドオンを利用する。
ここでは、徳丸本でも紹介されていたFirefoxの[ FoxyProxy Standard ]で説明する。
Firefoxに[ FoxyProxy Standard ]をインストールし、ブラウザ右上のアドオンをクリックし、Options画面へ遷移する。
次に、画面左の[ Add ]をクリック。
プロキシの情報を入力する。
ここでは、以下の内容で入力し[ Save ]ボタンをクリックした。
タイトル:[ burp ]
プロキシのアドレス:[ 127.0.0.1 ]
プロキシのポート:[ 8080 ]
プロキシ設定が追加されたら、次に追加したプロキシを経由するように、FoxyProxyのアイコンから[ Use proxy burp for all URLs (ignore patterns) ]を選択する。
ここまで設定出来たら、Firefoxの通信はBurpを経由するようになるので、Firefoxのアドレスバーに[ burp/ ]を入力して画面遷移する。
画面右の[ CA Certificate ]をクリックして、証明書をダウンロードする。
ダウンロードした証明書をブラウザに適用するため、Firefoxの画面右の[ 三 ] から[ オプション ]をクリックする。
オプション画面の左側の[ プライバシーとセキュリティ ]をクリックする。
[ プライバシーとセキュリティ ]画面の一番下の[ 証明書を表示 ]ボタンをクリックする。
証明書の一覧が表示されるので、[ 認証局証明書 ]タブの[ インポート ]ボタンをクリックする。
先ほどダウンロードした証明書を選択して、[ 開く ]ボタンをクリックする。
[ 証明書のインポート ]ポップアップが表示されるので、チェックボックスを両方選択し[ OK ]ボタンをクリックする。
インポートが完了すると、認証局証明書に、「PostSwigger CA」が表示される。
以上で証明書のインストールが完了したため、httpsサイトを閲覧しても警告が表示されないことを確認する。
Burpが通信を横取りする場合があるので、その場合はBurp画面の[ Proxy ]タブ内の[ Intercept ]タブの [ Intercept is on ]ボタンをクリックして、横取りを無効にする。
すると正常に通信が可能になる。
ちなみに、証明書をインストールしていない状態で、httpsサイトを閲覧すると以下のような画面が表示される。
[ エラー内容 ]ボタンをクリックして、[ 例外を追加 ]ボタンから例外を追加することで一応は画面が表示できる。
BurpSuite が使える環境を整備する
ひとまずBurpSuiteの操作に慣れるためにも使ってみるのが一番と思う。
というわけでググるとBurpSuite単体でも、脆弱な診断対象サーバを作ることができるツールを作っている方がいらっしゃるようで、それを使って準備していく。
利用するのは、「箱庭BadStore」!
GitHub - ankokuty/HakoniwaBadStore: 箱庭BadStore
GitHubの箱庭BadStoreの利用方法を見ながら手を動かす。
まずは、「HakoniwaBadStore.jar」をダウンロードする。
ダウンロードしたjarファイルを手順に従いBurpに適用する。
まず[ Extender ]タブ内の[ Extensions ]タブの[ Add ]ボタンをクリックする。
拡張機能用の選択画面が表示されるので、[ Extension Details ]の[ Select file ... ]をクリックする。
ダウンロードしたjarファイルを選択し、[ 開く ]ボタンをクリックする。
正常に適用されたメッセージが表示されるので、[ 閉じる ]ボタンをクリックする。
正常に完了していると、新しく[ BadStore ]タブが表示するのでクリックする。
[ BadStore ]タブ内の[ Stoped ]ボタンをクリックして、起動する。
(必要に応じてポート番号を変更する。)
指定したポート( ここでは8528 )にアクセスしBadStoreが起動することを確認する。
次に、ターゲットを指定する。
この処理を実施することで、別のサイトに誤って攻撃しないように注意することができる。
まず[ Target ]タブ内の[ Scope ]タブの[ Add ]ボタンをクリックする。
箱庭BadStoreのアドレス( ここでは[ localhost:8528 ]を指定 )を入力して、[ OK ]ボタンをクリックする。
ヒストリーと呼ばれるburpを経由した通信履歴一覧の表示をターゲットに指定したサイトのみにするか確認されるので、[ Yes ]をクリックする。
ちなみに、上記内容は後からでも以下の項目( [ Proxy ]タブ内の[ Options ]タブの一番下 )で変更できるためどちらでも問題ないです。
必要に応じて、[ Proxy ]タブ内の[ Options ]タブの真ん中ぐらいにある[ Intercept Server Responses ]のチェックボックスをオンにする。
上記設定を実施後に、BurpSuiteのサイトをもう一度Burp経由で閲覧してみる。
Burp画面の[ Proxy ]タブ内の[ HTTP history ]タブに、ターゲット以外の通信が記録されなくなる。
まとめ
以上の作業で脆弱性診断対象のサイトと脆弱性診断ツールの準備ができてので、Burpを使って脆弱性を確認する準備が完了した。
起動したBadStoreの脆弱性については、Manualに記載されているようなので
なぞって練習して、どんどんパワーアップを図るぞー。
参考サイト
脆弱性診断練習の定番「BadStore.net」がBurp Suiteの拡張として帰ってきた | Webセキュリティの小部屋