HEX-0xFF_255’s blog

備忘録ですー。セキュリティの内容も書くかもしれません

備忘録 (BurpSuite編)

ひとまず書くことを目的に備忘録としてアウトプットを書くー

いいなと思ったことを実際にやってみた系の内容を

備忘録として残していくことで外部記憶的にしようと思ってます!

 

では、最初は「Burp Suite」について書く。

ググればいくらでも出てくるけど、備忘録だし問題ない・・・はず。

間違っていたら訂正いただけるとありがたいですー

 

  

BurpSuiteとは

PortSwigger社が開発しているWeb脆弱性スキャナー。

portswigger.net

ローカルプロキシとして動作させることで、PCとwebサイト間の通信内容を

取得して改変したりすることが可能となる。

有償ソフトだが、Commynity Editionであれば、無料で利用できます。

 

脆弱性スキャンは有償版では実施してくれる。

ほかの脆弱性診断ツールよりも比較的安価($399.00 per user per year)なため、

脆弱性診断士に人気が高い・・・らしい。

 

日本にもBurp Suiteのコミュニティがあるようで、気になる方は、以下を参照してみるといいと思いますー

www.slideshare.net

 

BurpSuiteのインストール

[次へ]連打でOKだが備忘録のためイメージを追加する。

最初にサイトからBurpSuiteをダウンロードする。

PortSwigger社のトップページからダウンロードをクリック。

f:id:HEX-0xFF_255:20190117211922p:plain

 Community Editionのダウンロード画面になるので、ダウンロードをクリック。

f:id:HEX-0xFF_255:20190117211917p:plain

ダウンロードしたファイルを起動する。

ユーザアカウント制限が起動するが、[ はい ]を選択。

f:id:HEX-0xFF_255:20190117211914p:plain

インストール画面が出てくるので、[ Next > ]をクリック。

f:id:HEX-0xFF_255:20190117211911p:plain

インストール先を聞かれるので、変更したい場合は任意の場所を選択して、[ Next > ]をクリック。

ここでは、デフォルトで[ Next > ]をクリックしています。

f:id:HEX-0xFF_255:20190117211908p:plain

スタートメニューにフォルダなどを追加するか確認されるので、不要な場合は、チェックボックスを外して[ Next > ]をクリック。

ここでは、デフォルトで[ Next > ]をクリックしています。

f:id:HEX-0xFF_255:20190117212058p:plain

しばらくすると、インストールが完了するので、[ Finish ]をクリック。

f:id:HEX-0xFF_255:20190117212054p:plain

 

BurpSuiteのセットアップ

BurpSuiteを起動すると、デフォルトでローカルプロキシとして動作するがhttpsのサイトを閲覧する際に証明書エラーが出るので、BurpSuiteの証明書をインストールする。

まず、BurpSuiteを通常通り起動する。

f:id:HEX-0xFF_255:20190117212049j:plain

Community Editionでは、機能制限がされているので、Temporary project以外の選択肢がないので、そのまま[ Next ]をクリック。

f:id:HEX-0xFF_255:20190117212046p:plain

初回起動なので、コンフィグファイルなどはないと思うので、そのまま[ Start Burp ]をクリック。

f:id:HEX-0xFF_255:20190117212042p:plain

デフォルトでは、「127.0.0.1:8080」がローカルプロキシとして動作しているはずだが、念のため[ Proxy ]タブ内の[ Option ]タブを選択し、Proxy Listenersが「127.0.0.1:8080」になっていることを確認する。

f:id:HEX-0xFF_255:20190117212347p:plain

次にブラウザ側でBurpのローカルプロキシを経由するように設定するが、プロキシ設定をコロコロ変更するのが面倒なので、ブラウザアドオンを利用する。

ここでは、徳丸本でも紹介されていたFirefoxの[ FoxyProxy Standard ]で説明する。

Firefoxに[ FoxyProxy Standard ]をインストールし、ブラウザ右上のアドオンをクリックし、Options画面へ遷移する。

f:id:HEX-0xFF_255:20190117212357p:plain

次に、画面左の[ Add ]をクリック。

f:id:HEX-0xFF_255:20190117212354p:plain

プロキシの情報を入力する。

ここでは、以下の内容で入力し[ Save ]ボタンをクリックした。

タイトル:[ burp ]

プロキシのアドレス:[ 127.0.0.1 ]

プロキシのポート:[ 8080 ]

f:id:HEX-0xFF_255:20190117212350p:plain

プロキシ設定が追加されたら、次に追加したプロキシを経由するように、FoxyProxyのアイコンから[ Use proxy burp for all URLs (ignore patterns) ]を選択する。

f:id:HEX-0xFF_255:20190117212343p:plain

ここまで設定出来たら、Firefoxの通信はBurpを経由するようになるので、Firefoxのアドレスバーに[ burp/ ]を入力して画面遷移する。

f:id:HEX-0xFF_255:20190117220106p:plain

 画面右の[ CA Certificate ]をクリックして、証明書をダウンロードする。

f:id:HEX-0xFF_255:20190117220102p:plain

ダウンロードした証明書をブラウザに適用するため、Firefoxの画面右の[ 三 ] から[ オプション ]をクリックする。

f:id:HEX-0xFF_255:20190117220058p:plain

オプション画面の左側の[ プライバシーとセキュリティ ]をクリックする。

f:id:HEX-0xFF_255:20190117220055p:plain

[ プライバシーとセキュリティ ]画面の一番下の[ 証明書を表示 ]ボタンをクリックする。

f:id:HEX-0xFF_255:20190117220051p:plain

証明書の一覧が表示されるので、[ 認証局証明書 ]タブの[ インポート ]ボタンをクリックする。

