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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-33032 — استدعاء دالة واحد ناقص في تسجيل المسار كان كافياً لتحويل واجهة MCP إلى بوابة تنفيذ أوامر عن بُعد (RCE) غير مصادق عليها. | Kitploit
أدوات/GitHubGitHub/keraattin/cve-2026-33032
الاستطلاعماسحات الثغرات الأمنيةالاستغلالأمن الويبأمن الشبكاتاختبار الاختراقأمن واجهات برمجة التطبيقات
GitHubkeraattin/cve-2026-33032

CVE-2026-33032

استدعاء دالة واحد ناقص في تسجيل المسار كان كافياً لتحويل واجهة MCP إلى بوابة تنفيذ أوامر عن بُعد (RCE) غير مصادق عليها.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-33032 / MCPwn

CVE CVSS Status Affected License Python

أداة كشف غير تخريبية لثغرة تجاوز المصادقة في واجهة MCP الخاصة بـ nginx-ui، المعروفة علنًا باسم MCPwn. تتيح الاستيلاء غير المصادق عليه عبر طلبي HTTP على أي مثيل nginx-ui يعمل بإصدار ثغري.

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

  1. حقائق سريعة
  2. نظرة عامة على الثغرة
  3. غوص تقني معمق
  4. استراتيجية الكشف
  5. التثبيت
  6. الاستخدام
  7. مثال على المخرجات
  8. الربط مع CVE-2026-27944
  9. المعالجة
  10. الاستخدام المسؤول
  11. المراجع
  12. الترخيص

حقائق سريعة

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

يكشف nginx-ui عن واجهة بروتوكول سياق النموذج (MCP) التي تتيح للمشغّل المصادَق عليه تشغيل أدوات تخريبية مثل تعديل إعدادات nginx، وأوامر إعادة التشغيل، وعمليات النسخ الاحتياطي عبر JSON-RPC.

نقطة النهاية /mcp محمية بوسيط AuthRequired()، بينما نقطة النهاية المقترنة بها /mcp_message، التي تستقبل فعليًا استدعاءات الأدوات، تم نشرها بدون الوسيط. أي عميل يمكنه الوصول إلى الواجهة عبر الشبكة يمكنه:

  1. فتح تدفق أحداث مرسلة من الخادم (SSE) إلى /mcp واستلام sessionID جديد دون تقديم أي بيانات اعتماد.
  2. استخدام ذلك sessionID لاستدعاء أي أداة MCP مسجلة عبر إرسال POST إلى /mcp_message، دون مصادقة أيضًا.

يحصل المهاجم على سيطرة كاملة على عملية nginx: تعديل كتل الخادم لإعادة توجيه حركة المرور، استخراج مفاتيح TLS الخاصة عبر قراءات المسارات، إعادة تحميل nginx أو إيقافه، وزرع أبواب خلفية دائمة.

غوص تقني معمق

السبب الجذري على مستوى الكود

root@kitploit:~
// ثغري (قبل 2.3.4)
r.GET("/mcp",          AuthRequired(), mcpHandler)
r.POST("/mcp_message", mcpMessageHandler)    // وسيط مفقود

// مُصحَّح في 2.3.4
r.GET("/mcp",          AuthRequired(), mcpHandler)
r.POST("/mcp_message", AuthRequired(), mcpMessageHandler)

استدعاء دالة واحد مفقود في تسجيل المسار كان كافيًا لتحويل واجهة MCP إلى بوابة تنفيذ أوامر عن بُعد (RCE) غير مصادق عليها.

مخطط الهجوم من البداية إلى النهاية

root@kitploit:~
  المهاجم                              nginx-ui (<2.3.4)
     |   1) GET /mcp  (بدون مصادقة)          |
     | -------------------------------------->  |
     |   2) event: endpoint data: /mcp_message?sessionID=XYZ
     | <--------------------------------------  |
     |   3) POST /mcp_message?sessionID=XYZ     |
     |      body: JSON-RPC call_tool "nginx_reload" أو
     |             "edit_config {...}"          |
     | -------------------------------------->  |
     |   4) 200 OK; تم تنفيذ الأداة بصلاحيات كاملة
     | <--------------------------------------  |

مصفوفة التأثير

استراتيجية الكشف

