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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/w5m1n9/cisco-unified-communications-manager-server-side-forgery-request-vulnerability-cve-2026-20230
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالأوراق والأبحاثالتعلم والتعليمالفريق الأحمر
GitHubw5m1n9/cisco-unified-communications-manager-server-side-forgery-request-vulnerability-cve-2026-20230

Cisco-Unified-Communications-Manager-Server-Side-Forgery-Request-Vulnerability-CVE-2026-20230

يحلل CVE-2026-20230 SSRF إلى كتابة ملفات عشوائية و RCE في Cisco Unified Communications Manager، مما يوفر اشتقاق PoC ومنطق الكشف وإرشادات دفاعية.

عرض المستودع
111منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-20230 Cisco Unified Communications Manager SSRF ثغرة كتابة ملف عشوائي إلى RCE عملية اشتقاق PoC والتفكير

نطاق التطبيق: يُستخدم فقط في بيئات الاختبار المحلية، وبيئات إعادة الإنتاج المصرح بها، والتحقق من الثغرات وتحليل قواعد الحماية. لا تستخدمه على أهداف غير مصرح بها. تحلل هذه المقالة بشكل أساسي سلسلة استغلال CVE-2026-20230، والظواهر القابلة للتحقق، ومنطق الحكم، وأفكار الحماية، ولا تقدم رسائل هجوم قابلة للتنفيذ مباشرة، أو محتوى WebShell، أو حمولات تنفيذ الأوامر.

1. خلفية الثغرة

CVE-2026-20230 هي ثغرة تزوير طلب من جانب الخادم (SSRF) في Cisco Unified Communications Manager (Unified CM / CUCM) و Cisco Unified Communications Manager Session Management Edition (Unified CM SME). تنبع هذه الثغرة من عدم كفاية التحقق من المدخلات في عملية معالجة طلبات HTTP معينة، حيث يمكن للمهاجم إنشاء طلبات دون مصادقة، مما يجعل الجهاز المتأثر يصل إلى واجهات داخلية أو موارد محلية نيابة عن المهاجم.

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

منح Cisco لهذه الثغرة درجة CVSS v3.1 تبلغ 8.6، مع متجه:

root@kitploit:~
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N

على الرغم من أن درجة CVSS تظهر كـ "High"، إلا أن Cisco صنفت تأثير الأمان لهذه الثغرة على أنه "Critical". والسبب هو أنه بعد الاستغلال الناجح يمكن كتابة ملفات نظام التشغيل الأساسية، وقد يتم رفعها إلى صلاحيات الجذر.

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

2. لماذا لا يكفي مجرد رؤية ما إذا كانت واجهة ما تعيد 200؟

هذه الثغرة ليست ثغرة ويب عادية من نوع "قم بزيارة عنوان URL ثابت واحصل على 200". سلسلة استغلالها تتضمن ثلاثة مستويات على الأقل:

  1. واجهات خارجية يمكن الوصول إليها مرتبطة بـ WebDialer أو cmplatform.
  2. منطق الوصول الداخلي الذي يمكن أن يتأثر بـ SSRF.
  3. سلوك كتابة ملف أو نشر خدمة يمكن تشغيله بواسطة الطلبات الداخلية.

لذلك، مجرد زيارة واجهة معينة والحصول على HTTP 200، 302، 401، 404 أو 500 لا يمكن أن يثبت بشكل مباشر وجود الثغرة أو عدم وجودها.

على سبيل المثال، الوصول إلى واجهة WebDialer WSDL يشير فقط إلى أن الهدف يعرض وظائف WebDialer ذات الصلة، ولا يمكن أن يثبت أن SSRF اللاحق سيكون قادرًا على تجاوز التصفية. الوصول إلى واجهة installClusterStatusExecute يشير فقط إلى وجود مدخل إدخال ذي صلة، ولا يمكن أن يثبت بمفرده أن كتابة الملف العشوائي قد تمت. على العكس من ذلك، إذا أعادت إحدى الخطوات استثناءً، فقد يكون ذلك بسبب إصدار الهدف، أو التصحيحات، أو تحليل اسم المضيف، أو أذونات المسار، أو أجهزة الوكيل، أو حالة الخدمة، ولا يعني بالضرورة أن سلسلة الثغرة غير موجودة بالكامل.

