web-dev-qa-db-ja.com

傍受TCP MITM攻撃によるトラフィック

this hacky methodを使用してBurp SuiteからTCPリクエストをキャプチャしようとしています。

基本的に、ユーザーが選択したプロトコル要求(TCP/UDP)をリッスンし、HTTP要求と同じようにBurp Suite(または必要に応じて他のツール)に転送します。これらすべてにプロキシを設定することで、Burp SuiteはそのプロキシIP /ポートをリッスンします。

ただし、TCPパケットを送信するWebサイトをリッスンする必要があるため、HTTP/HTTPSリクエストも表示されるはずです。これは私が試したものです:

Sudo python mitm_relay.py -l 0.0.0.0 -p 127.0.0.1:8081 -r tcp:80:example.com:80

ここで、0.0.0.0は任意のローカルインターフェイスをリッスンし、プロキシリスナーは127.0.0.1:8081に設定されており、example.comホスト名はTCPパケットを送信するIPアドレスに変換されます(ポートは80に設定されています)。ただし、デフォルトのFirefoxプロキシを127.0.0.1:8081に設定しました。example.comに移動すると、端末でパケットを傍受できません。

また、これはHTTPリクエストではないため、server.pemserver.keyを生成しました。これは、説明どおりです here

~/mitm_relay/ $ ls | grep -iE 'ca|ser'
cacert.cer
cacert.pem
cacert.srl
cakey.cer
cakey.pem
server.csr
server.key
server.pem

(これらはすべて、これらのコマンドによって生成されたファイルです)。

  1. ポート80でexample.comへのTCPリクエストをインターセプトするにはどうすればよいですか?
  2. ポート80でanydomain TCPリクエストをインターセプトするにはどうすればよいですか?
  3. 生成された証明書ファイルを使用して、そのスクリプトを通じてSSLデータ(HTTPSなど)を傍受するコマンドの例は何ですか?
  4. Burpが127.0.0.1:8081プロキシをリッスンするように設定して、3つの前例の質問を適用できますか?
2
Leon

デフォルトのFirefoxプロキシを127.0.0.1:8081に設定しました

あなたはそれをすべきではありません、_-p_引数はBurpプロキシが実行されている場所を指定するためにそこにあります。

_example.com_に移動すると

特にどこに移動するかは関係ありません(ただし、_google.com_は strict transport security のために機能しない可能性があります)。ポート_80/tcp_をターゲットとするすべてのリクエストは、スクリプトでインターセプトされ、Burpプロキシを通じて_example.com_にルーティングされます。

ポート80ですでに何かを実行している可能性があることに注意してください。ポート番号を変更することをお勧めします。 _tcp:81:example.com:80_に移動し、_127.0.0.1:81_に移動して、このように動作するかどうかを確認します。ポート81が機能し、ポート80が機能しない場合は、 ss または netstat を使用して、どのプログラムがポート80。

また、これはHTTPSリクエストではないため、_server.pem_および_server.key_を生成しました

HTTPリクエストには必要ありません。

どのようにしてポートTCPリクエストをポート80で傍受できますか?

このツールは一般的にこのタスクに適しているとは思いません。

マシンのどこかに本当のプロキシ(Squidなど)を設定することによってのみそれを行うことができます。 _-l_引数は、傍受するリソースを制御します。 _-r_引数は、以下のみを制御します。

  • ポート
  • どこにトラフィックを転送しますか。

ターゲットドメインでリクエストを処理するには、_-r_引数の下にプロキシが必要です。

生成された証明書ファイルを使用して、そのスクリプトを通じてSSLデータ(HTTPSなど)を傍受するコマンドの例は何ですか?

_Sudo python mitm_relay.py -l 0.0.0.0 -p 127.0.0.1:8081 -r tcp:443:example.com:443 -c server.pem -k server.key
_

ブラウザが接続が信頼できないという警告を表示し、_google.com_がChromeで動作しないことに注意してください。 Firefoxは2020年4月12日の時点では問題ありませんが、答えのこの特定の部分はおそらく古くなります。

2
ximaera