Найти тему
AUTHORITY

HTB – [Writeup] Usage. Сложность – Easy.

Оглавление

Приветствуем Вас на канале AUTHORITY.

И на этот раз предлагаем Вам рассмотреть writeup машины с площадки "HackTheBox", которая называется Usage.

Enumeration

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

Рис. 1 - Результат работы утилиты nmap
Рис. 1 - Результат работы утилиты nmap

В результате сканирования, мы обнаружили, что открыто 2 порта, это ssh и веб(http). Следующим шагом, нам необходимо добавить ip адрес и hostname в /etc/hosts/, после чего мы можем переходить к исследованию доступных веб-ресурсов.
После исследования веб-ресурсов, можно сделать вывод о доступном функционале и о потенциальных точках входа.

Доступный функционал:

1 - авторизация

2- регистрация

3- восстановление пароля

4- админ панель

Из методов исследования используем стандартный фаззинг директорий, файлов, субдоменов. Не забываем про исследование версий используемых технологий и ПО.

Exploitation

Долгое время поиск и фазинг не приводили к каким-либо результатом. Но наконец-то точка входа была найдена. Функционал восстановления пароля оказался уязвим к SQL injection (ориентир - /forget-password).

Сохраняем содержимое запроса,который мы перехватили с помощью
burpsuite, в файл для использования в утилите sqlmap.

Команда для sqlmap: sqlmap -r sql --level 5 --risk 3 -p email –batch

После успешной инъекции, необходимо провести исследования доступных БД на предмет наличия логинов, паролей и другой важной информации.
Попав в нужную БД находим хэш пароля админа.

Рис. 2 - Результаты поиска важной информации средствами утилиты sqlmap
Рис. 2 - Результаты поиска важной информации средствами утилиты sqlmap

Воспользуемся утилитой hashcat чтобы узнать пароль админа и наконец-то попасть в панель администратора.

Рис. 3 - Пример команды для утилиты hashcat, для подбора пароля по найденному хэшу
Рис. 3 - Пример команды для утилиты hashcat, для подбора пароля по найденному хэшу

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

После непродолжительных изысканий и запросов в поисковике, была обнаружена уязвимость в используемой версии ПО. А именно уязвимость при произвольной загрузке файлов в laravel-admin версии 1.8.19, которая позволяет выполнять произвольный код с помощью созданного PHP-файла. (идентификатор уязвимости - CVE-2023-24249).

Ссылка с вариантом реализации: https://flyd.uk/post/cve-2023-24249/

Нам осталось создать документ с расширением jpg и подставить наш подготовленный php-пейлоад, который можно взять с ресурса -
https://www.revshells.com/.

Ура!! Мы получили шелл от пользователя dash. Переходим в домашний каталог пользователя и получаем наш первый флаг(user.txt).

Privilege Escalation

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

Чтобы получить root-флаг нам нужно реализовать повышение привилегий в данной системе. Выполним следующую команду: sudo -l, которая нам выведет список команд, которые можно выполнять от привилегированного пользователя.

Рис. 4 - Результат выполнения команды sudo -l
Рис. 4 - Результат выполнения команды sudo -l

Просмотрев содержимое данного файла, находим в нем следующие строки.

Рис. 5 - Результаты исследования исходного файла
Рис. 5 - Результаты исследования исходного файла

Для реализации повышения привилегий мы использовали метод, описанный на ресурсе - book.hacktricks.xyz

Ссылка с вариантом реализации: https://book.hacktricks.xyz/linux-hardening/privilege-escalation/wildcards-spare-tricks

После выполнения нехитрых действий в
warning мы получаем содержимое файла root.txt.

Рис. 6 - Реализация вывода файла root.txt
Рис. 6 - Реализация вывода файла root.txt

Поздравляем. Мы завершили это испытание.

А на этом всё!! Спасибо за внимание...

-8

Подписывайтесь на наш telegram-канал AUTHORITY.