SlideShare a Scribd company logo
1 of 26
Download to read offline
Burp Suiteを使って
iPhoneアプリを診断した時に
困ったことと、解決方法
Burp Suite Japan LT Carnival
自己紹介
名前 桃原 裕太 / とうばる ゆうた
所属 株式会社 シーエー・アドバンス 技術統括本部
経歴 前職
 ・ECサイト等の開発
株式会社 シーエー・アドバンス
 ・社内ツールの開発
 ・脆弱性診断の業務に携わって約4年
業務 Webアプリケーション脆弱性診断
 ・PCブラウザ向けアプリ
 ・SPブラウザ向けアプリ
 ・Androidアプリ
 ・iOSアプリ
2/26
本日のテーマについてざっくり解説
❏ 困ったこと
❏ Burp Suite で iPhone アプリを診断した時に、
特定のドメインだけ通信が取得できない状態に…
❏ 解決方法
❏ Macの機能を使って解決できました!
❏ インターネット共有
❏ パケットフィルタ機能
3/26
通常は下記のように診断しています。
Android/iPhoneの診断
Burp Suite:8080
社内NW
Burp Suite上で
HTTPリクエスト/レスポンスを確
認、改竄できる
4/26
通常は下記のように診断しています。(HTTPリクエスト)
Android/iPhoneの診断
Burp Suite:8080
社内NW
Burp Suite上で
HTTPリクエスト
の確認や、改竄ができる
5/26
通常は下記のように診断しています。(HTTPレスポンス)
Android/iPhoneの診断
Burp Suite:8080
社内NW
Burp Suite上で
HTTPレスポンス
の確認や、改竄ができる
6/26
Androidアプリの診断(問題発生前)
いつものようにゲームアプリを診断していました。(SSL通信+Messagepack)
※特に問題なく進む…
POST /api HTTP/1.1
Host: stg.hoge.com
Content-Type: application/x-msgpack
User-Agent: Android
---略---
Content-Length: 530000
Connection: close
{"postData": {"data": [“hogehoge”], "method": "fuga"}}
7/26
iPhoneアプリの診断(問題発生)
対象ドメインの通信が取得できない…
POST /api HTTP/1.1
Host: stg.hoge.com
Content-Type: application/x-msgpack
User-Agent: IPhone
---略---
Content-Length: 530000
Connection: close
{"postData": {"data": [“hogehoge”], "method": "fuga"}}
8/26
深まる謎
❏ iPhone版の診断対象のドメインだけ通信が拾えない
❏ iPhone版のゲームは正常にプレイできている
❏ Android版は全て通信が拾える
❏ Burp SuiteのSSL Path Throughにも登録されていない
❏ Burp SuiteのAlertsタブは特に反応しない
9/26
さらに深まる謎
❏ iPhoneのモバイルデータ通信をオフにしても拾えない
❏ Android端末のプロキシ設定はiptablesコマンドで設定
❏ iPhone端末のプロキシ設定は下記で設定
❏ 設定→Wi-Fi→無線LANの詳細→HTTPプロキシ(手動)
❏ サービス側に確認すると、下記の回答
❏ Unityで開発しています
❏ Android/iOSともほぼ同じコードです
❏ 特別な対応はしていないのでUnity依存かもしれません
10/26
❏ iPhoneのモバイルデータ通信をオフにしても拾えない
❏ Android端末のプロキシ設定はiptablesコマンドで設定
❏ iPhone端末のプロキシ設定は下記で設定
❏ 設定→Wi-Fi→無線LANの詳細→HTTPプロキシ(手動)
❏ サービス側に確認すると、下記の回答
❏ Unityで開発しています
❏ Android/iOSともほぼ同じコードです
❏ 特別な対応はしていないのでUnity依存かもしれません
ここに着目しました!
11/26
解決案
iPhoneでもiptablesを
設定したらいけるのでは!
12/26
iPhoneでiptablesコマンドがなくて震える
((((;゚Д゚))))ガクガクブルブル
13/26
現実逃避
14/26
現実逃避
15/26
翌営業日
Macの機能を使って
解決できました!
# インターネット共有
# パケットフィルタ
16/26
解決方法(図解)
診断対象外URLの通信経路
社内NW Burp1:8081
PF
(パケットフィルタ)
リダイレクト設定
診断対象外:Burp1
診断対象外のSSL通信は全て
SSL Path Through に登録
非SSL通信はそのまま通す
Mac
Win
17/26
解決方法(図解)
診断対象URLの通信経路
Burp3:8080
社内NW
Burp2:8080
診断対象URLのみ
Burp2→Burp3へ
リダイレクト
PF
(パケットフィルタ)
リダイレクト設定
診断対象 :Burp2
通常通り、Burp上で
診断対象のURLに対して脆弱性
診断が出来る
Mac
Win
18/26
解決方法(設定)
Mac
 Burp1:8081 を起動し、Proxy -> Options の赤枠部分にチェックを入れる
 
