Seal (2021)

Ключевые моменты прохождения:
✅ Используем gobuster с флагом -k для 443 порта(SSL) ✅ Копаемся в GitBucket для того, чтобы найти пароль к tomcat ✅ Обходим 403 ошибку на /manager/html для tomcat из-за мисконфига Nginx ✅ Используем gobuster с флагом -k для 443 порта(SSL) ✅ Создаем WAR-файл с реверс шеллом при помощи msfvenom ✅ Повышаем привилегии с помощью Ansible
Разведка
На 443 порту у нас есть обычный интернет магазин, который не представляет никакого интереса, кроме некоторых его файлов:

Очевидно, что там tomcat. На 8080 порту расположен GitBucket:

После регистрации можно накопать следующий коммит(http://10.10.10.250:8080/root/seal_market/blob/ac210325afd2f6ae17cce84a8aa42805ce5fd010/tomcat/tomcat-users.xml) в проекте seal_market, где остался пароль юзера:
В рамках CTF всегда, если вам дают git репозитории нужно искать пароли и другую важную информацию в старых коммитах/бэкапах.
На /manager/html трудно попасть из-за 403 ошибки доступа:

Но есть годный лайфхак, точнее мисконфиг у nginx'а. Я очень сильно рекомендую ознакомится с данной презентацией для более глубокого погружения в тему. Но чтобы не затягивать с этим сразу покажу эксплуатацию:

Для того, чтобы получить начальный шелл(www-data) нам нужно загрузить вредоносный WAR-файл. Создание такого файла происходит так:
В моем случае это было так:
Кстати, чтобы загрузить WAR-файл, нужно также использовать мисконфиг:


Получение пользователя
В /opt/backups/playbook можно найти run.yml:
Тут происходит следующее:
Копирование файлов из дэшборда в /opt/backups/files
Сжатие файлов и сохранение в
backup_date-time.gzУдаление files директории Следовательно, мы можешь сделать так, чтобы получить ключ
luis'а:
Получаем рута
Создаем файл root.xml и пишем в него:


Last updated
Was this helpful?