يتجنب هذا المستودع عمدًا أي إجراء تخريبي. يستخدم الكاشف طرق MCP للقراءة فقط (tools/list) فقط. المنطق:

root@kitploit:~
> الخطوة 1  بصمة nginx-ui عبر
>         GET /               (عنوان HTML، حزم JS)
>         GET /api/settings   (JSON يشير إلى مفاتيح nginx-ui)
>         استخراج الإصدار عبر الترويسة / تعبير regex في النص
> الخطوة 2  فتح تدفق SSE إلى /mcp
>         تحليل أول sessionID من حدث "endpoint"
> الخطوة 3  POST /mcp_message?sessionID=<id>
>         Body: {"jsonrpc":"2.0","method":"tools/list","params":{}}
>         بدون ترويسة Authorization
> الخطوة 4  ثغري إذا كانت الحالة 200 ويحتوي النص على قائمة أدوات
>         مُصحَّح إذا كانت الحالة 401 / 403 / 404
>         غير حاسم بخلاف ذلك

لماذا هذا آمن

طريقة JSON-RPC الخاصة بـ tools/list للقراءة فقط. إنها تُعدّد الأدوات التي يعرفها خادم MCP دون استدعاء أي منها. يرفض السكربت إرسال POST لأي طريقة أخرى ولا يبني أبدًا حمولات لأدوات تخريبية.

التثبيت

root@kitploit:~
git clone https://github.com/your-org/CVE-2026-33032-detector.git
cd CVE-2026-33032-detector
python3 --version      # 3.9 أو أحدث
# لا حاجة لحزم خارجية.

لمكوّن Nmap NSE، انسخ nginx-ui-mcpwn.nse إلى دليل السكربتات المحلي وحدّث قاعدة بيانات السكربتات:

root@kitploit:~
cp nginx-ui-mcpwn.nse /usr/share/nmap/scripts/
sudo nmap --script-updatedb

الاستخدام

كاشف Python

root@kitploit:~
# هدف واحد
python3 detect_nginx_ui_mcpwn.py --target https://nginx-ui.internal

# فحص جماعي من ملف
python3 detect_nginx_ui_mcpwn.py --targets targets.txt --workers 20

# مخرجات JSON (NDJSON) مناسبة للأنابيب إلى jq
python3 detect_nginx_ui_mcpwn.py --target 10.0.0.5:9000 --json | jq .

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

Nmap NSE

root@kitploit:~
nmap -p 80,443,9000 --script nginx-ui-mcpwn 10.0.0.0/24
nmap -p 443 --script nginx-ui-mcpwn --script-args "nginx-ui-mcpwn.timeout=8" host.example.com

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

قابل للقراءة البشرية

root@kitploit:~
 _   _       _                  _    _  ___   __  __  ____ ____
