BurpSuiteFreeを使ってスマホの通信を見たいときに必要な手順を、簡単に書いてみました。
- BurpSuiteFree版のインストールと設定
- iPhoneとAndroidのプロキシ設定
- 証明書のインストール
以上の設定が終わると、スマホの通信をBurpSuite側で取得できます。
※たまにできない場合もあります。
設定手順を以下に書いていきます。
環境
- Windows 7 Pro
- java 8 (1.8.0_66)
- Burp Suite Free Edition v1.7.23
- Nexus 6P (Android 6.0)
- XperiaZ1 SOL23 (Android 4.2.2)
- iPhone6 (iOS 10.3.2)
- iPhone5S (iOS 9.2)
※BurpSuiteFreeは2017/08/08時点で1.7.26がリリースされていました。
BurpSuiteFree版のインストールと設定
BurpSuiteのFree版をダウンロードして起動します。
Download Burp Suite Free Edition_
https://portswigger.net/burp/freedownload/
※Javaをインストールしていない場合は別途インストールが必要です。
インストール後は下記の手順で起動しておきます。
- 起動画面で「Temporary project」にチェックが入っているのでそのまま次へ
- とりあえず「Use Burp defaults」のままで「Start Burp」で起動
起動後は下記の手順で設定しておきます。
- Proxyタブ内のInterceptタブにある、「Intercept is on」 ボタンをクリックして「Intercept is off」 にしておく
- Proxyタブ内のOptionsタブにある、「Proxy listeners」 の項目を下記のように設定しておく
※ Bind to port のところは8080に設定していますが、すでに使用している場合もあるので、任意のポート番号に変えてください。
OKを押したあとに、Runningのところにチェックが入っている状態にしておきます。
※チェックが入らない場合は、設定したポートを他のツールが使用している場合があります。
iPhoneとAndroidのプロキシ設定
BurpSuiteFreeを通って通信するようにスマホ側のプロキシ設定をします。
事前に必要な準備をしておきます。
- BurpSuiteFreeをインストールしたPCのIPアドレスを取得しておく
- 上記PCと通信を取得したいスマホを、同じネットワークのWi-Fiにつなげておく
端末側の設定
iPhone端末の設定
- iPhoneの「設定>Wi-Fi」から、PCと同じネットワークのWi-Fiをタップ
- 下のほうにある「HTTPプロキシ」で「手動」を選択して、下記を設定後に保存
サーバ → PCのIPアドレス
ポート → BurpSuiteFree側で設定したポート番号
Android端末の設定
- Androidの「設定>Wi-Fi」から、PCと同じネットワークのWi-Fiを長押しタップ
- 「ネットワークを変更>詳細オプション」をタップして、「プロキシ」を「設定しない」から「手動」に変更して、下記を設定後に保存
プロキシホスト名 → PCのIPアドレス
プロキシポート → BurpSuiteFree側で設定したポート番号
※Nexus 6P(Android 6.0)とXperiaZ1 SOL23(Android 4.2.2)で確認したところ、同じ手順でできました。
証明書の設定
以上の設定で、端末の通信がBurpSuiteFreeを通るようになりますが、
そのままだと証明書エラーが出ることがよくあります。
BurpSuiteFreeの証明書を端末にインストールすることで、証明書エラーを回避することができます。
iPhone端末に証明書をインストール
- BurpSuiteFreeと端末のプロキシ設定が完了していて、通信が取れる状態でSafariから下記URLにアクセス
- 上記の画面が表示されるので、右上にある「CA Certificate」をタップして証明書をインストール
- プロファイルのインストール画面が表示されるので、インストールをタップして完了する
Android端末に証明書をインストール
- BurpSuiteFreeと端末のプロキシ設定が完了していて、通信が取れる状態でChromeから下記URLにアクセス
- iPhone端末の場合と同じく、BurpSuiteFreeの画面が表示されるので、右上にある「CA Certificate」をタップして証明書を取得
- Android端末の場合、ダウンロードした「cacert.der」ファイルの拡張子を「.crt」に変更する必要があるので、変更後に端末上でファイルをタップする
- 変更後のファイルをタップすると、証明書の名前を指定するポップアップが出るので、任意の名前で登録
完了
BurpSuiteFreenとスマホ側の設定が完了したら、スマホのブラウザから任意のサイトにアクセスしてみます。
証明書エラーにならずに、Proxyタブ内にあるHTTP historyタブに通信データが入ってきていれば完了です!
忘れずに!
スマホ側のWi-Fi設定は、作業が終わったらちゃんと解除しておくことを忘れずに!