4

私はwhatsappトラフィックのスニッフィングについて多くのことを読んできましたが、sslを超えていることはすでに知っています。しかし、whatsappが暗号化に使用している秘密鍵がわからない場合、このsslトラフィックを復号化する方法があるかどうかを知る必要があります.

では、どの証明書が使用されているか、またはそれらのメッセージを復号化する別の方法があるかどうかをどのように確認できますか?

私は誰のチャットも読みたくありません。私の意図は、ネットワークを介してプロトコル メッセージを実際に見ることです。理解するには、リバース エンジニアリングを行い、個人の仕事の目的に合わせて単純な Java API を作成します。

SSLトラフィックを読み取るためにwiresharkを使用しています。

whatsapp チャットのキャプチャのスクリーンショット

4

5 に答える 5

4

サーバー(RSA認証スイートの秘密鍵、サーバーアプリまたはプログラムメモリ)またはクライアント(アプリまたはメモリ)のいずれかを制御しない限り、メッセージを復号化できません(まあ、または両方が弱い暗号をネゴシエートしますが、それは別のトピックです)

最も簡単な方法ですが、サーバーとクライアントの両方にとって最も侵襲的で簡単に見つけることができます: ssl/tls man-in-the-middle with fake certs . これはクライアント アプリがサーバー証明書を変更しているため、クライアント アプリは接続を拒否する可能性があります (証明書のピン留め、ハード ピン)。そうでない場合は、サーバーを制御し、ネゴシエートされたキーにアクセスできます。

なんで? クライアントとサーバーの両方が、クライアントとサーバーのセッション キーのセットを導出する共有マスター シークレットをネゴシエートします (rfc2246 - tls1.0 などの対応する rfc で指定された tls prf を使用)。

とはいえ、サーバーをいじりたくない、またはいじることができず、クライアントプロセスにアクセスできる場合は、メモリからマスターシークレットを抽出し、クライアント/サーバーセッションキーを再計算する方法を見つけることができます. RFC。抽出は、アプリケーションをデバッグするか、メモリ アーティファクトを検索するか、パッチを適用してからプロトコル メッセージを復号化することで実行できます。マスター シークレットは時々再生成されるため、wireshark がキーを再ネゴシエーションに一致させるために、マスター シークレット ネゴシエーションまたは正確な時間につながるクライアントの hello (クライアント ランダム) も追跡する必要があることに注意してください。キーはこのクライアント セッションでのみ有効であり、制限されていない暗号を復号化できますマスター シークレットは、TLS キーのネゴシエーションが終了した後に両当事者が同意する最終的なシークレットであるため、RSA 認証に送信されます。

マスター シークレットを取得し、それをクライアントの hello にマップしたら、それをnss キーログ形式で Wireshark にフィードするだけです。

メモリ内で master_key を見つける方法の例を次に示します 。pymemscrapeは、プロセス メモリ イメージから master_key を見つける方法を示す PoC です。

于 2015-10-23T18:31:58.910 に答える
3

セッション キー ロギングを使用すると、セッションのキーに到達できます。その後、wireshark はそれを使用してパケットを解決できます。

  1. マシンでセッション ログを有効にします。

    Windows の場合: 「システムの詳細設定」 -> 「環境変数」

    「SSLKEYLOGFILE」という名前の新しい変数を追加し、ファイル /path/to/sslkeylog.log を指定します。

    Linux、MAC OS:

    $ export SSLKEYLOGFILE=~/path/to/sslkeylog.log

  2. セッション ログ ファイルを Wireshark に追加する

    編集 -> 設定 -> プロトコル -> SSL を選択

    「sslkeylog.log」ファイルを参照して (Pre) -Master-Secret ログ ファイル名を指定し、保存します。

詳細な手順はこちら: https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/

于 2016-03-17T13:48:26.017 に答える