web-dev-qa-db-ja.com

Android(WireSharkでSSLを復号化するため))でSSLキーをどのように見つけますか?

Androidエミュレーターを使用してから、WireSharkを実行しながら)一部のアプリにログインし、SSLトラフィックを復号化する方法を見つけようとしています。

WireSharkに投入するキーの種類を見つける必要があることは理解していますが、Android OSで、またはそれが可能かどうかを確認する方法を理解できません。

何か案は?

3
user3276588

目的がHTTPおよびHTTPSトラフィックのみの分析である場合は、Burp SuiteまたはSquidなどの任意のhttpインターセプトプロキシサーバーを使用できます。

メソッド:-

まず、Android Burp Suiteをプロキシサーバーとして使用するには、ネットワーク設定を変更します。次にBurp Suiteまたはopensslを使用して自己署名証明書を生成し、その証明書をyour Android device。(Opensslを使用して証明書を生成している場合は、それに応じてBurp Suiteを構成します。)次に、ネットワークを適切に構成し、プロキシサーバーのポートを開きます。

注:-

一部のAndroidアプリケーションは、サーバーと通信するために[〜#〜] xmpp [〜#〜]などの別のプロトコルを使用するため、 [〜#〜] xmpp [〜#〜] この方法は機能せず、特定のトラフィックを分析するにはwiresharkを使用する必要があります。

ヒント:-

proxyサーバーとWiresharkの両方を同時に使用して、生産性を向上させることができます。

1
Mohit Rajain

アプリがあなたと通信しているサーバーですか?もしそうなら、あなたは彼らの証明書のコピーをエクスポートしてwiresharkにインポートできますか?

自分のものでない場合は、トラフィックを復号化するための秘密鍵がありません。アプリをプロキシしてTLS接続を切断することもできるかもしれませんが、すでに中間のアプローチを試したようです。

SSL/TLSの要点はトラフィックのインターセプトを停止することであることを忘れないでください。元のキーがないと、壊れていない通信チャネルを「見る」ことができません。

1
ISMSDEV

...またはそれが可能な場合でも。

Android OSでは、任意のアプリケーションのTLS接続のマスターキーにアクセスする一般的な方法はありません。キーを取得するためのアプリケーションまたはライブラリ固有の方法があり、他の方法があります。 TLSトラフィックをインターセプトします。Googleには このトピック について多くのヒットがあります。

0
Steffen Ullrich