الحكم الأكثر سلامة يجب أن يستخدم مزيجًا من الأدلة متعددة المراحل:

  1. تأكيد أن الهدف هو Cisco Unified CM / Unified CM SME.
  2. تأكيد أن خدمة WebDialer مفعلة.
  3. تأكيد القدرة على الحصول على اسم المضيف الحقيقي للهدف أو معرف الخدمة الداخلي.
  4. تأكيد أن مدخل SSRF يمكن الوصول إليه، وأن هناك علامات على قيام الخادم بتقديم طلبات داخلية.
  5. في بيئات الاختبار المصرح بها، تأكيد ما إذا كان يمكن إنتاج دليل على كتابة ملفات يمكن التحكم فيها.
  6. الجمع بين سجلات جانب الخادم، وتغييرات نظام الملفات، وسجلات حاوية الويب، وبيانات التنبيه لتحديد ما إذا كان قد تم تشغيل الثغرة حقًا.

فقط عندما تحدث "WebDialer مفعلة + إصدار متأثر + سلوك SSRF قائم + كتابة ملف يمكن التحكم فيه قائمة" في نفس الوقت، يجب الحكم عليها على أنها ثغرة قابلة للاستغلال بثقة عالية.

3. فكرة بناء PoC

جوهر سلسلة الاستغلال العامة الحالية ليس مجرد SSRF، بل هو مزيج من SSRF مع آليات خدمة Axis/Java Web، أو كتابة السجلات، أو منطق معالجة ملفات وصف النشر.

يمكن تلخيص الفكرة العامة على النحو التالي:

root@kitploit:~
الحصول على معلومات WebDialer
    ↓
الحصول على اسم المضيف الحقيقي للهدف
    ↓
تشغيل SSRF عبر الواجهات ذات الصلة بـ cmplatform
    ↓
الوصول إلى مسار إدارة WebDialer / Axis الداخلي
    ↓
كتابة أو نشر محتوى وصف خدمة يمكن التحكم فيه
    ↓
إنشاء خدمة جديدة قابلة للاستدعاء أو قدرة كتابة ملف
    ↓
تحويل قدرة كتابة الملف إلى برنامج نصي يمكن الوصول إليه عبر الويب
    ↓
في بيئة معينة، تحقيق تنفيذ الأوامر

من منظور تصميم السلسلة، اسم المضيف هو نقطة رئيسية. بعض منطق التصفية قد يعترض 127.0.0.1 و localhost وعناوين محلية شائعة أخرى، ولكن قد يُسمح لاسم المضيف الحقيقي للهدف بالدخول إلى عملية الطلب اللاحقة. لذلك، سيبدأ PoC باستخراج اسم المضيف الحقيقي من معلومات WSDL الخاصة بـ WebDialer، ثم استخدامه كبادئة للوصول الداخلي في سلسلة SSRF.

النقطة الرئيسية الثانية هي المنطق المتعلق بخدمة Axis. لا يقوم PoC بتحميل الملفات مباشرة إلى دليل الويب، بل من خلال سلسلة معالجة الخدمة الداخلية، يجعل مكون جانب الخادم يكتب محتوى يمكن للمهاجم التحكم فيه إلى مسار محدد. هذه العملية هي في الأساس مزيج من "طلب داخلي من جانب الخادم + سلوك تكوين/كتابة سجل للمكون + تجاوز المسار/التحكم في المسار".

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

لا تقدم هذه المقالة رسائل استغلال كاملة ومحتوى WebShell. للحماية والتحقق، يكفي فهم الخصائص الأساسية التالية:

root@kitploit:~
مدخل الطلب الخارجي: واجهات متعلقة بحالة تثبيت cmplatform
مدخل الحصول على المعلومات: واجهات WebDialer WSDL / services ذات الصلة
هدف التوجيه الداخلي: المسارات المتعلقة بـ WebDialer / Axis / AdminService
السلوكيات الرئيسية: SSRF، طلب داخلي من جانب الخادم، كتابة ملف يمكن التحكم فيه، وصول ملف إلى الويب
المخاطر النهائية: كتابة ملف عشوائي، وصول WebShell، تنفيذ الأوامر، مسار رفع صلاحية الجذر

