استغلال CVE-2023-44487 لرفض الخدمة HTTP/2 عبر إعادة الضبط السريع
الإصدار الاحترافي v1.0.1 | المؤلف: Sudeepa Wanigarathna
-orange.svg)
جدول المحتويات
نظرة عامة
إطار تقييم بمستوى احترافي لثغرة CVE-2023-44487، وهي ثغرة إعادة الضبط السريع في HTTP/2. تساعد هذه الأداة المتخصصين في الأمن السيبراني على اختبار الأنظمة والتحقق منها ضد أحد أكثر حالات رفض الخدمة HTTP/2 تأثيرًا التي تم الكشف عنها في السنوات الأخيرة.
توضح الأداة كيف يمكن للإنشاء السريع وإعادة الضبط لتدفقات HTTP/2 أن يستنزف موارد الخادم ويؤدي إلى حالات رفض الخدمة (DoS).
أبرز الميزات في لمحة
- محرك هجوم متعدد الاتصالات — اتصالات HTTP/2 متزامنة
- تحكم تكيفي في المعدل — ضبط ديناميكي لتحقيق أقصى فعالية
- وضع التخفي — ترويسات عشوائية وتدوير الاتصالات
- تقارير شاملة — JSON/CSV مع تقييم المخاطر
- دعم Docker — نشر عبر الحاويات
- مراقبة فورية — مقاييس الهجوم والتقدم بشكل مباشر
- تسجيل احترافي — مخرجات وحدة تحكم ملونة مع تسجيل في ملف
| الاستخدام | النتائج |
|---|
 |  |
تفاصيل الثغرة
CVE-2023-44487: هجوم إعادة الضبط السريع HTTP/2
| السمة | القيمة |
|---|
| معرّف CVE | CVE-2023-44487 |
| درجة CVSS | 7.5 (مرتفع) |
| متجه الهجوم | الشبكة |
| تعقيد الهجوم | منخفض |
| التأثير | رفض الخدمة (استنزاف الموارد) |
| البروتوكولات المتأثرة | HTTP/2 |
| تاريخ الإفصاح | أكتوبر 2023 |
نظرة تقنية عامة
تستغل الثغرة آلية إدارة التدفقات في بروتوكول HTTP/2:
- إنشاء التدفق — يرسل العميل إطار HEADERS لإنشاء تدفق جديد
- إعادة ضبط فورية — يرسل العميل فورًا إطار RST_STREAM
- معالجة الخادم — يجب على الخادم معالجة كلا الإطارين، مما يستهلك الموارد
- استنزاف الموارد — الدورات المتكررة تُرهق موارد الخادم
التأثير
- استنزاف الموارد على خوادم HTTP/2
- رفض خدمة محتمل (DoS)
- يمكن أن يؤثر على موازنات التحميل والخوادم الوسيطة وشبكات توصيل المحتوى (CDN)
- لا يتطلب مصادقة أو صلاحيات خاصة
الميزات
الميزات الأساسية
| الميزة | الوصف |
|---|
| دعم HTTP/2 | تنفيذ كامل لبروتوكول HTTP/2 باستخدام مكتبة h2 |
| اتصالات متعددة | هجوم متزامن عبر اتصالات متعددة |
| SSL/TLS | دعم HTTPS مع خيارات التحقق من الشهادات |
| تحكم تكيفي في المعدل | يضبط معدل الهجوم ديناميكيًا بناءً على استجابة الخادم |
| وضع التخفي | ترويسات عشوائية وتدوير الاتصالات |
| مراقبة فورية | عرض المقاييس مباشرة أثناء التشغيل |
| تقارير شاملة | مخرجات JSON/CSV مع تقييم المخاطر |
| دعم Docker | نشر عبر الحاويات لسهولة الاختبار |
إمكانيات متقدمة
- دعم البروكسي — إعداد بروكسي قابل للتوسيع
- تجميع الاتصالات — إدارة فعالة للاتصالات
- استرداد الأخطاء — معالجة سلسة لفشل الاتصالات
- ضبط الأداء — إعدادات قابلة للتخصيص لسيناريوهات مختلفة
- التكامل مع CI/CD — مناسب لاختبارات الأمان الآلية
المتطلبات
متطلبات النظام
| المكوّن | الحد الأدنى | الموصى به |
|---|
| نظام التشغيل | 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
التثبيت
1. التثبيت السريع
# 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. البيئة الافتراضية (موصى بها)
# 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. التثبيت باستخدام Docker
# Build Docker image
docker build -t cve-2023-44487-exploit .
# Run with Docker
docker run --rm cve-2023-44487-exploit target.com
4. التثبيت اليدوي
# 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
اختبار سريع (5 ثوانٍ)
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
تقييم كامل (60 ثانية)
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
بناء الصورة
docker build -t cve-2023-44487-exploit .
تشغيل تقييم أساسي