Категория > Новости > HTB Forgot. Отравляем Web Cache для получения админки сайта - «Новости»
HTB Forgot. Отравляем Web Cache для получения админки сайта - «Новости»8-03-2023, 00:00. Автор: Лиана |
Hack The Box. Уровень сложности — средний.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. РазведкаСканирование портовДобавляем IP-адрес машины в
10.10.11.188 forgot.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 Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция Результат работы скрипта Nmap нашел нам два открытых порта: 22 — служба OpenSSH 8.2p1 и 80 — веб‑сервер Werkzeug 2.1.2, запущенный из Python 3. Переходим на сайт, где нас сразу встречает форма авторизации. Форма авторизации С помощью Burp Suite построим карту сайта, для чего в контекстном меню Burp History выбираем Engagement tools → Discover content. Карта сайта Ничего нового и полезного для продвижения не находим. Просмотрим комментарии в исходном коде страниц, может быть, получится узнать что‑то интересное. Чтобы удобно отобразить все комментарии с сайта, в Burp переходим к контекстному меню и выбираем Engagement tools → Find comments. Комментарии с сайта В итоге находим пользователя. Попробуем запросить смену пароля для него. Запрос на смену пароля Так как была отправлена ссылка для сброса пароля, пользователь реален. Точка входаПо HTTP-заголовкам ответа определяем, что на сервере работает Varnish. Это ускоритель HTTP, разработанный для динамических веб‑сайтов с большим количеством контента и API. Пробуем в HTTP-заголовке Запрос на сброс пароляЛоги листенера Во входящем запросе присутствует токен для сброса пароля. Идем на указанную страницу, где нам сразу предлагают указать новый пароль. Форма смены пароля Меняем пароль, авторизуемся и осматриваемся на сайте. Домашняя страница пользователя Нам доступны страницы Tickets и Escalate. На первой мы видим проблемы и их статус, на второй есть форма связи с администратором. Отметим для себя проблему с учетными данными для доступа по SSH. Страница TicketsСтраница Escalate Есть еще страница, но ссылка на нее неактивна. Хоть ее и можно найти в исходном коде страницы, доступ все равно запрещен. Нужны права администратора. Поиск ссылки на административную страницу Точка опорыУ нас есть связь с администратором через форму заявок. Я потестировал ее на наличие уязвимостей XSS, но ничего не обнаружил. А вот благодаря карте сайта можно найти страницы, а вернее каталог, где можно отравить кеш. Так, на всех страницах, кроме тех, что в каталоге Ответ сервера на страницу loginОтвет сервера на страницу в каталоге static Кеширование заключается в сохранении копии ресурса, чтобы вернуть ее в ответ на дальнейшие запросы. Запрос на ресурс, уже имеющийся в веб‑кеше, перехватывается, и вместо того, чтобы обращаться к серверу, загружается копия из кеша. Таким образом снижается нагрузка на сервер, которому не приходится самому обслуживать всех клиентов, и повышается производительность. wwwПодробнее о механизмах кеширования сайтов ты можешь прочитать, например, в статье «Веб‑кеширование на примере покупки молока в магазине» на «Хабрахабре». Отравление веб‑кеша — это атака, при которой атакующий использует поведение веб‑сервера и кеша таким образом, чтобы в кеше другим пользователям доставлялся опасный HTTP-ответ. То есть без взаимодействия с другими пользователями уязвимость проэксплуатировать не получится. Первым делом стоит проверить, выполняется ли кеширование для несуществующих страниц. Счетчик (заголовок При этом обрати внимание, что в первом запросе кешированный ответ содержит наш куки! ПродвижениеСобираем все воедино. Мы можем отправить админу сообщение, содержащее ссылку, и он на нее перейдет. При этом есть каталог, кеширующий ответ сервера, причем ответ может вернуть куки пользователя. Поэтому отправим администратору ссылку на любой несуществующий файл в каталоге Отправка сообщения администраторуЗапрос на несуществующую страницу Перейти обратно к новости |