Категория > Новости > HTB Seal. Пентестим Apache Tomcat и эксплуатируем Ansible Playbook - «Новости»
HTB Seal. Пентестим Apache Tomcat и эксплуатируем Ansible Playbook - «Новости»6-12-2021, 00:01. Автор: Евдоким |
Hack The Box. Ты научишься извлекать ценную информацию из репозиториев Git, обходить контроль доступа HTTP 403, эксплуатировать Apache Tomcat до уровня выполнения произвольного кода и повышать привилегии через Ansible Playbook.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. РазведкаСканирование портовДобавляем IP-адрес машины в
10.10.10.250 seal.htb
И запускаем сканирование портов. Справка: сканирование портовСканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа. Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта. ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1 Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция Результат работы скрипта Видим три открытых порта: 22 (служба SSH), 443 (веб‑сервер nginx 1.18.0) и 8080 (отмечен как HTTP-прокси). Справка: брутфорс учетокПоскольку в начале прохождения у нас нет учетных данных, нет и смысла изучать службы, которые всегда требуют авторизации (например, SSH). Единственное, что мы можем делать здесь, — это перебирать пароли брутфорсом, но у машин с HTB почти всегда есть другое прохождение. В жизни таких вариантов может не быть, к тому же есть шансы подобрать пароль или получить его при помощи социальной инженерии. Так как порт 443 работает по протоколу HTTPS, он содержит сертификат, а из него мы можем узнать, для какого адреса он действителен. Благо его мы уже добавили в файл Посмотрим на сами сайты. На первом нас встречает какой‑то одностраничный маркет с полями для ввода. На втором находим GitBucket. Одного взгляда достаточно, чтобы определить, с каким из сайтов стоит начинать работать. Главная страница https://seal.htbГлавная страница http://seal.htb:8080 GitGitBucket — это система для совместной работы с Git-репозиториями, которая предоставляет интерфейс в стиле GitHub. Здесь можно зарегистрироваться, что мы незамедлительно сделаем. Стартовая страница пользователей после авторизации После этого нам становится доступно некоторое количество проектов. Мы можем поискать в исходных кодах критические данные вроде секретов, паролей и прочих интересностей. Также мы можем получить имена пользователей Git. Пользователи системы GitBucket Запомним пользователей и пойдем по порядку просматривать репозитории. Так, в репозитории маркета мы найдем список дел, где среди прочего запланирована смена конфигурации Apache Tomcat. Описание репозитория Это важно, так как мы узнаем о еще одной технологии, которая используется на сайте. Давай просмотрим историю коммитов. Продвигаясь снизу вверх, остановимся на следующем коммите:
http://seal.htb:8080/root/seal_market/commit/ac210325afd2f6ae17cce84a8aa42805ce5fd010
В нем мы найдем файл конфигурации Tomcat и необходимый для авторизации пароль. Пароль в файле конфигурации Tomcat Пробуем авторизоваться с этим паролем в системе GitBucket от имени всех обнаруженных пользователей и выясняем, что можем зайти как Точка входаНа сайте у нас возможностей немного, поэтому поищем скрытые страницы перебором. Я буду использовать утилиту fuff и словарь из набора Seclists. Справка: сканирование веба c fuffОдно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB. Я предпочитаю легкий и очень быстрый ffuf. При запуске используем следующие параметры:
Команда получается следующая:
ffuf -w ../wordlists/_to_check/directory-list-2.3-medium.txt -uhttps://seal.htb/FUZZ -fc 403 -t 200
Результат сканирования каталогов с помощью ffuf Все найденные страницы выполняют редирект в соответствующий каталог. Но нам интересны только две: Ответ сервера при доступе к каталогу /admin/ При обращении к каталогу
ffuf -w ../wordlists/_to_check/directory-list-2.3-medium.txt -uhttps://seal.htb/manager/FUZZ -fc 403 -t 200
Результат сканирования каталогов с помощью ffufОткрываем для себя две новые страницы: Страница Apache Tomcat Server Status Этот материал ничего нам не дает, поэтому стоит попробовать пробиться к закрытым для нас функциям. Точка опорыОбход 403 ForbiddenЕсть много рекомендаций, как обойти ответ 403 (доступ запрещен), среди которых использование редких методов запроса (вместо обычных GET и POST), разных заголовков HTTP и специальных путей к целевой странице. На все эти случаи у меня есть свои словари, собранные из интернета и объединенные в один. Поэтому я буду использовать Burp Intruder для перебора разных вариантов. Перейти обратно к новости |