Категория > Новости > HTB Agile. Ломаем PIN к веб-консоли Flask Werkzeug - «Новости»
HTB Agile. Ломаем PIN к веб-консоли Flask Werkzeug - «Новости»8-08-2023, 00:00. Автор: Наталья |
Hack The Box. Уровень ее сложности — средний.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. РазведкаСканирование портовДобавляем IP-адрес машины в
10.10.11.203 agile.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 — служба OpenSSH 8.9p1 и 80 — веб‑сервер Nginx 1.18.0. Как обычно в такой ситуации, сразу идем смотреть веб. Главная страница agile.htb Нас встречает стартовая страница Nginx, а это значит, что основной сайт расположен либо в другом каталоге, либо на другом домене. Попробуем его найти, для этого просканируем каталоги с помощью feroxbuster. Справка: сканирование веба c feroxbusterОдно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch, DIRB или ffuf. Я предпочитаю feroxbuster. При запуске указываем следующие параметры:
feroxbuster -uhttp://10.10.11.203/-wdirectory_2.3_medium_lowercase.txt -d 2 -t 256
Результат сканирования каталоговВ результате сканирования находим редирект на домен
10.10.11.203 agile.htb superpass.htb
Главная страница сайта superpass.htb Точка входаНа сайте есть возможность зарегистрироваться и авторизоваться. Сделаем это, чтобы расширить область тестирования. Форма авторизации Теперь нам доступен онлайновый сервис для хранения учетных данных. Страница vault Нам нужно протестировать максимально возможное число функций сервиса. Создаем тестовую запись и экспортируем пароли. Экспорт паролей Файл скачивается автоматически, просмотрим весь процесс в Burp History. Burp History Имя файла для скачивания передается в параметре Содержимое файла /etc/passwd Получаем содержимое файла Точка опорыLFIПервым делом, когда обнаруживаем LFI, нужно проверить все файлы, которые могут содержать интересную информацию. На GitHub можно найти много таких словарей, а перебирать по ним будем с помощью Burp Intruder. Burp Intruder — вкладка Payload positions В результате ничего особенного не нашли, только из файла Содержимое файла /etc/hostsСодержимое файла /proc/self/environ Переменные окружения раскрыли нам пользователя Запрос на загрузку файла /app/config_prod.json Иногда при отображении ошибок приложение может раскрывать пути к файлам, в которых произошла ошибка. Поэтому попробуем скачать несуществующий файл Запрос на загрузку файла /etc/qweqweqwe.txt Приложение предоставило большой вывод, в котором и присутствует путь к исполняемому файлу сайта:
/app/app/superpass/views/vault_views.py
Содержимое файла vault_views.pyМоей первой идеей было получить Flask WerkzeugПри регистрации и авторизации можно добиться ошибки Flask, что дает нам возможность запросить дебаг‑консоль Werkzeug. Но проблема в том, что она защищена девятизначным PIN-кодом. Страница ошибки Flask WerkzeugКонсоль Werkzeug Перейти обратно к новости |