Приветствуем Вас на канале AUTHORITY.
И на этот раз предлагаем Вам рассмотреть writeup машины с площадки "HackTheBox", которая называется Usage.
Enumeration
Первым делом сканируем порты с помощью утилиты 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
После успешной инъекции, необходимо провести исследования доступных БД на предмет наличия логинов, паролей и другой важной информации.
Попав в нужную БД находим хэш пароля админа.
Воспользуемся утилитой 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, которая нам выведет список команд, которые можно выполнять от привилегированного пользователя.
Просмотрев содержимое данного файла, находим в нем следующие строки.
Для реализации повышения привилегий мы использовали метод, описанный на ресурсе - book.hacktricks.xyz
Ссылка с вариантом реализации: https://book.hacktricks.xyz/linux-hardening/privilege-escalation/wildcards-spare-tricks
После выполнения нехитрых действий в warning мы получаем содержимое файла root.txt.
Поздравляем. Мы завершили это испытание.
А на этом всё!! Спасибо за внимание...
Подписывайтесь на наш telegram-канал AUTHORITY.