Как использовать IP-адрес хоста на docker контейнере? - PullRequest
3 голосов
/ 30 апреля 2020

Я запускаю 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

Затем я запустил эксплойт на контейнере Kali linux на другом сервере, ориентированном на образ docker, однако это не удалось.

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 я думал, что траффик c будет отражен в контейнере. В любом случае, можно ли исправить эту сетевую ошибку, чтобы взлом был успешным?

Вот учебник, которому я свободно следовал: https://medium.com/cyberdefendersprogram/kali-linux-metasploit-getting-started-with-pen-testing-89d28944097b

1 Ответ

2 голосов
/ 30 апреля 2020

Поскольку параметр --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.

...