19/26
解決方法(設定)
Mac
 Burp2:8080 を起動し、Proxy -> Options -> Proxy Listener を設定
 
20/26
解決方法(設定)
Mac
 有線LAN接続し、インターネット共有を設定
 PF設定ファイルの作成(通信のリダイレクト先を指定する)
 PF設定の反映
  
rdr inet proto tcp from any to port 80 -> 127.0.0.1 port 8080
rdr inet proto tcp from any to 診断対象のIPアドレス port 443 -> 127.0.0.1 port 8080
rdr inet proto tcp from any to any port 443 -> 127.0.0.1 port 8081
pf_burp.conf
% sudo pfctl -ef pf_burp.conf
21/26
解決方法(設定)
Win
 Burp3:8080 を起動する
 MessagePack の Extention を追加
 ※実際にBurpを操作する端末
 ※こちらの端末だけ Burp Suite Pro を使ってました
 
22/26
解決方法(図解)
結果、この状態で診断できました。
Burp3:8080
社内NW Burp1:8081
Burp2:8080
診断対象URLのみ
Burp2→Burp3へ
リダイレクト
リダイレクト設定
診断対象外:Burp1
診断対象 :Burp2
診断対象外のSSL通信は全て
SSL Path Through に登録
非SSL通信はそのまま通す
PF
(パケットフィルタ)
通常通り、Burp上で
診断対象のURLに対して脆弱性
診断が出来る
Mac
Win
23/26
解決!
無事にiPhone版でも対象のURLが取得できました!
POST /api HTTP/1.1
Host: stg.hoge.com
Content-Type: application/x-msgpack
User-Agent: IPhone
---略---
Content-Length: 530000
Connection: close
{"postData": {"data": [“hogehoge”], "method": "fuga"}}
24/26
まとめ
❏ Macでインターネット共有とパケットフィルタを使うと通信が強
制的に取れる
❏ 泡盛飲んで寝たら解決できるかもしれない(できないかもしれない)
❏ 参考リンク
❏ PF 設定方法
❏ http://qiita.com/watarin/items/ca845c95843c5a52a7a6
❏ http://ftp.tuwien.ac.at/.vhost/www.openbsd.org/xxx/faq/pf/ja/rdr.html
❏ MessagePack の Extension
❏ http://io.cyberdefense.jp/entry/2016/05/13/Burp_Extension%E9%96%8B%E7%99%BA_-_MessagePack
25/26
ご清聴ありがとうございました。
26/26

More Related Content

What's hot

What's hot (20)

【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
 
なぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのかなぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのか
 
[BurpSuiteJapan]Burp Suite実践編
[BurpSuiteJapan]Burp Suite実践編[BurpSuiteJapan]Burp Suite実践編
[BurpSuiteJapan]Burp Suite実践編
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
 
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
 
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTrackingはじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTracking
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
 
【準備編】OculusQuest/HoloLens2対応WebXR開発
【準備編】OculusQuest/HoloLens2対応WebXR開発【準備編】OculusQuest/HoloLens2対応WebXR開発
【準備編】OculusQuest/HoloLens2対応WebXR開発
 
【DL輪読会】Emergent World Representations: Exploring a Sequence ModelTrained on a...
【DL輪読会】Emergent World Representations: Exploring a Sequence ModelTrained on a...【DL輪読会】Emergent World Representations: Exploring a Sequence ModelTrained on a...
【DL輪読会】Emergent World Representations: Exploring a Sequence ModelTrained on a...
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
 
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
 
Solrで多様なランキングモデルを活用するためのプラグイン開発 #SolrJP
Solrで多様なランキングモデルを活用するためのプラグイン開発 #SolrJPSolrで多様なランキングモデルを活用するためのプラグイン開発 #SolrJP
Solrで多様なランキングモデルを活用するためのプラグイン開発 #SolrJP
 
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングシェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチング
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 

Viewers also liked

20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
Haruna Nakayama
 

Viewers also liked (7)

最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみた最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみた
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWS
 
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
 
Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発
 
ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話
 
フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!
 
SSL Pinning and Bypasses: Android and iOS
SSL Pinning and Bypasses: Android and iOSSSL Pinning and Bypasses: Android and iOS
SSL Pinning and Bypasses: Android and iOS
 

Burp suite を使って iPhone アプリを診断した時に困ったことと、解決方法