4. منطق الحصول على اسم المضيف

يحتاج PoC أولاً إلى الحصول على اسم المضيف الحقيقي للهدف، بدلاً من استخدام عنوان IP فقط أو اسم المجال الخارجي.

والسبب هو أن منطق تصفية SSRF لا يحدد فقط الهدف النهائي للاتصال، بل قد يتحقق أيضًا من حقل اسم المضيف، وسلسلة URL، وكلمات المفاتيح للعناوين المحلية، وما إلى ذلك. قد يتم حظر العناوين المحلية الشائعة مثل 127.0.0.1 و localhost، بينما قد يتم اعتبار اسم المضيف الحقيقي للجهاز كاسم عقدة قانوني في بعض السيناريوهات.

الواجهات التي يمكن استخدامها للمساعدة في الحكم تتعلق عادةً بمعلومات WebDialer WSDL. بعد الوصول إلى هذا النوع من WSDL، قد يحتوي الرد على عنوان الخدمة، أو حقل الموقع، أو معرفات مضيف أخرى قابلة للتحليل. سيقوم PoC باستخراج اسم المضيف من عنوان URL في نص الرد واستخدامه كهدف الوصول الداخلي لمرحلة SSRF التالية.

يجب أن يكون معيار الحكم في هذه المرحلة:

  1. هل واجهة WSDL يمكن الوصول إليها؟
  2. هل محتوى الرد يتوافق مع خصائص خدمة WebDialer / Axis؟
  3. هل يمكن استخراج اسم المضيف الحقيقي من الرد؟
  4. هل يختلف اسم المضيف المستخرج عن عنوان IP الخارجي أو اسم المجال؟
  5. هل يمكن قبول اسم المضيف هذا بواسطة مدخل SSRF اللاحق؟

إذا فشل تحليل اسم المضيف، قد يتراجع PoC إلى عنوان IP الهدف، لكن هذا سيقلل بشكل كبير من معدل النجاح. في البيئات الحقيقية، تشمل الأسباب الشائعة لفشل تحليل اسم المضيف: WebDialer غير مفعل، واجهات مقيدة بالتحكم في الوصول، الردود المعاد كتابتها بواسطة الوكيل العكسي، تكوين الشهادة أو الخدمة غير مكتمل.

5. مرحلة تشغيل SSRF

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

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

المفتاح في هذه المرحلة ليس "القدرة على الوصول إلى عنوان URL خارجي"، بل "القدرة على جعل جهاز CUCM نفسه يصل إلى واجهات إدارة WebDialer / Axis الداخلية التي يمكن الوصول إليها من قبل الجهاز". لذلك، تأتي قيمة SSRF من جانبين:

  1. تجاوز قيود الوصول إلى الشبكة الخارجية، والوصول إلى مسارات الخدمة التي لا يمكن الوصول إليها إلا من قبل الجهاز المحلي أو المكونات الداخلية.
  2. باستخدام حدود الثقة للخدمة الداخلية، تحويل معلمات HTTP العادية إلى عمليات مكونات داخلية.

في التحقق المصرح به، لا يمكن الحكم على نجاح SSRF فقط بناءً على رمز حالة HTTP. الأدلة الأكثر موثوقية تشمل:

  1. ظهور سجلات وصول إلى مسارات داخلية في سجلات جانب الخادم.
  2. ظهور خصائص واجهة داخلية في محتوى الرد على الطلب.
  3. ظهور آثار خدمة جديدة أو غير طبيعية في صفحة خدمات WebDialer اللاحقة.
  4. ظهور ملفات غير طبيعية تم إنشاؤها بواسطة عملية جانب الخادم في نظام الملفات.
  5. تسجيل أجهزة الأمن لمعلمة اسم المضيف التي تحتوي على مسارات غير طبيعية، أو محتوى مشفر، أو مسارات خدمة داخلية.

6. كتابة خدمة Axis وفكرة كتابة الملف العشوائي

