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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-31324 — إثبات مفهوم لاستغلال CVE-2025-31324، وهو رفع ملفات غير مصادق عليه في SAP NetWeaver Visual Composer، مع إرشادات الكشف، وربط MITRE، وخطوات المعالجة. | Kitploit
أدوات/GitHubGitHub/hkenzokimura/cve-2025-31324
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمرالاستجابة للحوادث
GitHubhkenzokimura/cve-2025-31324

CVE-2025-31324

إثبات مفهوم لاستغلال CVE-2025-31324، وهو رفع ملفات غير مصادق عليه في SAP NetWeaver Visual Composer، مع إرشادات الكشف، وربط MITRE، وخطوات المعالجة.

عرض المستودع
20منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

🔴 CVE-2025-31324 — SAP NetWeaver Visual Composer رفع ملف غير مصادق عليه

النوع: إثبات المفهوم — بحث في الثغرات CVE: CVE-2025-31324 CVSS: 10.0 حرج (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) الحالة: تم التصحيح — ملاحظة أمان SAP 3594142 + 3604119 أُضيف إلى CISA KEV: مايو 2025

⚠️ يستخدم إثبات المفهوم هذا ملف JSP غير ضار ("Hello World") للتحقق من سطح الهجوم دون تنفيذ تعليمات برمجية خبيثة. يُستخدم حصريًا في بيئات مصرح بها لأغراض اختبار الاختراق وتطوير أنظمة الكشف.

تم التطوير بواسطة: HKK


$ cat ./vulnerability_summary.txt

تقع ثغرة CVE-2025-31324 في مكوّن Visual Composer Metadata Uploader الخاص بـ SAP NetWeaver AS Java — وهي خلل في التحقق المفقود من التفويض يسمح لأي مهاجم غير مصادق عليه بإرسال طلبات POST إلى نقطة النهاية /developmentserver/metadatauploader، مما يؤدي إلى رفع غير مقيد لملفات عشوائية.

تؤثر CVE تحديدًا على SAP NetWeaver Visual Composer Framework الإصدار 7.50، بدرجة CVSS 10.0 — وهي أقصى درجة ممكنة.

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


$ cat ./impact.txt

نظرًا لأنها تعمل بامتيازات مرتفعة وقريبة من بيانات ERP، فإن الحركة الجانبية إلى حزم SAP ABAP أو قواعد البيانات المتصلة تكون تافهة بعد الاستغلال.

سلسلة الاستغلال الكاملة في الهجمات الحقيقية:

Upload JSP (CVE-2025-31324)
    → Webshell دائم على الخادم
        → RCE كعملية SAP (امتياز عالٍ)
            → الوصول إلى بيانات ERP (المالية، الموارد البشرية، سلسلة التوريد)
                → حركة جانبية إلى ABAP / DB
                    → نشر أطر C2 (مثل: Brute Ratel)

$ cat ./architecture.txt

كيف تعمل نقطة النهاية الضعيفة

┌─────────────────────────────────────────────────────────────────────────┐
│              CVE-2025-31324 — تدفق الاستغلال                              │
│                                                                         │
│  المهاجم                    SAP NETWEAVER AS JAVA                      │
│                                                                         │
│  POST /developmentserver/metadatauploader                               │
│  Content-Type: multipart/form-data          ┌─────────────────────┐    │
│  الجسم: ملف JSP/WAR/أي شيء ──────────► │  Metadata Uploader  │    │
│  (بدون مصادقة)                           │                     │    │
│                                             │  ❌ بدون تحقق من    │    │
│                                             │     المصادقة        │    │
│                                             │  ❌ بدون تحقق من    │    │
│                                             │     الامتداد        │    │
│                                             │  ❌ بدون تنظيف      │    │
│                                             │     للمحتوى         │    │
│                                             └────────┬────────────┘    │
│                                                      │                 │
│                                             يُحفظ الملف في:            │
│                                             /irj/root/ أو ما شابه      │
│                                                      │                 │
│  GET /irj/hello_world.jsp ◄──────────────────────────┘                 │
│  → Hello World (إثبات مفهوم غير ضار)                                    │
│  → Webshell (استغلال حقيقي)                                            │
└─────────────────────────────────────────────────────────────────────────┘

لماذا توجد نقطة النهاية؟

يعد /developmentserver/metadatauploader جزءًا من SAP Visual Composer — وهي أداة تطوير low-code لمحللي الأعمال لإنشاء تطبيقات SAP دون كتابة كود Java. صُممت نقطة النهاية لاستقبال نماذج البيانات الوصفية أثناء التطوير. على الرغم من أن المكوّن غير مفعّل في التكوين الافتراضي لـ NetWeaver، أبلغت Onapsis أنه مفعّل على نطاق واسع في بيئات الإنتاج.


$ cat ./design_decisions.md

