
CVE-2026-42945 - NGINX Rift Toolkit
مجموعة أدوات شاملة لمسح وتصحيح واختبار CVE-2026-42945 - ثغرة RCE خطيرة في nginx
توفر هذه المجموعة أدوات شاملة لمسح وتصحيح واختبار CVE-2026-42945، وهي ثغرة تنفيذ تعليمات برمجية عن بعد (RCE) خطيرة في nginx تؤثر على الإصدارات الأقدم من 1.26.3 (الخط الرئيسي) و 1.24.1 (المستقر).
تستغل الثغرة تحليل رؤوس HTTP/2 غير الصحيح عند تعطيل ASLR باستخدام تقنيات heap spray.
يمسح شبكة فرعية أو مضيفًا واحدًا لتحديد تثبيتات nginx الثغرة.
الميزات:
يصحح تلقائيًا مثيلات nginx الثغرة إلى الإصدار الآمن الأحدث.
الميزات:
يختبر ثغرة CVE-2026-42945 عبر تقنية heap spray.
الميزات:
paramiko (>= 3.0.0) - مكتبة عميل SSH
rich (>= 13.0.0) - تنسيق الطرفية وأشرطة التقدم
git clone https://github.com/gagaltotal/CVE-2026-42945-NGINX-Rift-Toolkit
cd CVE-2026-42945-NGINX-Rift-Toolkit
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

nginx_scanner.py)python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.10 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/30 --user admin --password "password"
python3 nginx_scanner.py --subnet 192.168.1.0/24 --port 2222 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --output report.html
--subnet SUBNET الشبكة الفرعية المستهدفة بصيغة CIDR (مطلوب)
--user USER اسم مستخدم SSH (الافتراضي: root)
--password PASSWORD كلمة مرور SSH
--key KEY_PATH مسار المفتاح الخاص SSH
--port PORT منفذ SSH (الافتراضي: 22)
--timeout TIMEOUT مهلة الاتصال بالثواني (الافتراضي: 5)
--output FILE ملف تقرير الإخراج (HTML/JSON)
--workers WORKERS عدد الخيوط المتزامنة (الافتراضي: 20)
nginx_patcher.py)
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
python3 nginx_patcher.py --subnet 192.168.1.0/24 --target-version 1.26.3 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 10.0.0.0/30 --port 2222 --user admin --password "password"
--subnet SUBNET الشبكة الفرعية المستهدفة بصيغة CIDR (مطلوب)
--user USER اسم مستخدم SSH (الافتراضي: root)
--password PASSWORD كلمة مرور SSH
--key KEY_PATH مسار المفتاح الخاص SSH
--port PORT منفذ SSH (الافتراضي: 22)
--timeout TIMEOUT مهلة الاتصال بالثواني (الافتراضي: 30)
--target-version VERSION إصدار nginx المراد التصحيح إليه (الافتراضي: الأحدث)
--dry-run عرض ما سيتم تصحيحه دون تنفيذ
--workers WORKERS عدد الخيوط المتزامنة (الافتراضي: 10)
exploit.py)
python3 exploit.py --target 192.168.1.100 --port 80
python3 exploit.py --target 192.168.1.100 --port 80 --command "cat /etc/passwd"
python3 exploit.py --target 192.168.1.100 --port 80 --spray 50
python3 exploit.py --target 192.168.1.100 --port 80 --verbose
--target HOST عنوان IP أو اسم النطاق للهدف (مطلوب)
--port PORT المنفذ المستهدف (الافتراضي: 80)
--command CMD الأمر المراد تنفيذه
--spray NUM عدد محاولات heap spray (الافتراضي: 20)
--timeout TIMEOUT مهلة الاتصال بالثواني (الافتراضي: 5)
--tries NUM عدد محاولات الاستغلال (الافتراضي: 10)
--verbose تمكين الإخراج المفصل
# الخطوة 1: مسح الشبكة للعثور على المثيلات الثغرة
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key --output scan_results.html
# الخطوة 2: مراجعة نتائج المسح في scan_results.html
# الخطوة 3: تصحيح المثيلات الثغرة
python3 nginx_patcher.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# الخطوة 4: التحقق من تطبيق التصحيحات بتشغيل الماسح مرة أخرى
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# الخطوة 1: محاكاة لرؤية ما سيتم تصحيحه
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
# الخطوة 2: تطبيق التصحيحات
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
# الخطوة 1: التحقق أولاً من أن النظام ثغرة
python3 exploit.py --target 10.0.0.50 --port 80 --verbose
# الخطوة 2: في حالة النجاح، يُوصى بالتصحيح الفوري
python3 nginx_patcher.py --subnet 10.0.0.50 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --password "password"
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa --port 2222
chmod 600 ~/.ssh/id_rsa--dry-run لتحديد المشكلات دون تطبيقينشئ الماسح تقارير مفصلة بعدة صيغ:
| الصيغة | الوصف |
|---|---|
| تقرير HTML | قابل للعرض في المتصفح مع ملخص الثغرات والمضيفات المتأثرة وتفاصيل الإصدار |
| تقرير JSON | قابل للقراءة آليًا مع تفاصيل تقنية كاملة |
| الإخراج الطرفي | تقدم فوري بنتائج ملونة |
جميع العمليات تُسجل مع الطوابع الزمنية للامتثال للتدقيق. اطّلع على الإخراج الطرفي للحصول على معلومات تنفيذ مفصلة.
المساهمات مرحب بها! للمساهمة:
git checkout -b feature/improvement)git commit -am 'إضافة تحسين')git push origin feature/improvement)هذه المجموعة مقدمة لاختبار الأمان المصرح به وتقييم الثغرات فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. المستخدمون مسؤولون عن ضمان الحصول على التصريح المناسب قبل استخدام هذه المجموعة.
gagaltotal - GitHub
هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للتفاصيل.
آخر تحديث: 2026-05-20
| الخاصية | القيمة |
|---|
| معرف الثغرة | CVE-2026-42945 |
| النوع | تنفيذ تعليمات برمجية عن بعد (RCE) |
| درجة CVSS | 9.8 (حرج) |
| الإصدارات المتأثرة | < 1.26.3 (الخط الرئيسي) / < 1.24.1 (المستقر) |
| الإصدار المُصحَّح | 1.26.3+ |
| ناقل الهجوم | تحليل رؤوس HTTP/2 غير صحيح |
| المتطلبات المسبقة | تعطيل ASLR على النظام المستهدف |
| الاعتبار | التفاصيل |
|---|
| إدارة مفاتيح SSH | خزّن مفاتيح SSH بأمان، ولا ترسلها أبدًا إلى المستودعات |
| الوصول الشبكي | تأكد من التقسيم الشبكي المناسب للاستخدام الإنتاجي |
| بيئة الاختبار | اختبر دائمًا في بيئة غير إنتاجية أولاً |
| التسجيل | جميع العمليات تولد سجلات مفصلة لمسار التدقيق |
| حالة ASLR | أداة الاستغلال تتطلب تعطيل ASLR على الهدف |
| وضع المحاكاة | استخدم علامة --dry-run لمعاينة التغييرات قبل التطبيق |
| النسخ الاحتياطي | احتفظ دائمًا بنسخة احتياطية من إعدادات nginx قبل التصحيح |