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.pem
とserver.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
(これらはすべて、これらのコマンドによって生成されたファイルです)。
example.com
へのTCPリクエストをインターセプトするにはどうすればよいですか?127.0.0.1:8081
プロキシをリッスンするように設定して、3つの前例の質問を適用できますか?デフォルトの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日の時点では問題ありませんが、答えのこの特定の部分はおそらく古くなります。