
ماسح ومصحح آلي قائم على SSH لثغرات رفع الامتيازات المحلية في نواة لينكس CVE-2026-43284 وCVE-2026-43500، مع اكتشاف متعدد المضيفين، وكشف رفع الامتيازات، وتخفيف حظر الوحدات النمطية.
إخلاء مسؤولية: صُممت هذه الأداة خصيصًا لعمليات تدقيق الأمان الداخلية المشروعة. الاستخدام دون إذن ضد أنظمة لا تملكها يُعد انتهاكًا. تم التطوير بواسطة Gagaltotal666 - GhostGTR666.
تحدد هذه الأداة وتخفف من ثغرتين من نوع تصعيد الامتيازات المحلية (LPE) في نواة Linux:
f4c50a4034e6 بتاريخ 2026-05-05)/etc/modprobe.d/| الميزة | الوصف |
|---|---|
| ماسح متعدد المضيفين | فحص شبكة فرعية كاملة (CIDR) أو قائمة عناوين IP محددة بالتوازي |
| اكتشاف TCP Ping | اكتشاف تلقائي للمضيفات النشطة قبل SSH (يمكن تخطيه باستخدام --skip-discovery) |
| تدقيق عميق | تحليل إصدار النواة، حالة الوحدات، تصحيح upstream، مستوى الامتيازات |
| تقييم الثغرات | تصنيف تلقائي للحالة: VULNERABLE، MITIGATED، LIKELY_PATCHED، POSSIBLY_SAFE، MODULE_NOT_LOADED |
| تخفيف آلي | حظر الوحدات، إلغاء تحميلها، ومسح page-cache بأمر --patch واحد |
| حقن Sudo بدون لمس | حقن تلقائي لكلمة المرور عبر sudo -S — لا حاجة لتكوين NOPASSWD |
| كشف ذكي للمصادقة | اكتشاف تلقائي لتصعيد الامتيازات (root، sudo NOPASSWD، sudo بكلمة مرور) |
| التحقق من صحة CLI | فحص مسبق للأخطاء الإملائية، التحقق من صحة ملف مفتاح SSH (منع known_hosts المزيف) |
| تنفيذ متوازٍ | تجمع خيوط لعمليات الفحص و SSH (افتراضي 20 عاملًا) |
| تقارير JSON | تصدير نتائج التدقيق الكاملة بتنسيق JSON |
| مخرجات منسقة | مخرجات ملونة + ملخص PrettyTable (تراجع تلقائي إذا كانت المكتبة غير متوفرة) |
| معالجة الإشارات | إيقاف تشغيل آمن عبر SIGINT/SIGTERM |
Python 3.8 أو أحدث
المكتبات: paramiko، colorama، prettytable
python3 -m venv .venv
source .venv/bin/activate
# استنساخ المستودع
git clone https://github.com/gagaltotal/dirtyfrag-scanner.git
cd dirtyfrag-scanner
# تثبيت التبعيات
pip install -r requirements.txt
# أو
pip install paramiko colorama prettytable

يكتشف الثغرات دون تغيير أي شيء في الخادم المستهدف.
# باستخدام كلمة المرور
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user ghostgtr666 --password 'server@02!'
# باستخدام مفتاح SSH
python3 dirtyfrag_scanner.py --subnet 10.134.205.0/24 --user root --key ~/.ssh/id_rsa
# باستخدام كليهما (كلمة المرور كاحتياط إذا فشل المفتاح)
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user admin --password 'pass' --key ~/.ssh/id_rsa
# فحص عناوين IP محددة (بدون اكتشاف)
python3 dirtyfrag_scanner.py --hosts 192.168.1.10,192.168.1.20 --user admin --password 'pass'
ينفذ التدقيق ويطبق التخفيف مباشرة على الخوادم المعرضة للخطر.
# التصحيح باستخدام كلمة المرور (حقن SUDO تلقائي، بدون الحاجة إلى NOPASSWD)
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user ghostgtr666 --password 'server@02!' --patch
# التصحيح باستخدام تسجيل دخول root
python3 dirtyfrag_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --patch
# التصحيح مع عمال مخصصين (فحص أسرع)
python3 dirtyfrag_scanner.py --subnet 192.168.0.0/16 --user admin --password 'pass' --patch --workers 50
--subnet CIDR فحص شبكة فرعية CIDR (مثال: 192.168.1.0/24)
--hosts IP[,IP,...] فحص عناوين IP محددة (مفصولة بفواصل، بدون مسافات)
--user USERNAME اسم مستخدم SSH (مطلوب)
--password PASSWORD كلمة مرور SSH (استخدم علامات الاقتباس إذا كانت هناك أحرف خاصة)
--key PATH المسار إلى مفتاح SSH الخاص (مثال: ~/.ssh/id_rsa، وليس known_hosts!)
--port PORT منفذ SSH مخصص (الافتراضي: 22)
--timeout SECONDS مهلة اتصال SSH (الافتراضي: 10، الحد الأقصى: 300)
--skip-discovery تخطي اكتشاف TCP ping، والاتصال المباشر بـ SSH لجميع عناوين IP
--workers NUM عدد عمال SSH المتوازيين (الافتراضي: 20، الحد الأدنى: 1، الحد الأقصى: 100)
--patch تطبيق التخفيف على المضيفات المعرضة للخطر
--output FILE حفظ نتائج التدقيق في ملف JSON
صُممت هذه الأداة للعمل في بيئات خوادم SSH متنوعة دون الحاجة إلى تعديل sudoers:
Root مباشر (موصى به)
--user root --key ~/.ssh/id_rsa --patch
Sudo NOPASSWD
--user ubuntu --key ~/.ssh/id_rsa --patch
/etc/sudoers مُهيأ بالفعل بـ NOPASSWDsudo -nSudo مع حقن كلمة المرور (بدون لمس) ⭐
--user ubuntu --password 'mypass' --patch
/etc/sudoers: ALL=(ALL) ALL القياسيsudo -S -p ''هجين (مفتاح + كلمة مرور)
--user ubuntu --key ~/.ssh/id_rsa --password 'mypass' --patch
عند استخدام علامة --patch، تنفذ الأداة الخطوات التالية بالتسلسل:
/etc/modprobe.d/dirtyfrag.conf القديم (إن وجد)/etc/modprobe.d/dirtyfrag.conf:
install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false
chmod 644 على ملف التكوينrmmod esp4 (تخطَّ إذا لم تكن محملة)rmmod esp6 (تخطَّ إذا لم تكن محملة)rmmod rxrpc (تخطَّ إذا لم تكن محملة)echo 3 > /proc/sys/vm/drop_cachesملاحظة: إذا كانت الوحدة لا تزال محملة بعد rmmod، سيتم إبلاغ المستخدم بأن إعادة التشغيل قد تكون ضرورية.
──────────────────────────────────────────────────────────
المضيف 1/2: 10.134.205.163 (ubuntu-web-01)
──────────────────────────────────────────────────────────
النظام : Ubuntu 22.04.4 LTS
النواة : 6.8.0-111-generic
الامتياز : user
CVE-2026-43284 (xfrm-ESP) [POSSIBLY_SAFE]
esp4 محملة : لا
esp6 محملة : لا
التخفيف : غير مطبق
تصحيح upstream: غير مضمّن (<6.15)