iOS Burp Suite 設定
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
iOS デバイスへの Burp 証明書のインストール
iOS デバイス上での安全な Web トラフィック解析と SSL pinning のために、Burp Suite は Burp Mobile Assistant を使うか、手動で設定することができます。以下は両方の方法の要約ガイドです。
Burp Mobile Assistant を使った自動インストール
Burp Mobile Assistant は Burp 証明書のインストール、プロキシ設定、そして SSL Pinning のプロセスを簡素化します。詳細は PortSwigger’s official documentation を参照してください。
手動インストール手順
- Proxy Configuration: iPhone の Wi-Fi 設定で Burp をプロキシとして設定します。
- Certificate Download: デバイスのブラウザで
http://burpにアクセスして証明書をダウンロードします。 - Certificate Installation: ダウンロードしたプロファイルを Settings > General > VPN & Device Management からインストールし、Certificate Trust Settings で PortSwigger CA を信頼するように有効化します。
Interception Proxy の設定
この設定により、iOS デバイスとインターネット間のトラフィックを Burp を通して解析できます。クライアント間トラフィックをサポートする Wi-Fi ネットワークが必要です。利用できない場合は、usbmuxd 経由の USB 接続が代替手段となります。詳細な手順は PortSwigger のチュートリアル(device configuration と certificate installation)を参照してください。
OpenVPN + iptables REDIRECT による透明プロキシ
ターゲットアプリが設定した HTTP プロキシを無視する場合、代替案として iOS デバイスを researcher-controlled VPN gateway の背後に置き、トラフィックを Burp や mitmproxy に透過的にリダイレクトする方法があります。
これは単体では certificate pinning bypass ではありません。アプリごとやデバイスごとのプロキシを設定せずに、デバイスのトラフィックがインターセプトプロキシに到達するようにネットワーク経路を解決するだけです。アプリが実際に certificate pinning を行っている場合、pinning を別途バイパスしない限り HTTPS の復号は失敗します。
典型的なフロー:
- Linux ホスト上で OpenVPN サーバを動作させ、iOS デバイスを接続してそのトラフィックを
tun0に到達させます。 - Burp または
mitmproxyを VPN リスナーの IP に対してポート8080でバインドします。 - リダイレクトされたクライアントはプロキシ認識がないため、宛先に直接接続しているかのように通信するため、Burp で invisible proxying を有効にします。
tun0に到着する TCP の80と443をローカルのプロキシリスナーにリダイレクトします。- プロキシ済みトラフィックがゲートウェイを離れ、返信が VPN 経由で戻るように、送信インターフェースに対して
POSTROUTINGの MASQUERADE ルールを追加します。 - インターセプトプロキシの CA を iOS デバイスにインストールして信頼させ、システムトラストストアのみに依存するアプリが生成されたリーフ証明書を受け入れるようにします。
Example rules:
# Redirect VPN client traffic into the local interception proxy
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 443 -j REDIRECT --to-ports 8080
# Allow VPN client traffic to egress back to the Internet
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Notes:
- これは、ターゲットアプリを変更したり iOS の Wi‑Fi 設定で明示的なプロキシを設定せずに、強制的なインターセプション(forced interception) を行いたい場合に便利です。
443を Burp にリダイレクトする方法は、インストールした CA を信頼するアプリ、または TLS 検証 / pinning が既にバイパスされているアプリに対してのみ機能します。- upstream リポジトリの例スクリプトは IP を受け取り、
POSTROUTINGルールで/24を付加します。実際には固定の/24を仮定せず、実際の VPN クライアントサブネット を使用してください。 - Burp を使用する場合は、Proxy –> Options –> Edit listener –> Request handling –> Support invisible proxying を有効にしてください。
mitmproxyは、VPN リスナー IP にバインドされ、transparent-mode の要件が満たされていれば同じ配置で利用できます。
Advanced Configuration for Jailbroken Devices
jailbreak されたデバイスを使う場合、USB 経由の SSH(iproxy を介した)はトラフィックを直接 Burp にルーティングする方法を提供します:
- SSH 接続確立: iproxy を使って SSH を localhost にフォワードし、iOS デバイスから Burp を実行しているコンピュータへ接続できるようにします。
iproxy 2222 22
- リモートポートフォワーディング: iOS デバイスのポート 8080 をコンピュータの localhost にフォワードし、Burp のインターフェースへ直接アクセスできるようにします。
ssh -R 8080:localhost:8080 root@localhost -p 2222
- グローバルプロキシ設定: 最後に、iOS デバイスの Wi‑Fi 設定を手動プロキシに設定し、すべての Web トラフィックを Burp 経由にします。
Full Network Monitoring/Sniffing
非 HTTP のデバイストラフィックの監視は、すべての種類のデータトラフィックをキャプチャできるツールである Wireshark を使って効率的に行えます。iOS デバイスのリアルタイムトラフィック監視は、Remote Virtual Interface の作成によって実現されます。詳細は this Stack Overflow post を参照してください。開始前に macOS システムに Wireshark をインストールしておく必要があります。
手順は主に以下のステップを含みます:
- iOS デバイスと macOS ホストを USB で接続します。
- トラフィック監視に必要な iOS デバイスの UDID を確認します。これは macOS の Terminal でコマンドを実行することで行えます:
$ rvictl -s <UDID>
Starting device <UDID> [SUCCEEDED] with interface rvi0
- UDIDの識別後、 Wireshark を起動し、データキャプチャのために “rvi0” インターフェイスを選択します。
- 特定のIPアドレスに関連するHTTPトラフィックをキャプチャするなどのターゲット監視には、Wiresharkの Capture Filters を使用できます:
Burp Cert Installation in Simulator
- Burp証明書のエクスポート
In Proxy –> Options –> Export CA certificate –> Certificate in DER format
.png)
- 証明書を ドラッグ&ドロップ して Emulator 内に配置する
- エミュレータ内で Settings –> General –> Profile –> PortSwigger CA に移動し、証明書を verify する
- エミュレータ内で Settings –> General –> About –> Certificate Trust Settings に移動し、PortSwigger CA を enable する
.png)
おめでとうございます。iOS simulator に Burp CA 証明書を正常に設定しました。
Tip
iOS simulator は MacOS のプロキシ設定を使用します。
MacOS Proxy Configuration
Burp をプロキシとして設定する手順:
- System Preferences –> Network –> Advanced に移動
- Proxies タブで Web Proxy (HTTP) と Secure Web Proxy (HTTPS) を選択
- 両方のオプションで 127.0.0.1:8080 を設定
.png)
- Ok をクリックし、その後 Apply をクリック
参考資料
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。


