3

我在服务器上运行 metasploitable2 docker 容器。这是创建此 docker 容器的 docker 命令:

docker run --name victumb-it tleemcjr/metasploitable2:latest sh -c "/bin/services.sh && bash" --security-opt apparmor=unconfined -privileged true --network host

然后,我在另一台针对 docker 映像的服务器上对 Kali linux 容器进行了利用,但它失败了。

use exploit/unix/ftp/vsftpd_234_backdoor
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOST 134.122.105.88
RHOST => 134.122.105.88
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > run

[-] 134.122.105.88:21 - Exploit failed [unreachable]: Rex::ConnectionTimeout The connection timed out (134.122.105.88:21).

我对为什么这个漏洞利用失败感到困惑。由于--network host我认为流量将被镜像到容器中。他们是否无论如何要修复此网络错误,以便黑客成功?

这是我大致遵循的教程:https ://medium.com/cyberdefendersprogram/kali-linux-metasploit-getting-started-with-pen-testing-89d28944097b

4

1 回答 1

2

因为选项--network host应该放在图片之前

用法: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

这应该有效:

docker run --name victumb-it --network host --security-opt apparmor=unconfined --privileged tleemcjr/metasploitable2:latest sh -c "/bin/services.sh && bash"

sh是命令,之后的所有内容都是传递给sh命令的参数。

和之类的docker run选项放置在图像之前。--network--security-opt--privileged


如果您运行docker inspect container_id,您将在Args键处看到传递给命令的参数。这意味着它们不是docker run.

于 2020-04-30T14:28:14.730 回答