في السلسلة العامة، يتم استخدام SSRF أيضًا للوصول إلى واجهات خدمة Axis ذات الصلة ومحاولة كتابة محتوى وصف نشر الخدمة. يقوم المهاجم بإنشاء هيكل XML/WSDD خاص، مما يجعل مكون جانب الخادم يكتب محتوى يمكن التحكم فيه إلى مسار محدد أثناء المعالجة.

جوهر هذه المرحلة ليس تحميل الملفات التقليدي، بل إساءة استخدام منطق معالجة مكون جانب الخادم:

root@kitploit:~
معلمات يمكن للمستخدم التحكم فيها
    ↓
طلب داخلي عبر SSRF
    ↓
معالجة خدمة Axis / Web
    ↓
كتابة وصف نشر قابل للتحكم أو سجل
    ↓
إنشاء ملف في مسار محدد

من منظور التحليل الأمني، هناك عدة نقاط رئيسية هنا:

  1. يحتاج مسار الكتابة المستهدف عادةً إلى تجاوز إلى دليل يمكن الوصول إليه بواسطة حاوية الويب.
  2. يجب أن يفي المحتوى المكتوب بتنسيق معالجة مكون جانب الخادم، وإلا فقد ينتج عنه ملفات غير صالحة فقط.
  3. يعتمد مالك الملف وأذوناته على عملية Tomcat / CUCM.
  4. إذا كان موقع الكتابة يمكن الوصول إليه عبر الويب، فقد تتحول كتابة الملف إلى تنفيذ برنامج نصي.
  5. حتى إذا كان موقع الكتابة غير قابل للتنفيذ، فقد يظل يسبب تلوث التكوين، أو الثبات، أو شروط رفع الصلاحية لاحقًا.

لذلك، فإن نقطة الخطر العالية في CVE-2026-20230 ليست فقط SSRF، بل قدرة SSRF على عبور حدود الثقة، والدخول إلى سلسلة الإدارة الداخلية/نشر الخدمة، وتشغيل كتابة ملف يمكن التحكم فيه في النهاية.

7. منطق كتابة WebShell على مرحلتين

عادةً ما يستخدم تصميم PoC الكتابة على مرحلتين، بدلاً من تنفيذ الأوامر في خطوة واحدة.

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

ثم تستخدم المرحلة الثانية قدرة الكتابة من المرحلة الأولى لكتابة برنامج نصي لتنفيذ الأوامر إلى دليل يمكن الوصول إليه عبر الويب. بعد ذلك، يمكن للمهاجم تشغيل أوامر النظام من خلال معلمات HTTP.

مزايا التصميم ذي المرحلتين هي:

  1. تقليل تعقيد الحمولة في طلب SSRF واحد.
  2. تجنب تلف الحمولة بسبب XML، ترميز URL، أو هروب الأحرف الخاصة.
  3. فصل "نشر الخدمة" عن "كتابة ملف التنفيذ النهائي" لتسهيل التصحيح.
  4. سهولة ضبط نقطة الهبوط في مسارات الهدف المختلفة.
  5. فصل مرحلة تنفيذ الأوامر اللاحقة عن مرحلة SSRF.

ولكن من منظور الحماية، تجلب الكتابة على مرحلتين أيضًا سطح كشف أوضح:

  1. سيحاول الطلب غير الطبيعي الأول عادةً إنشاء خدمة جديدة أو كتابة JSP وسيطة.
  2. سيزور الطلب غير الطبيعي الثاني عادةً JSP الوسيطة ويحمل معلمات مثل اسم الملف ومحتوى الملف.
  3. سيزور المرحلة الثالثة JSP النهائي لتنفيذ الأوامر، ويحمل كلمة مرور المصادقة أو معلمات الأوامر.
  4. في سجلات الوصول إلى الويب، ستظهر سلوكيات الزيارة المستمرة لمسارات WebDialer، وservices، وaxis2-web، وplatform-services، وما إلى ذلك في فترة زمنية قصيرة.
  5. قد تظهر JSP غير طبيعية، أو أسماء خدمات غير طبيعية، أو ملفات سجل غير طبيعية، أو موارد ويب جديدة في نظام الملفات.

8. تدفق التنفيذ الكامل لـ PoC الحالي

