Androidでスマホでバッグをつかむ方法、定番編


モバイルインバース分析やApp開発では、ネットワークの動作を監視するテストが必要になります.本稿では、パッケージの考え方をまとめ、使用方法を実践します.
筆者はバッグ業界では、Wiresharkは総合ランキング1位のツールだと思います(実はWiresharkが持っているコマンドラインツールtsharkはもっとすごいです)
本文は5種類の包みをつかむ方式を総括して記録して、その1つを掌握して実践することができて、みんながいっしょに交流して分かち合うことを歓迎します
0 x 01 Wiresharkベース
実験手順:
1.1パソコン本体に Wifiなどのツールを使用し、ホットスポットを開き、テストする携帯電話をこのホットスポットに接続し、IPアドレスを記録する
1.2上記IPアドレスをWiresharkでキャプチャする
Capture——Options
1.3まとめ
この方法は簡単で乱暴で効率的であり,捕獲したパケットをいつでも保存でき,後続の解析やPCAP可視化分析を容易にする.
コマンドラインツールtsharkについてはここでは後述せず,興味のある読者が独自に検討する.
0 x 02 tcpdumpベース
実験環境:
Genymotionアンドロイド仮想マシンをダウンロードしてインストールし、このシミュレータ環境種で実践操作を行う(本体携帯電話に基づいても、携帯電話がROOTを取得しなければならないことを前提とする)
筆者はAndroidシステムでしかテストしておらず、iOSシステムでは実験していない.
実験手順:
2.1説明
シミュレータに付属するtcpdumpツール:/system/xbin/ディレクトリの下にあります
2.2パケット取得adb shell命令によりCMDモードでシミュレータを接続し、suをrootモードにキャプチャすることができる
1 tcpdump -vv -s 0 -i eth1 -w /sdcard/capture .pcap
パラメータの説明:
  • -vv:詳細なパケット情報を取得(2つのvがwではないことに注意)
  • -s 0:パケットの長さにかかわらず、加算しない場合はパケットヘッダ
  • のみを取得する.
  • -w xxx.pcap:取得パケット名および格納場所(この例ではsdcardパスの下に保存され、パケット名はcapture.pcap)
  • -i eth 1:作成されたNICをキャプチャ(genymotion仮想マシンではbusybox ifconfigコマンドを使用して関連情報を表示できます.一般的にgenymotionのipアドレスは10.xx.xx.x)
  • です.
  • 取得したパケットの長さを指定するには、-cパラメータ(例えば-c 128)
  • を使用します.
    キャプチャが終了したら、Ctrl+Cをそのまま押してください
    2.3データ分析
    取得したパケットをローカルにドラッグしてWiresharkを使用して表示します.
    1 adb pull /sdcard/capture .pcap C:\tmp
    TIPS:パケットファイルを携帯電話にプッシュするコマンドは
    1 adb push C:\tmp\capture.pcap /sdcard/
    0 x 03 Fiddler 4ベース
    実験手順:
    3.1 FIddler 4のダウンロード
    クリックしてFiddler 4をダウンロード
    3.2 Fiddler 4の設定
    Fiddlerを開き、Tools->Fiddler Options(設定が完了したらFiddlerを再起動してください)
    3.3携帯電話代理店の設置
    まず、Fiddler 4がインストールされているPCに対応するIPアドレス(ipconfig)を取得する.
    携帯電話とPCが同じローカルエリアネットワークに接続されていることを確認します!!!
    以下、携帯電話の設定を行います(筆者は小米試験機を使用しています):携帯電話の「設定」--Wi-Fiをクリックします--接続したwifiを選択します--代理設定を手動に変更します
    Fiddlerのセキュリティ証明書のダウンロード
    携帯ブラウザでアクセス:http://10.2.145.187:8888、「FiddlerRoot certificate」をクリックし、証明書をインストールすればいいです.
    これで、すべての設定が完了しました.
    3.4パケット取得
    Fiddler 4を再開し、携帯電話のブラウザを開き、任意のWebサイトにアクセスします.Fiddlerは以下の情報をキャプチャします.
    Enjoy!
    0 x 04 Charlesベース
    実験環境:
    win7 + Charles v3.11
    一般的にCharlesを使用するのはすべてMAC OSに基づいて、筆者はmacプラットフォームとwindowsプラットフォームですべて試験したことがあって、操作の過程と構想は基本的に一致して、そのため、本文はwin 7をテスト環境にします
    実験手順:
    4.1 httpパケットの取得
    携帯電話の設定代理店:
    Charlesを開くと、パケット(Proxy-Proxy Settings):
    4.2 httpsパケットの取得
    携帯端末のインストール証明書:
    Androidの携帯電話やiPhoneは直接アクセスできますhttp://www.charlesproxy.com/ssl.zipを選択し、図に従って証明書のインストールをクリックします.
    Charlesの設定:
    Proxy-SSL Proxying Settings-Locations-Addを選択
    ポップアップ・フォームにHostドメイン名(つまり、パッケージ・リンクをキャプチャしたいホスト名)と、対応するPortポート(ここではフィルタリングに相当)を入力します.
    もちろん、より乱暴な方法を採用することができます:ワイルドカードを使用して、例えばすべてのhttpsパッケージをキャプチャしたい場合は、ここでも直接空で、すべてのホストとポートをキャプチャすることを示すことができます.または、すべての文字に一致する「*」アスタリスクをそれぞれ入力し、すべてのhttpsをキャプチャします.
    0 x 05 Burpsuiteベース
    実験手順:
    5.1 httpパケットの取得
    PC側Burpsuite設定:
    携帯端末エージェントの設定方法は以上の3.3.1と同じである.
    Burpsuiteを開くとhttpパケットが取得されます.
    5.2 httpsパケットの取得
    携帯端末にエージェントを設置した後、ブラウザでアクセス:http://burp/ここで問題があります:ダウンロードした証明書はderフォーマットで、私達の携帯電話の端はcrtフォーマットをインストールして、firefoxブラウザを使ってフォーマットを回転する必要があります:まずBrupsuiteの中でderフォーマット証明書をエクスポートして、それから火狐ブラウザをインポートして、それから火狐ブラウザから証明書フォーマットをcrtにエクスポートすることができます
    火狐ブラウザを開く:ツール-オプション-詳細-証明書-証明書を表示
    httpパケットの取得に成功
    0 x 06まとめ
  • データパケットのキャプチャを停止すると、FiddlerまたはCharlesをオフにします.この場合、携帯電話側は正常にネットワークにアクセスできません.エージェントが設定されているため、エージェントをオフにする必要があります.この場合、エージェントをオフにすると、ページ
  • を正常に閲覧できます.
  • は、ほとんどのエージェントのアプリケーションに対して、root、一度の構成、終身使用を必要とせずにFiddlerまたはCharlesを選択することができる.エージェントを行かないAppでは、tcpdumpを使用してパケットをキャプチャし、Wiresharkを使用して表示できます.最も簡単で便利なのは、第1の方法「0 x 01.Wiresharkベース」
  • である.
  • 以上のすべてのツールにはそれぞれ優劣があり、読者は作業環境に応じて、必要に応じて使用することができ、個人的には一般的にWireshark+FiddlerまたはWireshark+Charlesを使用すれば各プラットフォームのパケット分析任務
  • を完成できると思います.
  • 以上のツールの中でBurpSuiteだけがバッグをつかむ過程をインタラクティブに操作することができる.Wiresharkがサポートするプロトコルは最も多く、最下位で、機能は強いが、重すぎる
  • は、本明細書に関連するツールのインストール、設定、解読、詳細な使用について、本明細書で議論する範囲内ではない(Charles無料版は、実際には厚かましいが、重度が必要であれば、正規版を購入することを提案する).
    0 x 07参考文献
  • パッケージングツールFidder詳細
  • MacでのパッケージングツールCharles
  • ネットワークキャプチャツールCharlesの紹介と
  • の使用
  • charlesチュートリアルガイド
  • AndroidセキュリティテストのBurpSuiteバッグ
  • Androidはtcpdumpとwiresharkを利用してネットワークパケット
  • をキャプチャする