KATOエンジニヤリング開発日誌

「アウトプット無きエンジニアにインプットもチャンスも無い」の精神で書いています

Burp Suiteを利用して通信内容の解析と改ざんを行う準備

前回で脆弱性攻撃を体験するための環境を準備しました。

www.kato-eng.info

今回は脆弱性を探すためのツールを準備します。

Burp Suiteによる通信解析

はじめにBurp Suiteのインストールと設定を行います。

Burp Suite Community Editionをインストールする

下記に記載したサイトからBurp Suite Community Editionをダウンロード後、起動する。

※今回はMac OSX版をダウンロードしました

portswigger.net

起動後、下の画像のような画面が表示されるので「Temporary project」を選択し、「Next」をクリックする。

f:id:masayuki_kato:20180401143854p:plain

次に下の画像のような画面が表示されるので「Use Burp defaults」を選択して「Start Burp」をクリックする。

f:id:masayuki_kato:20180401144045p:plain

ポートの確認

Burp Suiteは初期設定では8080番ポートでlocalhost(127.0.0.1)からのみ接続を受け付ける状態で待ち受けが開始されるようになっています。

すでに他のプログラムで8080番ポートを使用している場合には下記のように「Proxyタブ -> Optionsタブ -> Proxy Listenersを編集」する必要があります。

f:id:masayuki_kato:20180401150059p:plain

使用しているポートを確かめる場合にはターミナル上で下記コマンドを実行すれば確認できます。

※確認する際は一度Burp Suiteを止めてから確認してください

badsns-master $lsof -i -P | grep "LISTEN"
com.docke 16427 masayuki_kato   18u  IPv4 0xc2b13d5df5aef24b      0t0  TCP *:10080 (LISTEN)
com.docke 16427 masayuki_kato   19u  IPv6 0xc2b13d5ddd6a03fb      0t0  TCP localhost:10080 (LISTEN)
studio    16560 masayuki_kato  193u  IPv4 0xc2b13d5ddec4b24b      0t0  TCP localhost:6943 (LISTEN)
studio    16560 masayuki_kato  269u  IPv4 0xc2b13d5de1f96ccb      0t0  TCP localhost:8700 (LISTEN)
studio    16560 masayuki_kato  415u  IPv4 0xc2b13d5df23048fb      0t0  TCP localhost:63343 (LISTEN)
adb       16728 masayuki_kato    8u  IPv4 0xc2b13d5df6b4fccb      0t0  TCP localhost:5037 (LISTEN)

出力結果の2列目が使用ポートなので、この列に8080番が無いことを確認しておきます。

Burp Suiteの設定

前述の通り、Burp Suiteはlocalhostからのみ接続を受け付けています。しかし今回はAndroidエミュレータを利用してBad SNS for Androidを動作させるので、通信がlocalhost以外から発生します。そのため、Burp Suiteの「Proxy Listeners」設定のInterfaceを下記の手順で変更します。

「Proxyタブ -> Optionsタブ -> Proxy Listeners」にある既存の設定「127.0.0.1:8080」をクリックし、「Edit」ボタンをクリックする。

f:id:masayuki_kato:20180401150210p:plain

「Bindingタブ -> Bind to address」を「All Interfaces」にして「OK」ボタンをクリックする。

f:id:masayuki_kato:20180401150440p:plain

同じネットワーク内の他のユーザから利用されてしまう旨の警告が表示されるので、「Yes」をクリックする。

f:id:masayuki_kato:20180401150717p:plain

「Proxyタブ -> Interceptタブ」にある「Intercept is on」をクリックし、「Intercept is off」に変更する。

f:id:masayuki_kato:20180401150927p:plain

Falcon Proxyの導入

Burp Suiteを利用してブラウザとサーバ間の通信を閲覧・改ざんするにはブラウザ・OSの設定を行いプロキシとしてlocalhostの8080番ポートを利用する状態する必要があります。

今回はChromeの拡張機能として「Falcon Proxy」を導入します。

※Chromeの設定を変更するのでChromeの機能として用意されている「新しいユーザの作成」を行ってから下記手順を実行すると後が楽です

まずはChromeウェブストアからFalcon Proxyをダウンロード、インストールする。

https://chrome.google.com/webstore/search/falcon-proxy?hl=ja

インストール後、アドレスバーの右に追加されたFalcon Proxyアイコンをクリックし、新しいプロキシ設定を追加する。

f:id:masayuki_kato:20180401152322p:plain

設定する項目は下記の通り。

  • プロキシアドレス
    • localhost
  • プロキシポート
    • 8080

f:id:masayuki_kato:20180401152636p:plain

設定が完了したら「新規作成」ボタンをクリックする。

その後、再度Falcon Proxyのアイコンをクリックし、「ディフォルト構成」の右側にある◎ボタンクリック、「プロキシは終了しました」の横にあるスイッチをクリックして「プロキシは実行しています」の状態にする。

f:id:masayuki_kato:20180401153135p:plain

動作確認

上記の設定が完了した状態で、Choromeから適当なサイトにアクセスし、Burp Suiteの「Proxyタブ -> HTTP historyタブ」にアクセスしたサイトのレコードが追加されていれば正しく設定されていることが確認できる。

適当なサイトにアクセスする

f:id:masayuki_kato:20180401153553p:plain

Burp Suiteにアクセスしたサイトのレコードが追加されている。

f:id:masayuki_kato:20180401153713p:plain