يمكن تلخيص تدفق PoC الحالي على النحو التالي:

  1. تحليل عنوان الهدف.
  2. الوصول إلى WebDialer WSDL، ومحاولة استخراج اسم المضيف الحقيقي.
  3. إنشاء طلب SSRF، مستهدفًا مسار إدارة WebDialer / Axis الداخلي.
  4. كتابة محتوى متعلق بخدمة Axis من خلال الطلب الداخلي.
  5. زيارة صفحة services، والتحقق مما إذا تم نشر الخدمة غير الطبيعية بنجاح.
  6. استدعاء الخدمة الجديدة، وكتابة برنامج نصي لكتابة ملفات المرحلة الأولى.
  7. زيارة برنامج نصي للمرحلة الأولى، كتابة برنامج نصي لتنفيذ الأوامر في المرحلة الثانية.
  8. زيارة برنامج نصي للمرحلة الثانية، تنفيذ أمر اختبار.
  9. بناءً على استجابة HTTP، ونتائج هبوط الملف، ومخرجات الأوامر، تحديد ما إذا كان الاستغلال ناجحًا.

من منظور معدل نجاح الاستغلال، تتركز نقاط الفشل الأكثر أهمية عادةً في:

  1. WebDialer غير مفعل.
  2. فشل تحليل اسم المضيف أو تم تصفيته.
  3. طلب SSRF لم يدخل حقًا إلى الخدمة الداخلية.
  4. فشل نشر خدمة Axis.
  5. نقطة هبوط تجاوز المسار لا تتكيف مع إصدار الهدف.
  6. دليل الويب غير قابل للكتابة أو لا يتم تنفيذ البرنامج النصي.
  7. الهدف تم تصحيحه بالفعل أو استخدام حزمة الإصلاح المؤقتة من Cisco.
  8. قام الوكيل، WAF، EDR، أو مراقبة سلامة الملفات بحظر المراحل الوسيطة.

لذلك، فإن قابلية استغلال PoC هذا عالية في الإصدارات المتأثرة المحددة ومسارات التطابق الافتراضية، لكنها ليست قابلة للقتل الشامل والمستقر لجميع أصول CUCM.

9. منطق الحكم على النجاح

لا يمكن الحكم على نجاح CVE-2026-20230 فقط من خلال ما إذا كان البرنامج النصي قد اكتمل. يجب تقسيم الحكم الأكثر منطقية إلى أربعة مستويات.

المستوى الأول: يشتبه في تعرض الهدف

الشروط:

root@kitploit:~
يمكن الوصول إلى WebDialer WSDL
أو يمكن الوصول إلى صفحة services
أو يمكن الوصول إلى الواجهات ذات الصلة بـ cmplatform

هذا يشير فقط إلى وجود سطح هجوم ذي صلة في الهدف، ولا يمكنه إثبات قابلية استغلال الثغرة.

المستوى الثاني: يشتبه في وجود الثغرة

الشروط:

root@kitploit:~
إصدار الهدف ضمن النطاق المتأثر
WebDialer مفعلة
يمكن تحليل اسم المضيف
مدخل SSRF يعيد استجابة غير طبيعية ولكن معقولة من جانب الخادم

في هذه الحالة، يجب الاستمرار في التحقق باستخدام سجلات جانب الخادم أو بيئات الاختبار المصرح بها.

المستوى الثالث: تأكيد كتابة الملف

الشروط:

root@kitploit:~
بعد SSRF، يظهر ملف يمكن التحكم فيه من جانب الخادم
أو يظهر ملف غير طبيعي تم إنشاؤه بواسطة عملية جانب الخادم في دليل الويب
أو تظهر خدمة جديدة غير طبيعية في صفحة services
أو يظهر محتوى وصف نشر يمكن التحكم فيه في السجلات

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

المستوى الرابع: تأكيد RCE

الشروط:

root@kitploit:~
تم تحليل وتنفيذ البرنامج النصي الذي يمكن الوصول إليه عبر الويب وكتابته بنجاح
ويمكن ملاحظة نتيجة تنفيذ جانب الخادم من خلال أوامر اختبار مصرح بها

فقط هذا المستوى يمكن الحكم عليه بأن تنفيذ الأوامر عن بُعد قد تم. كتابة الملف بنجاح لا تعني بالضرورة نجاح RCE، ولكن في بيئات خدمات عالية الصلاحية مثل CUCM، فإن كتابة الملف وحدها تشكل خطرًا كبيرًا.