f:id:HEX-0xFF_255:20190117220414p:plain

先ほどダウンロードした証明書を選択して、[ 開く ]ボタンをクリックする。

f:id:HEX-0xFF_255:20190117220407p:plain

[ 証明書のインポート ]ポップアップが表示されるので、チェックボックスを両方選択し[ OK ]ボタンをクリックする。

f:id:HEX-0xFF_255:20190117220403p:plain

 

インポートが完了すると、認証局証明書に、「PostSwigger CA」が表示される。

f:id:HEX-0xFF_255:20190117220411j:plain

以上で証明書のインストールが完了したため、httpsサイトを閲覧しても警告が表示されないことを確認する。

f:id:HEX-0xFF_255:20190117220359j:plain

Burpが通信を横取りする場合があるので、その場合はBurp画面の[ Proxy ]タブ内の[ Intercept ]タブの [ Intercept is on ]ボタンをクリックして、横取りを無効にする。

f:id:HEX-0xFF_255:20190117220612p:plain

すると正常に通信が可能になる。

f:id:HEX-0xFF_255:20190117220609j:plain

 

ちなみに、証明書をインストールしていない状態で、httpsサイトを閲覧すると以下のような画面が表示される。

f:id:HEX-0xFF_255:20190117222214j:plain

[ エラー内容 ]ボタンをクリックして、[ 例外を追加 ]ボタンから例外を追加することで一応は画面が表示できる。

f:id:HEX-0xFF_255:20190117222211j:plain


 

BurpSuite が使える環境を整備する

ひとまずBurpSuiteの操作に慣れるためにも使ってみるのが一番と思う。

 

というわけでググるとBurpSuite単体でも、脆弱な診断対象サーバを作ることができるツールを作っている方がいらっしゃるようで、それを使って準備していく。

 

利用するのは、「箱庭BadStore」!

GitHub - ankokuty/HakoniwaBadStore: 箱庭BadStore

 

GitHubの箱庭BadStoreの利用方法を見ながら手を動かす。

まずは、「HakoniwaBadStore.jar」をダウンロードする。

f:id:HEX-0xFF_255:20190117223558p:plain

f:id:HEX-0xFF_255:20190117223553p:plain

ダウンロードしたjarファイルを手順に従いBurpに適用する。

まず[ Extender ]タブ内の[ Extensions ]タブの[ Add ]ボタンをクリックする。

f:id:HEX-0xFF_255:20190117223548p:plain

拡張機能用の選択画面が表示されるので、[ Extension Details ]の[ Select file ... ]をクリックする。

f:id:HEX-0xFF_255:20190117223544p:plain

ダウンロードしたjarファイルを選択し、[ 開く ]ボタンをクリックする。

f:id:HEX-0xFF_255:20190117223540p:plain

正常に適用されたメッセージが表示されるので、[ 閉じる ]ボタンをクリックする。

f:id:HEX-0xFF_255:20190117223718p:plain

正常に完了していると、新しく[ BadStore ]タブが表示するのでクリックする。

f:id:HEX-0xFF_255:20190117223715p:plain

[ BadStore ]タブ内の[ Stoped ]ボタンをクリックして、起動する。

(必要に応じてポート番号を変更する。)

f:id:HEX-0xFF_255:20190117223712p:plain

指定したポート( ここでは8528 )にアクセスしBadStoreが起動することを確認する。

f:id:HEX-0xFF_255:20190117231508j:plain

次に、ターゲットを指定する。

この処理を実施することで、別のサイトに誤って攻撃しないように注意することができる。

まず[ Target ]タブ内の[ Scope ]タブの[ Add ]ボタンをクリックする。

f:id:HEX-0xFF_255:20190117224616p:plain

箱庭BadStoreのアドレス( ここでは[ localhost:8528 ]を指定 )を入力して、[ OK ]ボタンをクリックする。

f:id:HEX-0xFF_255:20190117224612p:plain

ヒストリーと呼ばれるburpを経由した通信履歴一覧の表示をターゲットに指定したサイトのみにするか確認されるので、[ Yes ]をクリックする。

f:id:HEX-0xFF_255:20190117224608p:plain

ちなみに、上記内容は後からでも以下の項目( [ Proxy ]タブ内の[ Options ]タブの一番下 )で変更できるためどちらでも問題ないです。

f:id:HEX-0xFF_255:20190117224604p:plain

必要に応じて、[ Proxy ]タブ内の[ Options ]タブの真ん中ぐらいにある[ Intercept Server Responses ]のチェックボックスをオンにする。

f:id:HEX-0xFF_255:20190117224559p:plain

上記設定を実施後に、BurpSuiteのサイトをもう一度Burp経由で閲覧してみる。

f:id:HEX-0xFF_255:20190117224720p:plain

f:id:HEX-0xFF_255:20190117224714j:plain

Burp画面の[ Proxy ]タブ内の[ HTTP history ]タブに、ターゲット以外の通信が記録されなくなる。

f:id:HEX-0xFF_255:20190117224709p:plain

 

まとめ

以上の作業で脆弱性診断対象のサイトと脆弱性診断ツールの準備ができてので、Burpを使って脆弱性を確認する準備が完了した。

起動したBadStoreの脆弱性については、Manualに記載されているようなので

なぞって練習して、どんどんパワーアップを図るぞー。

f:id:HEX-0xFF_255:20190117224705p:plain

f:id:HEX-0xFF_255:20190117224701j:plain
 

 

参考サイト

脆弱性診断練習の定番「BadStore.net」がBurp Suiteの拡張として帰ってきた | Webセキュリティの小部屋

Burp Suite Japan LT Carnivalイベントレポート