2016-04-06 6 views
1

クロムのブラウザからSSLマスタのシークレットとキーをファイルに書き出しようとしています。私は誰かが私にこれを行う方法をアドバイスすることができれば感謝します。SSLクライアントとサーバーのキーを書き込む

プレマスタシークレットを書き込むには、環境内のSSLKEYLOGFILE変数をエクスポートするだけです。 premaster secretは、wiresharkがHTTPSセッションを復号化するために使用できます。 CLIENT_WRITE_MAC CLIENT_IV CLIENT_WRITE及びサーバ3以上 -

プリマスタ秘密は、さらに6つのキーを作成するために使用されるマスターシークレットを計算するために使用されます。

これらのキーをプレマスタ秘密ではなくファイルに出力したいとします。

wiresharkコードを使って単純に出力することができましたが、これはもっと複雑です wiresharkがSSLパケットを処理し、プリマスタシークレットを使用するコードはここにあります。 github.com/boundary/wireshark/blob/master/epan/dissectors/packet-ssl-utils.c

クロムブラウザを変更してコンパイルする方法もあります。私は変更がここで行われる必要があると思う。 https://code.google.com/p/chromium/codesearch#chromium/src/net/third_party/nss/ssl/derive.c&q=client_write_mac_secret&sq=package:chromium&type=cs&l=214

私はより多くのソースコードを調べていましたが、このファイルが関連していることがわかりました。 I上記のコードを見てみると

https://code.google.com/p/chromium/codesearch#chromium/src/net/third_party/nss/ssl/sslsock.c&q=SSLKEYLOG&sq=package:chromium&dr=C&l=3569

設定することができます複数の環境変数があることに気づきます。誰でもSSLDEBUG環境をSSLKEYLOG変数と同じ方法で設定できるかどうかを知っていますか?これを行うための他の方法やテクニックも役に立ちます

これまでキーをエクスポートすることはできませんでした。

+0

Premasterの秘密ではなく(クライアントとサーバーのランダムナンスが不足しています)、マスターの秘密(ナンスと派生を混合した後)が必要なのがおそらくです。また、[Psst。あなたのブラウザはあなたのすべての秘密を知っている](https://isc.sans.edu/forums/diary/Psst+Your+Browser+Knows+All+Your+Secrets/16415/)。 – jww

答えて

0

私はそれを理解しました。 これを行うには、wiresharkソースコードの最新バージョンをダウンロードする必要があります。 Wireshark 2.0.1でテストを実行しました

wiresharkソースフォルダの/epan/dissectors/packet-ssl-utils.cファイルを変更する必要があります。

変数を行3179 - 3194からファイルに出力します。 あなたはこの

ファイル*のFPTR Cの使用中のファイルに書き込むには、クライアントの書き込みキー、サーバーの書き込みキー、クライアントのMACキー、サーバーのMACキー、Cient IVおよびサーバーIV)

を見つけることができます。 fptr = fopen( "ファイルを開くディレクトリ"、 "a +");

fprintf( "data"); 、それを変更し、より客観的な方法を行うにして

無効custom_ssl_print_data(のconst gchar *名、CONST guchar *データ、size_tのLEN){次のような機能を作成する - //このファイルに

注意データを書き込みます。

//次の行に

ファイル*のssl_debug_fileを書きます。

ssl_debug_file = fopen( "ファイルを開くディレクトリ"、 "a +");

ラインから元の機能をコピー// 4927

}

空隙custom_ssl_print_string(CONST gchar *名、CONSTするStringInfo *データ){

//ラインから元の機能をコピー4953 }

これらの機能を使用して、キーをファイルにエクスポートします。

メインのwiresharkソースフォルダに移動します。

は./configure

sudoは

sudoを作る./autogen.sh ランは、端末に

と実行のwiresharkをインストールします。

関連する問題