10. أمثلة الاستخدام

لا تقدم هذه المقالة أمثلة على تنفيذ exploits يمكن استخدامها مباشرة للهجوم.

في البيئات المصرح بها، يوصى باستخدام طرق "الفحص للقراءة فقط" أو "التحقق غير التدميري"، على سبيل المثال:

root@kitploit:~
python3 CVE-2026-20230-check.py https://127.0.0.1 --check

تشمل العناصر الموصى بفحصها:

  1. هل الهدف هو Cisco Unified CM / Unified CM SME؟
  2. هل خدمة WebDialer مفعلة؟
  3. هل يمكن الوصول إلى WSDL؟
  4. هل صفحة services مكشوفة؟
  5. هل إصدار الهدف أقل من إصدار الإصلاح؟
  6. هل توجد JSP جديدة غير طبيعية، أو خدمة Axis غير طبيعية، أو آثار كتابة سجل غير طبيعي؟

لا يوصى بإجراء التحقق الكامل من كتابة الملف أو تنفيذ الأوامر على أنظمة الإنتاج. حتى في حالة الاختبارات المصرح بها، يجب إعطاء الأولوية للقيام بذلك في بيئات اختبار معزولة، أو بيئات لقطات، أو وفقًا لعملية التحقق الموصى بها من قبل الشركة المصنعة.

11. حدود الأمان في تصميم PoC

يجب أن تكون حدود الأمان لهذا النوع من PoC واضحة.

أولاً، لا يجب تنفيذ الأوامر افتراضيًا. مرحلة تنفيذ الأوامر هي تحقق عالي المخاطر، ويمكن أن تسبب تغييرات في حالة النظام، تلوث السجلات، خلل في الخدمة، أو استجابة مرتبطة من أجهزة الأمن.

ثانيًا، لا يجب كتابة WebShell افتراضيًا. حتى إذا تم كتابة ملف اختبار، فقد يتم الحكم عليه من قبل EDR، أو برامج مكافحة WebShell، أو مراقبة سلامة الملفات، أو أنظمة تدقيق الامتثال على أنه اختراق حقيقي.

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

رابعًا، يجب فصل وضع الفحص عن وضع الاستغلال. يوصى بتقسيم PoC إلى نصين: واحد فقط لتحديد الأصول والحكم على حالة الخدمة، والآخر للتحقق من كتابة الملف فقط في بيئات الاختبار المحلية أو البيئات المصرح بها بوضوح.

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

سادسًا، يجب تعطيل مرحلة RCE افتراضيًا. حتى إذا تم الاحتفاظ بكود البحث، يجب أن يُطلب من المستخدم تمرير معلمة تأكيد الترخيص بشكل صريح قبل السماح بدخول مرحلة كتابة الملف أو تنفيذ الأوامر.

12. إلهام لتصميم قواعد الحماية

من منظور اكتشاف حركة المرور، لا يمكن مطابقة اسم ملف ثابت واحد أو اسم خدمة ثابت أو اسم JSP ثابت فقط. يمكن تعديل اسم الخدمة واسم الملف والمسار في PoC العام، لذا فإن قواعد السلسلة الواحدة يمكن أن تؤدي بسهولة إلى إخفاقات.

نهج الكشف الأكثر منطقية هو استخراج الخصائص حول مراحل سلسلة الهجوم.

الفئة الأولى: مرحلة الحصول على المعلومات

التركيز على:

root@kitploit:~
/webdialer/Version.jws?wsdl
/webdialer/services
WebDialer WSDL
Axis services listing

إذا قام عميل خارجي بزيارة WSDL ثم زار واجهات حالة تثبيت cmplatform في فترة زمنية قصيرة، يجب رفع مستوى الخطر.

الفئة الثانية: مرحلة تشغيل SSRF

التركيز على:

root@kitploit:~
/cmplatform/installClusterStatusExecute
action=clusterNodeInstallStatus
نمو غير طبيعي في معلمة hostname
ظهور فواصل مسار مشفرة بعناوين URL في معلمة hostname
ظهور خصائص مسار داخلي مثل webdialer و services و AdminService و platformcom و installstages في معلمة hostname