1. اختيار الحمولة — JSP "Hello World"

file_content = """<%@ page language="java" contentType="text/html; charset=UTF-8" ...%>
<h1>Hello World</h1>"""

لماذا JSP وليس تنسيقًا آخر؟

يقوم SAP NetWeaver AS Java بتشغيل JVM — يتم تفسير ملفات .jsp مباشرة بواسطة حاوية servlet (Apache Tomcat المدمج) دون تجميع مسبق. وهذا يجعل JSP التنسيق المثالي للويب شيلات في بيئات Java.

اختيار المحتوى غير الضار ("Hello World") مقصود لإثبات المفهوم:

  • يتحقق من السطح الضعيف دون تنفيذ تعليمات برمجية خبيثة
  • يؤكد الرفع (كود HTTP 200 + ملف يمكن الوصول إليه عبر GET)
  • دليل جنائي نظيف لتقرير اختبار الاختراق

في الاستغلال الحقيقي، سيكون المحتوى ويب شيل JSP مع تنفيذ أوامر، مثال:

<%
  String cmd = request.getParameter("cmd");
  Runtime.getRuntime().exec(cmd);
%>

2. multipart/form-data — لماذا هذا النوع من المحتوى؟

files = {'file': (file_name, open(file_name, 'rb'), 'application/octet-stream')}

تتوقع نقطة النهاية طلب multipart/form-data — وهو نفس التنسيق المستخدم في نماذج HTML لرفع الملفات. هذا مقصود في التصميم الأصلي لـ Visual Composer (رفع نماذج التطوير).

تقوم مكتبة requests تلقائيًا ببناء حدود multipart عند تمرير files= — يتم إنشاء الترويسة Content-Type: multipart/form-data; boundary=... داخليًا.

verify=False: يعطل التحقق من شهادة TLS — ضروري لأن بيئات SAP غالبًا ما تستخدم شهادات موقعة ذاتيًا. في الإنتاج، استخدم verify='/path/to/ca-bundle.crt'.

3. مسار نقطة النهاية — تشريح عنوان URL

https://<host>:<port>/developmentserver/metadatauploader?CONTENTTYPE=MODEL&CLIENT=1
المكوّنالمعنى
:50201المنفذ الافتراضي لـ SAP ICM (Internet Communication Manager) HTTPS
/developmentserver/Servlet التطوير الخاص بـ Visual Composer
metadatauploaderنقطة النهاية المحددة لرفع البيانات الوصفية
CONTENTTYPE=MODELنوع المحتوى المتوقع من نقطة النهاية
CLIENT=1عميل SAP — 000، 100، 001 شائعة

$ cat ./mitre_mapping.yml

tactic: Initial Access
  - T1190  # Exploit Public-Facing Application
            # استغلال نقطة النهاية /developmentserver/metadatauploader
            # بدون مصادقة عبر HTTP POST

tactic: Execution
  - T1505.003  # Server Software Component: Web Shell
               # رفع JSP webshell → تنفيذه بواسطة حاوية servlet (Tomcat)

tactic: Persistence
  - T1505.003  # Web Shell كآلية استمرارية
               # ملف JSP يبقى في نظام ملفات الخادم بين عمليات إعادة التشغيل

tactic: Defense Evasion
  - T1036      # Masquerading
               # تسمية الويب شيلات كملفات SAP شرعية (مثل: metadata.jsp)

tactic: Discovery
  - T1082      # System Information Discovery
               # بعد RCE: تعداد العمليات والمستخدمين ومسارات SAP

tactic: Lateral Movement
  - T1210      # Exploitation of Remote Services
               # الوصول إلى حزمة ABAP وقواعد البيانات المتصلة عبر RCE

tactic: Collection
  - T1005      # Data from Local System
               # وصول مباشر إلى بيانات ERP (المالية، الموارد البشرية، سلسلة التوريد)

$ cat ./affected_versions.txt

المنتج:  SAP NetWeaver Application Server Java
المكوّن: Visual Composer Framework
الإصدار:   7.50 (جميع الإصدارات قبل تصحيح أبريل/مايو 2025)

التصحيحات:
  SSN 3594142 → التصحيح الأولي (أبريل 2025) — يخفف من رفع الملفات
  SSN 3604119 → إصلاح السبب الجذري عبر CVE-2025-42999 (مايو 2025) — يعالج السبب الجذري
  SSN 3578900, 3620498, 3621771, 3634501 → ملاحظات تقوية تكميلية

CISA KEV: تمت إضافة كل من CVE-2025-31324 و CVE-2025-42999 إلى الكتالوج

$ cat ./detection_opportunities.md

اكتشاف الاستغلال (أثناء الهجوم)

# قاعدة: POST غير مصادق عليه لنقطة نهاية Metadata Uploader
# المصدر: سجل وصول SAP Web Dispatcher / ICM
تنزيل الأداة