Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-31324 — Proof-of-concept de exploit para CVE-2025-31324, um upload de arquivo não autenticado no SAP NetWeaver Visual Composer, com orientações de detecção, mapeamento MITRE e etapas de remediação. | Kitploit
Ferramentas/GitHubGitHub/hkenzokimura/cve-2025-31324
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoRed TeamingResposta a Incidentes
GitHubhkenzokimura/cve-2025-31324

CVE-2025-31324

Proof-of-concept de exploit para CVE-2025-31324, um upload de arquivo não autenticado no SAP NetWeaver Visual Composer, com orientações de detecção, mapeamento MITRE e etapas de remediação.

Ver Repositório
20há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

🔴 CVE-2025-31324 — SAP NetWeaver Visual Composer Unauthenticated File Upload

Type: Proof of Concept — Vulnerability Research CVE: CVE-2025-31324 CVSS: 10.0 Critical (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) Status: Patched — SAP Security Note 3594142 + 3604119 Added to CISA KEV: May 2025

⚠️ Este PoC utiliza um arquivo JSP benigno ("Hello World") para validar a superfície de ataque sem executar código malicioso. Uso exclusivo em ambientes autorizados para fins de pentesting e desenvolvimento de detecções.

Developed by: HKK


$ cat ./vulnerability_summary.txt

A vulnerabilidade CVE-2025-31324 reside no componente Visual Composer Metadata Uploader do SAP NetWeaver AS Java — uma falha de missing authorization check que permite a qualquer atacante não autenticado enviar requisições POST para o endpoint /developmentserver/metadatauploader, resultando em upload irrestrito de arquivos arbitrários.

A CVE afeta especificamente o SAP NetWeaver Visual Composer Framework versão 7.50, com score CVSS 10.0 — o máximo possível.

Threat actors exploraram ativamente esta vulnerabilidade de janeiro a maio de 2025, implantando webshells persistentes em centenas de sistemas ao redor do mundo.


$ cat ./impact.txt

Por operar com privilégios elevados e estar próximo a dados ERP, a movimentação lateral para SAP ABAP stacks ou bancos de dados conectados é trivial após a exploração.

A cadeia de exploração completa em ataques reais:

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

Como o endpoint vulnerável funciona

┌─────────────────────────────────────────────────────────────────────────┐
│              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)                                              │
└─────────────────────────────────────────────────────────────────────────┘

Por que o endpoint existe?

O /developmentserver/metadatauploader faz parte do SAP Visual Composer — uma ferramenta de desenvolvimento low-code para analistas de negócio criarem aplicações SAP sem código Java. O endpoint foi projetado para receber modelos de metadata durante o desenvolvimento. Embora o componente não esteja habilitado na configuração padrão do NetWeaver, a Onapsis reportou que está amplamente ativado em ambientes de produção.


$ cat ./design_decisions.md

1. Escolha do Payload — JSP "Hello World"

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

Por que JSP e não outro formato?

O SAP NetWeaver AS Java executa uma JVM — arquivos .jsp são interpretados diretamente pelo servlet container (Apache Tomcat embutido) sem compilação prévia. Isso torna o JSP o formato ideal para webshells em ambientes Java.

A escolha do conteúdo benigno ("Hello World") é deliberada para o PoC:

  • Valida a superfície vulnerável sem executar código malicioso
  • Confirma o upload (código HTTP 200 + arquivo acessível via GET)
  • Evidência forense limpa para relatório de pentest

Em exploração real, o conteúdo seria um webshell JSP com execução de comandos, ex:

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

2. multipart/form-data — Por que esse Content-Type?

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

O endpoint espera uma requisição multipart/form-data — o mesmo formato usado por formulários HTML de upload de arquivo. Isso é intencional no design original do Visual Composer (upload de modelos de desenvolvimento).

A biblioteca requests monta automaticamente os boundaries do multipart quando files= é passado — o header Content-Type: multipart/form-data; boundary=... é gerado internamente.

verify=False: desabilita validação do certificado TLS — necessário porque ambientes SAP frequentemente usam certificados self-signed. Em produção, usar verify='/path/to/ca-bundle.crt'.

3. Endpoint Path — Anatomia da URL

https://<host>:<port>/developmentserver/metadatauploader?CONTENTTYPE=MODEL&CLIENT=1
ComponenteSignificado
:50201Porta padrão do SAP ICM (Internet Communication Manager) HTTPS
/developmentserver/Servlet de desenvolvimento do Visual Composer
metadatauploaderEndpoint específico de upload de metadados
CONTENTTYPE=MODELTipo de conteúdo esperado pelo endpoint
CLIENT=1Mandante SAP (client) — 000, 100, 001 são comuns

$ cat ./mitre_mapping.yml

tactic: Initial Access
  - T1190  # Exploit Public-Facing Application
            # Exploração do endpoint /developmentserver/metadatauploader
            # sem autenticação via HTTP POST

tactic: Execution
  - T1505.003  # Server Software Component: Web Shell
               # JSP webshell uploaded → executado pelo servlet container (Tomcat)

tactic: Persistence
  - T1505.003  # Web Shell como mecanismo de persistência
               # Arquivo JSP persiste no filesystem do servidor entre reinicializações

tactic: Defense Evasion
  - T1036      # Masquerading
               # Webshells nomeados como arquivos legítimos SAP (ex: metadata.jsp)

tactic: Discovery
  - T1082      # System Information Discovery
               # Pós-RCE: enumerar processos, usuários, paths SAP

tactic: Lateral Movement
  - T1210      # Exploitation of Remote Services
               # Acesso ao ABAP stack, bancos de dados conectados via RCE

tactic: Collection
  - T1005      # Data from Local System
               # Acesso direto a dados ERP (Finance, HR, Supply Chain)

$ cat ./affected_versions.txt

Produto:  SAP NetWeaver Application Server Java
Componente: Visual Composer Framework
Versão:   7.50 (todas as builds antes do patch de abril/maio 2025)
Baixar ferramenta