المفتاح في هذه المرحلة هو أن معلمة hostname لم تعد تشبه اسم مضيف عادي، بل تظهر خصائص تشبه المسار، وعنوان URL، والتشفير، و XML.

الفئة الثالثة: مرحلة حقن Axis / WSDD

التركيز على:

root@kitploit:~
deployment
wsdd
java:RPC
requestFlow
LogHandler
allowedMethods
className
fileName
writeToConsole

عند ظهور هذه الحقول معًا، يجب الاشتباه بقوة في أن المهاجم يحاول كتابة محتوى يمكن التحكم فيه من خلال ملف وصف نشر خدمة Axis.

الفئة الرابعة: مرحلة كتابة الملف

التركيز على:

root@kitploit:~
axis2-web
platform-services
كتابة ملف JSP
ظهور مزيج من اسم الملف ومحتوى الملف في المعلمات
تجاوز مسار دليل الويب
common/log/taos-log-a
tomcat/webapps

إذا ظهر في حركة الهجوم الكثير من ../ وتجاوز مسار مشفر بعناوين URL وامتداد JSP ومسار Tomcat WebApp، يجب الحكم عليه على أنه عالي الخطورة.

الفئة الخامسة: مرحلة تنفيذ الأوامر

التركيز على:

root@kitploit:~
زيارة JSP الجديد
ظهور معلمات أوامر مثل pwd و cmd و command و exec و i في معلمات الطلب
ظهور تنسيق إخراج أوامر النظام في الرد
إكمال نفس عنوان IP المصدر لسلسلة متصلة من الحصول على WSDL و SSRF والكتابة والتنفيذ في فترة زمنية قصيرة

من منظور تصميم القواعد، يوصى باستخدام الكشف متعدد المراحل:

  1. الحصول على معلومات WebDialer: تنبيه منخفض أو متوسط الخطر.
  2. SSRF غير طبيعي في cmplatform hostname: تنبيه عالي الخطر.
  3. خصائص مزيج Axis/WSDD/LogHandler: تنبيه خطير.
  4. كتابة ملف JSP أو معلمات تنفيذ الأوامر: تنبيه خطير.
  5. إصابة مباشرة من ارتباط متعدد المراحل: ترقية مباشرة إلى حادث اختراق.

13. توصيات التحقيق وجمع الأدلة

أثناء التحقيق الطارئ، يُوصى بالتركيز على فحص المواقع والظواهر التالية:

  1. هل توجد تعداد WSDL و services غير طبيعي في سجلات الوصول إلى WebDialer؟
  2. هل توجد طلبات غير طبيعية لـ installClusterStatusExecute في سجلات الوصول إلى cmplatform؟
  3. هل تحتوي معلمة hostname على ترميز URL وتجاوز مسار ومحتوى Axis و WSDD و LogHandler وما إلى ذلك؟
  4. هل تظهر ملفات JSP غير طبيعية في دليل الويب؟
  5. هل تظهر أسماء خدمات غير طبيعية في صفحة خدمات Axis أو في التكوين؟
  6. هل تظهر أوصاف نشر غير طبيعية أو أخطاء تحليل XML أو سجلات كتابة مسار في سجلات Tomcat أو سجلات خدمة النظام الأساسي؟
  7. هل تظهر ملفات اختبار أو ملفات غير معروفة في /tmp وأدلة WebApp وأدلة السجلات؟
  8. هل توجد زيارات متصلة متعددة المراحل من نفس عنوان IP المصدر في فترة زمنية قصيرة؟
  9. هل تظهر آثار تنفيذ أوامر نظام غير طبيعية أو سجلات إنشاء عملية أو سلوكيات متعلقة بـ shell؟
  10. هل توجد ملفات غير طبيعية متعلقة بصلاحيات الجذر أو مهام مجدولة أو عناصر بدء التشغيل أو آثار ثبات؟

إذا كان هناك اشتباه في الاستغلال، يجب عزل الوصول إلى سطح الإدارة أولاً، والحفاظ على الأدلة من السجلات ونظام الملفات، ثم تنفيذ ترقية التصحيح، وتنظيف WebShell، وتنظيف الخدمات غير الطبيعية، وتدوير الحسابات/بيانات الاعتماد.