| \ | | __ _(_)_ __ __  __     | |  | ||_ _| |  \/  |/ ___|  _ \__      ___ __
|  \| |/ _` | | '_ \\ \/ /_____| |  | | | |  | |\/| | |   | |_) \ \ /\ / / '_ \
| |\  | (_| | | | | |>  <|_____| |__| | | |  | |  | | |___|  __/ \ V  V /| | | |
|_| \_|\__, |_|_| |_/_/\_\     |_____|_||___| |_|  |_|\____|_|     \_/\_/ |_| |_|
       |___/

  CVE-2026-33032 nginx-ui MCPwn Detector > غير تخريبي

[!] ثغري https://nginx-ui.internal version=2.3.2 evidence=status=200; body_preview={"jsonrpc":"2.0","id":"...","result":{"tools":[{"name":"edit_config",...
[+] مُصحَّح https://nginx-ui-patched:9000 version=2.3.4 evidence=status=401; body_preview={"error":"unauthorized"}
[.] ليس nginx-ui https://example.com evidence=fingerprint negative

الملخص: 1/3 أهداف تم الإبلاغ عنها كثغرية

NDJSON

root@kitploit:~
{"target":"https://nginx-ui.internal","reachable":true,"is_nginx_ui":true,"mcp_endpoint_present":true,"session_id_obtained":true,"mcp_message_unauthenticated":true,"vulnerable":true,"nginx_ui_version":"2.3.2","evidence":"status=200; body_preview=...","error":null}

Nmap

root@kitploit:~
PORT     STATE SERVICE
9000/tcp open  http
| nginx-ui-mcpwn:
|   status: VULNERABLE
|   version: 2.3.2
|   session_id: abc123
|_  evidence: tools/list accepted without credentials

الربط مع CVE-2026-27944

CVE-2026-27944 (تنزيل /api/backup غير المصادق عليه الذي يُسرّب مفتاح AES في ترويسة X-Backup-Security) يتسلسل بسلاسة مع MCPwn: أرشيف النسخة الاحتياطية يكشف node_secret، الذي يمكن استخدامه للمصادقة على /mcp حتى بعد تطبيق إصلاح 33032، إلى أن يقوم المشغّلون بتدوير السر.

الكاشف المصاحب لـ 27944 موجود في دليل شقيق ضمن مشروع البحث هذا.

المعالجة

  1. قم بترقية nginx-ui إلى 2.3.4 أو أحدث.
  2. قم بتدوير node_secret، وتجزئات كلمة مرور المسؤول، وأي مفاتيح TLS خاصة كانت قابلة للوصول من عملية nginx-ui.
  3. قيّد تعرض nginx-ui إلى شبكة إدارة (VLAN) أو VPN أو وكيل عكسي يفرض المصادقة قبل أن يصبح مسار /mcp_message قابلًا للوصول.
  4. راجع سجل إعدادات nginx (Git أو النسخ الاحتياطية) بحثًا عن توجيهات upstream / proxy_pass / ssl_certificate غير متوقعة أُدخلت خلال نافذة التعرض.

الاستخدام المسؤول

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

المراجع

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-33032
  • Picus Security (شرح MCPwn): https://www.picussecurity.com/resource/blog/cve-2026-33032-mcpwn-how-a-missing-middleware-call-in-nginx-ui-hands-attackers-full-web-server-takeover
  • Security Affairs: https://securityaffairs.com/190841/hacking/cve-2026-33032-severe-nginx-ui-bug-grants-unauthenticated-server-access.html
  • BleepingComputer: https://www.bleepingcomputer.com/news/security/critical-nginx-ui-auth-bypass-flaw-now-actively-exploited-in-the-wild/
  • المشروع الأصلي: https://github.com/0xjacky/nginx-ui

الترخيص

صدر بموجب رخصة MIT. راجع ترويسات السكربتات الفردية للإشعارات الخاصة بكل ملف.

تنزيل الأداة
الحقلالقيمة
معرّف CVECVE-2026-33032
الاسم المستعارMCPwn
CVSS 3.19.8 / حرج (AV:N / AC:L / PR:N / UI:N / S:U / C:H/I:H/A:H)
CWECWE-306 غياب المصادقة لوظيفة حرجة
المنتج المتأثرnginx-ui (github.com/0xjacky/nginx-ui)
الإصدارات المتأثرةجميع الإصدارات قبل 2.3.4
الإصدار المُصحَّح2.3.4
حالة الاستغلالنشط في البرية (Picus Security, Recorded Future)
التعرض عبر Shodan~2,689 مثيلًا مواجهًا للإنترنت
تاريخ النشر2026-04-15
أداة MCPالتأثير على خادم nginx
edit_configإعادة كتابة كتل خادم عشوائية، إدراج upstream تابع للمهاجم
reload_nginxتطبيق إعدادات المهاجم دون إجراء يدوي
stop_nginxرفض الخدمة
read_fileتسريب مفاتيح TLS الخاصة وبيانات الاعتماد من المسارات المثبتة
create_certإعادة إصدار شهادات TLS تحت سيطرة المهاجم
list_backups / downloadسحب نسخة nginx-ui الاحتياطية كاملة بما فيها node_secret والتجزئات
العلمالغرض
--targetعنوان URL واحد أو host[:port]
--targetsملف أهداف مفصول بأسطر جديدة
--timeoutمهلة HTTP، الافتراضي 10 ثوانٍ
--workersعمليات متزامنة للفحص الجماعي، الافتراضي 10
--verify-tlsفرض التحقق من شهادة TLS (معطّل افتراضيًا)
--jsonإصدار NDJSON، سجل واحد لكل هدف
--no-bannerإخفاء الشعار ASCII