РАЗБОР
AppSec
Статья
Reverse Proxy Bypass
[ обложка статьи ]
Режим чтения
Прежде чем перейти к конкретному найденному багу, стоит понимать саму суть проблемы: reverse proxy обходится не только через хитрые заголовки вроде X-Forwarded-For, но и банально тогда, когда бэкенд-сервис остаётся напрямую доступен из интернета в обход прокси-сервера. Часто причина кроется в неверной настройке правил на самом proxy (например, в Apache mod_proxy) или в том, что администратор забыл закрыть прямой доступ к origin-серверу firewall'ом. Задача атакующего в таких случаях — вычислить настоящий IP бэкенда и обратиться к нему напрямую, минуя все фильтры и WAF, которые висят перед reverse proxy. Именно с поиска такой лазейки и начался разбираемый ниже кейс.
Пришло время рассказать о том, что интересного я нашел на BugBounty Standoff365. А именно - в программе VK GeekBrains. Кстати я там учился на курсах инфобеза.
Мои любимые инструменты от компании Project Discovery: ProjectDiscovery
Приступим!
Для начала соберем субдомены и отсечем от них веб ресурсы
Если вы это сделали, то увидите огромное количество доменов с разными статус кодами, но наиболее частный это 403. Как выходец из HTB, сразу мне попался на глаза хост adminer.gb.ru, в моих мыслях сразу перед глазами появилась машина adminer
Нас там встречает 403, а это значит что пора байпасть, я в таких случаях использую инструмент
GitHub - laluka/bypass-url-parser: bypass-url-parser
На удивление была реакция на веб хидер
Потом делаем все как учили на HTB: крутим уязвимость связанную с elasticsearch
CVE-2021-21311 - GitHub Advisory Database
и получаем SSRF
Перед тем как начать дальнешие атаки во внутреннюю сеть я связался с @mokando и попросил разрешения на атаки для других доменов, естественно без пост эксплуатации ,а для повышения критичности данной уязвимости.
ВАЖНО!!! Советую всегда спрашивать разрешения и говорить о своих намерениях , или можно улететь в бан)
Крутим дальше, так мы уже обошли фильтры reverse proxy и можем выполнять атаку Host header injection
Если у нас есть возможность обойти Reverse Proxy, то значит мы сможем и обращаться к другим доменам
Настраиваем бюрп что бы удобно было ходить и подгружается нормально веб приложение Host header injection
И для XFF
Ходя по внутренним доменам мы можем найти еще множесто уязвимостей LFI grafana
Information disclosure
Таким образом мы получаем полный доступ к хостам за реверс прокси и нашли еще множество интересной информации. Данная уязвимость была оценена как критическая.
Спасибо платформе standoff365, за возможность искать уязвимости на многих различных проектах!
Мои любимые инструменты от компании Project Discovery: ProjectDiscovery
Приступим!
Для начала соберем субдомены и отсечем от них веб ресурсы
Код:
subfinder -d gb.ru -o gb_domain | httpx -silent -sc -title
Если вы это сделали, то увидите огромное количество доменов с разными статус кодами, но наиболее частный это 403. Как выходец из HTB, сразу мне попался на глаза хост adminer.gb.ru, в моих мыслях сразу перед глазами появилась машина adminer
Нас там встречает 403, а это значит что пора байпасть, я в таких случаях использую инструмент
GitHub - laluka/bypass-url-parser: bypass-url-parser
На удивление была реакция на веб хидер
Код:
X-Forwared-for: 5.61.239.22
Потом делаем все как учили на HTB: крутим уязвимость связанную с elasticsearch
CVE-2021-21311 - GitHub Advisory Database
и получаем SSRF
Перед тем как начать дальнешие атаки во внутреннюю сеть я связался с @mokando и попросил разрешения на атаки для других доменов, естественно без пост эксплуатации ,а для повышения критичности данной уязвимости.
ВАЖНО!!! Советую всегда спрашивать разрешения и говорить о своих намерениях , или можно улететь в бан)
Крутим дальше, так мы уже обошли фильтры reverse proxy и можем выполнять атаку Host header injection
Если у нас есть возможность обойти Reverse Proxy, то значит мы сможем и обращаться к другим доменам
Настраиваем бюрп что бы удобно было ходить и подгружается нормально веб приложение Host header injection
И для XFF
Ходя по внутренним доменам мы можем найти еще множесто уязвимостей LFI grafana
Information disclosure
Таким образом мы получаем полный доступ к хостам за реверс прокси и нашли еще множество интересной информации. Данная уязвимость была оценена как критическая.
Спасибо платформе standoff365, за возможность искать уязвимости на многих различных проектах!
AI-выжимка
сгенерировано ИИ
Тезисы статьи скоро
Статья читается полностью. Тезисы со ссылками на разделы появятся позже.
Содержание
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
Перейти к курсу →
Продолжить чтение
Следующий разбор
Обход ACL через парсинг URL на реверс-прокси
Комментарии
3