14. توصيات الإصلاح والتخفيف

طريقة الإصلاح الجذرية هي الترقية إلى إصدار الإصلاح الرسمي من Cisco أو تطبيق حزمة الإصلاح المؤقتة الرسمية.

توصيات المعالجة العامة هي كما يلي:

  1. تأكيد إصدار Unified CM / Unified CM SME فورًا.
  2. التحقق من تمكين خدمة WebDialer.
  3. إذا كانت الأعمال لا تحتاج إلى WebDialer، قم بتعطيل الخدمة فورًا.
  4. الترقية إلى إصدار الإصلاح الرسمي من Cisco.
  5. في بيئات Release 15 إذا تعذر الترقية مؤقتًا، قم بتطبيق ملف COP المقابل وفقًا لتوجيهات Cisco.
  6. تقييد مصادر الوصول إلى سطح الإدارة وخدمات WebDialer ذات الصلة.
  7. إضافة كشف على أجهزة الحدود و WAF و IDS/IPS للطلبات غير الطبيعية المتعلقة بـ cmplatform و WebDialer و Axis/WSDD.
  8. التحقق مما إذا كانت هناك JSP غير طبيعية أو خدمات Axis غير طبيعية أو ملفات غير معروفة قد ظهرت بالفعل.
  9. إجراء تتبع عكسي للسجلات للأنظمة المكشوفة، مع التركيز على سجلات الوصول بعد 3 يونيو 2026.
  10. إذا تم العثور على دليل على كتابة ملف أو تنفيذ أوامر، يجب التعامل معه كاختراق للمضيف، وليس فقط ترقية التصحيح.

15. ملخص

المفتاح في CVE-2026-20230 لا يكمن في كشف واجهة واحدة، بل في تشكيل فشل حدود الثقة القابل للربط بين WebDialer في CUCM، ومنطق الاستعلام عن حالة تثبيت cmplatform، ومعالجة خدمة Axis الداخلية، وقدرة كتابة الملف.

يمكن تلخيص هذه السلسلة على النحو التالي:

root@kitploit:~
طلب خارجي غير مصادق
    ↓
تأكيد سطح كشف WebDialer
    ↓
الحصول على اسم المضيف الحقيقي
    ↓
cmplatform SSRF
    ↓
الوصول إلى خدمة Axis الداخلية
    ↓
كتابة وصف خدمة أو سجل يمكن التحكم فيه
    ↓
هبوط ملف يمكن الوصول إليه عبر الويب
    ↓
تنفيذ الأوامر وخطر رفع صلاحية الجذر

تعتمد قابلية الاستغلال الفعلية على ما إذا كان WebDialer مفعلًا، وما إذا كان إصدار الهدف متأثرًا، وما إذا كان يمكن تجاوز تصفية اسم المضيف، وما إذا كانت نقطة هبوط المسار متطابقة، وما إذا كانت حاوية الويب تنفذ الملفات المكتوبة، وما إذا كان الهدف قد طبق التصحيح.

من منظور الدفاع، لا يمكن الاعتماد فقط على "وجود ملف JSP معين" للحكم على الهجوم. الطريقة الأكثر أمانًا هي إجراء كشف مرتبط حول سلسلة متعددة المراحل: الحصول على معلومات WSDL، واسم مضيف غير طبيعي في cmplatform، وخصائص Axis/WSDD، وكتابة تجاوز المسار، وزيارة JSP النهائي، ومعلمات الأوامر. طالما ظهرت عدة مراحل بشكل متتالٍ من نفس المصدر في فترة زمنية قصيرة، يجب التعامل معها كحادث اختراق عالي الخطورة.

المراجع

  • نشرة أمان Cisco: ثغرة تزوير طلب من جانب الخادم في Cisco Unified Communications Manager
  • NVD: CVE-2026-20230
  • الإفصاح الآمن SSD: كتابة ملف عشوائي إلى RCE في Cisco Unified Communications Manager
  • وثائق الترقية الرسمية وإصلاحات COP من Cisco Unified CM / Unified CM SME
تنزيل الأداة