Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-31324 — Preuve de concept d'exploitation pour CVE-2025-31324, un téléversement de fichier non authentifié dans SAP NetWeaver Visual Composer, avec des conseils de détection, un mapping MITRE et des étapes de remédiation. | Kitploit
Outils/GitHubGitHub/hkenzokimura/cve-2025-31324
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationRed TeamingRéponse aux Incidents
GitHubhkenzokimura/cve-2025-31324

CVE-2025-31324

Preuve de concept d'exploitation pour CVE-2025-31324, un téléversement de fichier non authentifié dans SAP NetWeaver Visual Composer, avec des conseils de détection, un mapping MITRE et des étapes de remédiation.

Voir le dépôt
20il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

🔴 CVE-2025-31324 — SAP NetWeaver Visual Composer Téléversement de fichier non authentifié

Type: Preuve de concept — Recherche de vulnérabilité CVE: CVE-2025-31324 CVSS: 10.0 Critique (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) Statut: Corrigé — Note de sécurité SAP 3594142 + 3604119 Ajouté au KEV de la CISA: Mai 2025

⚠️ Ce PoC utilise un fichier JSP bénin (« Hello World ») pour valider la surface d'attaque sans exécuter de code malveillant. Utilisation exclusive dans des environnements autorisés à des fins de pentest et de développement de détections.

Développé par : HKK


$ cat ./vulnerability_summary.txt

La vulnérabilité CVE-2025-31324 réside dans le composant Visual Composer Metadata Uploader de SAP NetWeaver AS Java — une faille de contrôle d'autorisation manquant qui permet à tout attaquant non authentifié d'envoyer des requêtes POST vers le point de terminaison /developmentserver/metadatauploader, entraînant un téléversement non restreint de fichiers arbitraires.

La CVE affecte spécifiquement le SAP NetWeaver Visual Composer Framework version 7.50, avec un score CVSS de 10.0 — le maximum possible.

Des acteurs de la menace ont activement exploité cette vulnérabilité de janvier à mai 2025, déployant des webshells persistants sur des centaines de systèmes à travers le monde.


$ cat ./impact.txt

En raison de son fonctionnement avec des privilèges élevés et de sa proximité avec les données ERP, le mouvement latéral vers les piles SAP ABAP ou les bases de données connectées est trivial après l'exploitation.

La chaîne d'exploitation complète lors d'attaques réelles :

Téléversement JSP (CVE-2025-31324)
    → Webshell persistant sur le serveur
        → RCE en tant que processus SAP (privilège élevé)
            → Accès aux données ERP (Finance, RH, Supply Chain)
                → Mouvement latéral vers ABAP / DB
                    → Déploiement de frameworks C2 (ex : Brute Ratel)

$ cat ./architecture.txt

Comment fonctionne le point de terminaison vulnérable

┌─────────────────────────────────────────────────────────────────────────┐
│              CVE-2025-31324 — FLUX D'EXPLOITATION                       │
│                                                                         │
│  ATTAQUANT                   SAP NETWEAVER AS JAVA                      │
│                                                                         │
│  POST /developmentserver/metadatauploader                               │
│  Content-Type: multipart/form-data          ┌─────────────────────┐    │
│  Corps : fichier JSP/WAR/quelconque ──────► │  Metadata Uploader  │    │
│  (sans authentification)                    │                     │    │
│                                             │  ❌ Sans vérification│    │
│                                             │     d'auth          │    │
│                                             │  ❌ Sans validation  │    │
│                                             │     d'extension     │    │
│                                             │  ❌ Sans assainissement│   │
│                                             │     du contenu      │    │
│                                             └────────┬────────────┘    │
│                                                      │                 │
│                                             Fichier enregistré dans :  │
│                                             /irj/root/ ou similaire    │
│                                                      │                 │
│  GET /irj/hello_world.jsp ◄──────────────────────────┘                 │
│  → Hello World (PoC bénin)                                             │
│  → Webshell (exploit réel)                                             │
└─────────────────────────────────────────────────────────────────────────┘

Pourquoi ce point de terminaison existe-t-il ?

Le /developmentserver/metadatauploader fait partie du SAP Visual Composer — un outil de développement low-code permettant aux analystes métier de créer des applications SAP sans code Java. Le point de terminaison a été conçu pour recevoir des modèles de métadonnées pendant le développement. Bien que le composant ne soit pas activé dans la configuration par défaut de NetWeaver, Onapsis a signalé qu'il est largement activé dans les environnements de production.


$ cat ./design_decisions.md

1. Choix du payload — JSP « Hello World »

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

Pourquoi JSP et pas un autre format ?

SAP NetWeaver AS Java exécute une JVM — les fichiers .jsp sont interprétés directement par le conteneur de servlets (Apache Tomcat intégré) sans compilation préalable. Cela fait du JSP le format idéal pour les webshells dans les environnements Java.

Le choix du contenu bénin (« Hello World ») est délibéré pour le PoC :

  • Valide la surface vulnérable sans exécuter de code malveillant
  • Confirme le téléversement (code HTTP 200 + fichier accessible via GET)
  • Preuve médico-légale propre pour le rapport de pentest

Lors d'une exploitation réelle, le contenu serait un webshell JSP avec exécution de commandes, ex :

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

2. multipart/form-data — Pourquoi ce Content-Type ?

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

Le point de terminaison attend une requête multipart/form-data — le même format utilisé par les formulaires HTML de téléversement de fichiers. Cela est intentionnel dans la conception originale du Visual Composer (téléversement de modèles de développement).

La bibliothèque requests assemble automatiquement les limites du multipart lorsque files= est passé — l'en-tête Content-Type: multipart/form-data; boundary=... est généré en interne.

verify=False : désactive la validation du certificat TLS — nécessaire car les environnements SAP utilisent souvent des certificats auto-signés. En production, utiliser verify='/chemin/vers/ca-bundle.crt'.

3. Chemin du point de terminaison — Anatomie de l'URL

https://<hôte>:<port>/developmentserver/metadatauploader?CONTENTTYPE=MODEL&CLIENT=1
ComposantSignification
:50201Port par défaut du SAP ICM (Internet Communication Manager) HTTPS
/developmentserver/Servlet de développement du Visual Composer
metadatauploaderPoint de terminaison spécifique de téléversement de métadonnées
CONTENTTYPE=MODELType de contenu attendu par le point de terminaison
CLIENT=1Mandant SAP (client) — 000, 100, 001 sont courants

$ cat ./mitre_mapping.yml

tactic: Initial Access
  - T1190  # Exploit Public-Facing Application
            # Exploitation du point de terminaison /developmentserver/metadatauploader
            # sans authentification via HTTP POST

tactic: Execution
  - T1505.003  # Server Software Component: Web Shell
               # Webshell JSP téléversé → exécuté par le conteneur de servlets (Tomcat)

tactic: Persistence
  - T1505.003  # Web Shell comme mécanisme de persistance
               # Le fichier JSP persiste dans le système de fichiers du serveur entre les redémarrages

tactic: Defense Evasion
  - T1036      # Masquerading
               # Webshells nommés comme des fichiers SAP légitimes (ex : metadata.jsp)

tactic: Discovery
  - T1082      # System Information Discovery
               # Post-RCE : énumérer les processus, utilisateurs, chemins SAP
Télécharger l’outil