前回記事のはてブコメントで教えてもらったんですが、Burp Proxyというプロキシー型キャプチャソフトがあるそうです。
で実際使ってみると、これいい!お手軽ですね。Fiddler2と違ってiPhoneアプリでも利用可能です。
ということで改訂版をまとめてみますよ。 一応再度のまとめにしますので前回と被る部分もありますがご了承下さい。
なおやはり再度の補足になりますが、セキュリティの向上や社会的に正当な目的の下で正しく使用されることを期待してこのエントリーを記載しています。筆者は利用の結果に対して全くの無責任・無保証ですので、あくまで自己責任でご利用下さい。
前回と同じく、Man In The Middle(MiTM)と呼ばれる「第三者介入」方式によるキャプチャとなります。つまりSSL/TLSは本来ピア・ツー・ピアなので第三者が通信経路上で通信傍受して暗号を複合化することは無理なので、クライアント側(ブラウザやここではiPhoneアプリ)を騙して別のサーバーに接続させ暗号を解除し、そこでキャプチャを取るという方法です。
本来は攻撃手法の一種ですが、応用すると暗号化通信でもキャプチャできるようになる、ということです。
以下は概要図です。
まずは当然iPhone(もしくはiPad, iPod touch)。iOSバージョンは問いません。
前回と異なりJailBreakは必要ありません。
またここでは以下のツールを利用します。
iPhone構成ユーティリティ (Windows版はこちら)
Burp Suite(Burp Proxy)
主役となるBurp Proxyは本来Burp Suiteというセキュリティツールの一機能のようです。Suiteは有償ですが、Proxyだけであればフリーで利用できます。JavaですのでWindows/Mac/Linuxで動作します。
SSL/TLSプロキシとして動作すると同時に、WireSharkのようなパケットキャプチャも同時に行えます。
SSL/TLSセッションの場合は内蔵のSSL/TLSサーバ機能によってターゲットサイトになりすまします。iPhoneではプロキシとして設定しているだけなのでターゲットサイトと直接ピア・ツー・ピアで通信していると誤認しますが、実際にはピア・ツー・ピアレベルではBurp Proxyと通信していることになります。
つまりL3では無く、L7プロキシ(アプリケーション・ゲートウェイ)として動作する訳です。
iPhone構成ユーティリティはMacまたはWindowsが必要です。
機材はBurp Proxyを稼働させるホストが1台必要です。
まずBurp Proxyをダウンロードして起動しましょう。
Windowsではsuite.batを起動するだけでOKです。Macならburpsuite_vx.x.x.jarといったバージョンの付いた名称のjarファイルがあるのでこれを起動するだけです。
これで既に稼働している状態なのですが、初回起動直後はlocalhostからのセッションしか受け付けなくなっているのでこれを変更します。
[proxy]タブ – [option]を選択します。既にProxyの設定が1エントリーなされていますが、「loopback only」がチェックされているのでこれを外します。
エントリーを選択後[edit]ボタンを押し、下部で変更できるようになるので「listen on loopback interface only」のチェックを外し、[update]ボタンを押します。これでリストのエントリのチェックも外れるはずです。
デフォルトポートは8080ですが、上記の作業で変更することも出来ます。
また初期状態では[proxy] – [intercept]がONになっているかも知れません。このままでは通信が止まってしまうので、必ずOFFにしておいてください。
Burp Proxyは独自のCA証明書からターゲットサイトになりすますための一時的なSSL証明書をアクセス時に発行するのですが(デフォルト時動作)、このCA証明書をiPhoneへインストールするためにまず取得(CA証明書の生成ではありません。既に存在している証明書をエクスポートするだけです)しないといけません。もしかするとBurp Proxyに設定があるのかも知れませんが、僕は分かりませんでした。そこで一e="font-size: 11px;">携帯アドレス帳登録用QR生成
前回記事のはてブコメントで教えてもらったんですが、Burp Proxyというプロキシー型キャプチャソフトがあるそうです。
で実際使ってみると、これいい!お手軽ですね。Fiddler2と違ってiPhoneアプリでも利用可能です。
ということで改訂版をまとめてみますよ。 一応再度のまとめにしますので前回と被る部分もありますがご了承下さい。
なおやはり再度の補足になりますが、セキュリティの向上や社会的に正当な目的の下で正しく使用されることを期待してこのエントリーを記載しています。筆者は利用の結果に対して全くの無責任・無保証ですので、あくまで自己責任でご利用下さい。
前回と同じく、Man In The Middle(MiTM)と呼ばれる「第三者介入」方式によるキャプチャとなります。つまりSSL/TLSは本来ピア・ツー・ピアなので第三者が通信経路上で通信傍受して暗号を複合化することは無理なので、クライアント側(ブラウザやここではiPhoneアプリ)を騙して別のサーバーに接続させ暗号を解除し、そこでキャプチャを取るという方法です。
本来は攻撃手法の一種ですが、応用すると暗号化通信でもキャプチャできるようになる、ということです。
以下は概要図です。
まずは当然iPhone(もしくはiPad, iPod touch)。iOSバージョンは問いません。
前回と異なりJailBreakは必要ありません。
またここでは以下のツールを利用します。
iPhone構成ユーティリティ (Windows版はこちら)
Burp Suite(Burp Proxy)
主役となるBurp Proxyは本来Burp Suiteというセキュリティツールの一機能のようです。Suiteは有償ですが、Proxyだけであればフリーで利用できます。JavaですのでWindows/Mac/Linuxで動作します。
SSL/TLSプロキシとして動作すると同時に、WireSharkのようなパケットキャプチャも同時に行えます。
SSL/TLSセッションの場合は内蔵のSSL/TLSサーバ機能によってターゲットサイトになりすまします。iPhoneではプロキシとして設定しているだけなのでターゲットサイトと直接ピア・ツー・ピアで通信していると誤認しますが、実際にはピア・ツー・ピアレベルではBurp Proxyと通信していることになります。
つまりL3では無く、L7プロキシ(アプリケーション・ゲートウェイ)として動作する訳です。
iPhone構成ユーティリティはMacまたはWindowsが必要です。
機材はBurp Proxyを稼働させるホストが1台必要です。
まずBurp Proxyをダウンロードして起動しましょう。
Windowsではsuite.batを起動するだけでOKです。Macならburpsuite_vx.x.x.jarといったバージョンの付いた名称のjarファイルがあるのでこれを起動するだけです。
これで既に稼働している状態なのですが、初回起動直後はlocalhostからのセッションしか受け付けなくなっているのでこれを変更します。
[proxy]タブ – [option]を選択します。既にProxyの設定が1エントリーなされていますが、「loopback only」がチェックされているのでこれを外します。
エントリーを選択後[edit]ボタンを押し、下部で変更できるようになるので「listen on loopback interface only」のチェックを外し、[update]ボタンを押します。これでリストのエントリのチェックも外れるはずです。
デフォルトポートは8080ですが、上記の作業で変更することも出来ます。
また初期状態では[proxy] – [intercept]がONになっているかも知れません。このままでは通信が止まってしまうので、必ずOFFにしておいてください。
Burp Proxyは独自のCA証明書からターゲットサイトになりすますための一時的なSSL証明書をアクセス時に発行するのですが(デフォルト時動作)、このCA証明書をiPhoneへインストールするためにまず取得(CA証明書の生成ではありません。既に存在している証明書をエクスポートするだけです)しないといけません。もしかするとBurp Proxyに設定があるのかも知れませんが、僕は分かりませんでした。そこで一e="clear: both" >
前回記事のはてブコメントで教えてもらったんですが、Burp Proxyというプロキシー型キャプチャソフトがあるそうです。
で実際使ってみると、これいい!お手軽ですね。Fiddler2と違ってiPhoneアプリでも利用可能です。
ということで改訂版をまとめてみますよ。 一応再度のまとめにしますので前回と被る部分もありますがご了承下さい。
なおやはり再度の補足になりますが、セキュリティの向上や社会的に正当な目的の下で正しく使用されることを期待してこのエントリーを記載しています。筆者は利用の結果に対して全くの無責任・無保証ですので、あくまで自己責任でご利用下さい。
前回と同じく、Man In The Middle(MiTM)と呼ばれる「第三者介入」方式によるキャプチャとなります。つまりSSL/TLSは本来ピア・ツー・ピアなので第三者が通信経路上で通信傍受して暗号を複合化することは無理なので、クライアント側(ブラウザやここではiPhoneアプリ)を騙して別のサーバーに接続させ暗号を解除し、そこでキャプチャを取るという方法です。
本来は攻撃手法の一種ですが、応用すると暗号化通信でもキャプチャできるようになる、ということです。
以下は概要図です。
まずは当然iPhone(もしくはiPad, iPod touch)。iOSバージョンは問いません。
前回と異なりJailBreakは必要ありません。
またここでは以下のツールを利用します。
iPhone構成ユーティリティ (Windows版はこちら)
Burp Suite(Burp Proxy)
主役となるBurp Proxyは本来Burp Suiteというセキュリティツールの一機能のようです。Suiteは有償ですが、Proxyだけであればフリーで利用できます。JavaですのでWindows/Mac/Linuxで動作します。
SSL/TLSプロキシとして動作すると同時に、WireSharkのようなパケットキャプチャも同時に行えます。
SSL/TLSセッションの場合は内蔵のSSL/TLSサーバ機能によってターゲットサイトになりすまします。iPhoneではプロキシとして設定しているだけなのでターゲットサイトと直接ピア・ツー・ピアで通信していると誤認しますが、実際にはピア・ツー・ピアレベルではBurp Proxyと通信していることになります。
つまりL3では無く、L7プロキシ(アプリケーション・ゲートウェイ)として動作する訳です。
iPhone構成ユーティリティはMacまたはWindowsが必要です。
機材はBurp Proxyを稼働させるホストが1台必要です。
まずBurp Proxyをダウンロードして起動しましょう。
Windowsではsuite.batを起動するだけでOKです。Macならburpsuite_vx.x.x.jarといったバージョンの付いた名称のjarファイルがあるのでこれを起動するだけです。
これで既に稼働している状態なのですが、初回起動直後はlocalhostからのセッションしか受け付けなくなっているのでこれを変更します。
[proxy]タブ – [option]を選択します。既にProxyの設定が1エントリーなされていますが、「loopback only」がチェックされているのでこれを外します。
エントリーを選択後[edit]ボタンを押し、下部で変更できるようになるので「listen on loopback interface only」のチェックを外し、[update]ボタンを押します。これでリストのエントリのチェックも外れるはずです。
デフォルトポートは8080ですが、上記の作業で変更することも出来ます。
また初期状態では[proxy] – [intercept]がONになっているかも知れません。このままでは通信が止まってしまうので、必ずOFFにしておいてください。
Burp Proxyは独自のCA証明書からターゲットサイトになりすますための一時的なSSL証明書をアクセス時に発行するのですが(デフォルト時動作)、このCA証明書をiPhoneへインストールするためにまず取得(CA証明書の生成ではありません。既に存在している証明書をエクスポートするだけです)しないといけません。もしかするとBurp Proxyに設定があるのかも知れませんが、僕は分かりませんでした。そこで一e="float: left;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fblog.rocaz.net%252F2011%252F02%252F1167.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5B%E6%94%B9%E8%A8%82%E7%89%88%5D%20iPhone%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AESSL%E6%8E%A5%E7%B6%9A%E3%82%92%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%22%20%7D);">
前回記事のはてブコメントで教えてもらったんですが、Burp Proxyというプロキシー型キャプチャソフトがあるそうです。
で実際使ってみると、これいい!お手軽ですね。Fiddler2と違ってiPhoneアプリでも利用可能です。
ということで改訂版をまとめてみますよ。 一応再度のまとめにしますので前回と被る部分もありますがご了承下さい。
なおやはり再度の補足になりますが、セキュリティの向上や社会的に正当な目的の下で正しく使用されることを期待してこのエントリーを記載しています。筆者は利用の結果に対して全くの無責任・無保証ですので、あくまで自己責任でご利用下さい。
前回と同じく、Man In The Middle(MiTM)と呼ばれる「第三者介入」方式によるキャプチャとなります。つまりSSL/TLSは本来ピア・ツー・ピアなので第三者が通信経路上で通信傍受して暗号を複合化することは無理なので、クライアント側(ブラウザやここではiPhoneアプリ)を騙して別のサーバーに接続させ暗号を解除し、そこでキャプチャを取るという方法です。
本来は攻撃手法の一種ですが、応用すると暗号化通信でもキャプチャできるようになる、ということです。
以下は概要図です。
まずは当然iPhone(もしくはiPad, iPod touch)。iOSバージョンは問いません。
前回と異なりJailBreakは必要ありません。
またここでは以下のツールを利用します。
iPhone構成ユーティリティ (Windows版はこちら)
Burp Suite(Burp Proxy)
主役となるBurp Proxyは本来Burp Suiteというセキュリティツールの一機能のようです。Suiteは有償ですが、Proxyだけであればフリーで利用できます。JavaですのでWindows/Mac/Linuxで動作します。
SSL/TLSプロキシとして動作すると同時に、WireSharkのようなパケットキャプチャも同時に行えます。
SSL/TLSセッションの場合は内蔵のSSL/TLSサーバ機能によってターゲットサイトになりすまします。iPhoneではプロキシとして設定しているだけなのでターゲットサイトと直接ピア・ツー・ピアで通信していると誤認しますが、実際にはピア・ツー・ピアレベルではBurp Proxyと通信していることになります。
つまりL3では無く、L7プロキシ(アプリケーション・ゲートウェイ)として動作する訳です。
iPhone構成ユーティリティはMacまたはWindowsが必要です。
機材はBurp Proxyを稼働させるホストが1台必要です。
まずBurp Proxyをダウンロードして起動しましょう。
のブラウザでProxy設定をして一度ターゲットサイトへアクセスし、ブラウザ経由でBurp ProxyのCA証明書をダウンロードします。
最近のIEではそもそも接続が出来ませんので、Firefoxなど他のブラウザを使って下さい。
Firefoxでは[オプション] – [詳細] – [ネットワーク]からSSLプロキシとしてホストAを、ポートとして8080(デフォルトの場合)を設定して、ターゲットサイトのURLへアクセスします。当然これはHTTPSです。
すると「接続の安全性を確認できません」と表示されそのままではアクセスできないはずです。これはSSLサーバーとしてBurp ProxyがなりすましているためSSL証明書の検証に失敗しているからです。
本来行うべきではありませんが、ここでは「危険性を理解した上で接続するには」を選び「例外」を押下します。すると「証明書」の表示ボタンがあるのでこれを押して証明書の詳細を「表示」します。
証明書ビューアが表示されるので[詳細]タブを選ぶと、証明書の信頼チェーンが表示されます。ここで一番上位にある「PortSwigger CA」を選択して「エクスポート」ボタンを押します。これでBurp ProxyのCA証明書がダウンロードできますので、どこかへ保存しておきます。
なお上記のように元々組み込みのCA証明書を利用する方法の他、前回のようにOpenSSLなどで生成したオリジナルのCA証明書をBurp Proxyにインポートして利用する方法もあるようですが、試していません(特に今回の目的では意味がありません)。
ここが今回の話題の最大のポイントになります。
iPhone構成ユーティリティは主に企業内部でiPhoneを配布するために様々な設定をプロファイルという単位でまとめてiPhoneに直接設定しておくことが出来ます。このプロファイルのインストールとあるいはアンインストールも構成ユーティリティからしか行えません。
このプロファイルには企業の内部CAの証明書をインストールして信頼させる機能があるのでこれを利用します。
WiFi接続が前提になります。
[設定]から[Wi-Fi]を選択し現在接続中のアクセスポイントの詳細を表示します。
一番下の方に[HTTPプロキシ] の設定がありますので手動を選び、[サーバ]にはホストAを、[ポート]には8080(デフォルト時)を設定します。
これで準備は完了です。実際にiPhoneからアプリを起動して動作するかどうか確認してみましょう。正常に動作するなら、Burp Proxyの[proxy]タブ – [history]にキャプチャ結果が表示されるはずです。
Burp Proxyのキャプチャ機能は確かにWireSharkあたりと比べると見劣りしますが、例えばiPhoneアプリがどんな情報を送信しているかなどを簡単に確認するには十分でしょう。
とかくiPhoneアプリ(iPhoneに限らずモバイルアプリはそうでしょうが)は「内部が何をやっているか分かりにくい」ことが問題視されたり不安を呼んでいる面も多いように思います。こうした方法などで少しでも安心感が得られるならよいですね。
[...] → [改訂版] iPhoneアプリのSSL接続をパケットキャプチャする方法(bROOM.LOG !) [...]
はじめまして。この度このページの情報を参考にiPhoneでパケットキャプチャをやらせていただいたNitro238と申します
キャプチャしたいアプリには機能が限定的ながらもブラウザ版もあり、ブラウザ版のhttpsパケットキャプチャには成功したのですが、
アプリのパケットキャプチャを行おうとするとアプリがインターネットに接続できませんでした
と出てきてしまい、キャプチャすることができなくて困っております。
ブラウザの場合、アクセスしたとき、「この証明書はなんかあれですが それでも接続しますか」的なダイアログが出て続行ボタンを押せば接続できるのですが、
アプリの場合そういった類のものが一切出なくて、証明書が合わないと切断される設計になっているためか、失敗します
知り合いに、アプリとブラウザで接続できる、できない の違いがでるのは、ブラウザで使っているProxy関連の設定とアプリで使っている設定が違うためだ、と言われました。
その後使わなくなったiPhoneをJailBreakしてetc/hostsファイルとやらを書き換えても見たのですが、現状に変化はありませんでした
何か、よい方法がありましたら、アドバイスいただけたらと思います。
もしどんなアプリ名かわからなければ具体的な回答ができない、というのであれば、アプリ名を開示したいと思います。
以上、お忙しいとは思いますが、よろしくお願いします。