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

SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)NTT DATA Technology & Innovation
 
最近のやられアプリを試してみた
最近のやられアプリを試してみた最近のやられアプリを試してみた
最近のやられアプリを試してみたzaki4649
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話JustSystems Corporation
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いたAkihiro Kuwano
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Taku Miyakawa
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題Hiroshi Tokumaru
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎ken_kitahara
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)Takeshi Mikami
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話Daichi Koike
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門tsukasamannen
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWSzaki4649
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築Daein Park
 

What's hot (20)

SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
 
最近のやられアプリを試してみた
最近のやられアプリを試してみた最近のやられアプリを試してみた
最近のやられアプリを試してみた
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWS
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築
 

Viewers also liked

最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみた最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみたzaki4649
 
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡Haruna Nakayama
 
Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発Knockout.js を利用したインタラクティブ web アプリケーション開発
Knockout.js を利用したインタラクティブ web アプリケーション開発Daizen Ikehara
 
ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話zaki4649
 
フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!zaki4649
 
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 iOSAnant Shrivastava
 

Viewers also liked (6)

最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみた最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみた
 
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 アプリを診断した時に困ったことと、解決方法