web-dev-qa-db-ja.com

MITM独自のSSL接続(例: Wireshark-プロキシなし

コンピュータの1つから送信されるSSL(https?)トラフィックを調査したいのですが。問題は、それがどのプログラムからのものかわからないことと、プロキシを使用できない可能性が高いことです(そのため、フィドラーやチャールズなどのツールは機能しません)。ただし、トラフィックを作成するプログラムは証明書の有効性をチェックしないと思います。たとえそうであっても、システム証明書ストアを尊重する可能性が高いので、自分のルートをそこに置くことができました。

Wireshark(または同様のツール)を作成して、偽の証明書を使用して各SSL接続を何らかの方法で受け入れ、データを解凍して表示し、リモートホストへの別のSSL接続を開くことはできますか?できれば、この手法はWindowsで機能するはずです。

(このサイトの他の同様の質問は、プログラムをMITM化するように(プロキシーを設定することにより)構成できるか、SSLセッションからいくつかの秘密をキャプチャできると想定しています。すべての発信SSL接続に偽の証明書を挿入したいのですが、ライブです。 )

2
jdm

Wiresharkだけではそれはできません。TLS接続でトラフィックを復号化するためのキー/証明書の知識がある場合にのみ、トラフィックを監視できます。アプリケーションはゲートウェイのポート80/443にあり、単にすべてのトラフィックを傍受するため、アプリケーションが使用しなければならないプロキシのタイプ、透過プロキシがあります。これは、ミステリーアプリケーションに関係するトラフィックを知りたい場合に必要なアプローチです。

Wiresharkを使い続ける場合は、シンプルな透過プロキシ(Squidなど)を使用して独自の証明書を渡し、トラフィックを監視して、wiresharkに復号化させることができます。チュートリアルはありますが、少し複雑です。

Burp Suiteと呼ばれる単一の製品に必要なものが含まれています。これにより、トラフィックを傍受し(アプリケーションが無視できない透過プロキシとして機能)、独自の証明書を挿入したり、結果として生じる会話を監視したりできます。

詳細については、製品ページを参照してください: https://portswigger.net/burp/

4
Jeff Meden

プロキシの問題を回避するために、ARPスプーフィングを利用できます。

MiTMはssl、sslstripがあります。

たくさんのチュートリアルがあります それがどのように機能するかについて。

ただし、証明書が検証されると、運が悪くなります。

Steffenがコメントで指摘したように、wiresharkを(パッシブスニファーである)スニフをアクティブにする方法はありません。

しかし、私がリンクしたチュートリアルでは、おそらく同じように機能する別のスニファを使用しています。

1
Tobi Nary