
CVE-2025-31324 & CVE-2025-42999 outil d'évaluation des vulnérabilités et des compromissions
Onapsis et Mandiant ont collaboré pour publier un outil open-source afin d'aider les clients SAP à identifier une compromission potentielle liée à CVE-2025-31324 et CVE-2025-42999, une vulnérabilité 0-day critique dans les systèmes SAP NetWeaver Java.
Cet outil est conçu pour une exécution locale, en boîte blanche, par des administrateurs système ayant accès à des environnements potentiellement affectés. Il prend en charge l'évaluation de la vulnérabilité, l'évaluation simple de compromission et la collecte d'artefacts.
Cet outil prend actuellement en charge les fonctionnalités suivantes :
INFORMATIONS SUR LA LICENCE : Cet outil est publié sous licence open source Apache 2.0. Veuillez consulter les informations de licence fournies.
AVERTISSEMENT : Cet outil a été développé pour soutenir les efforts urgents d'investigation et de réponse liés à l'exploitation active de CVE-2025-31324 et CVE-2025-42999. Depuis le 6 juin 2025, cet outil n'est plus en développement actif ni surveillé. Il reste disponible pour de futurs besoins de débogage et de référence ; cependant, il ne recevra plus de mises à jour, d'améliorations ou de support continu. Les utilisateurs doivent évaluer sa pertinence en fonction de leurs besoins actuels et l'utiliser à leurs propres risques.
Cet outil automatise la vérification des informations de vulnérabilité et d'IoC sur un système d'exploitation en fonctionnement avec les permissions de l'utilisateur qui exécute le script. Cela ne remplace PAS une analyse forensique ou une réponse à incident avancée. Les attaquants sophistiqués nettoient souvent les preuves de leur intrusion tout en déployant des rootkits et en utilisant des techniques pour échapper à la détection.
Cet outil est fourni tel quel, sans garantie ni responsabilité. Utilisez-le à vos propres risques.
Les scripts sont développés en Python 3 et nécessitent l'installation des dépendances suivantes :
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
Une fois les dépendances installées, vous pouvez utiliser Python pour exécuter les scripts et obtenir de l'aide depuis la ligne de commande.
# Syntaxe : python3 <tool_name>.py <path> [--single] [--offline]
Paramètres d'analyse :
<path> --- Désigne le répertoire racine du système de fichiers de l'application SAP que vous souhaitez analyser. Il doit s'agir de la base du système SAP, que ce soit à partir d'une sauvegarde montée ou d'un environnement en direct.--single --- Exécute une analyse pour un répertoire SID/Instance individuel (et non le répertoire racine ou de base SAP contenant plusieurs systèmes ou instances)--offline --- Exécute sans connexion Internet (aucune vérification des mises à jour par rapport à l'API GitHub)Pour une liste complète des options et drapeaux de la ligne de commande, utilisez le paramètre --help.
[!IMPORTANT] Cet outil recherche les fichiers sous le système de fichiers du serveur JAVA comme spécifié dans la Note de sécurité SAP 3593336 :
C:\usr\sap\<SID>\<InstanceID>\j2ee\cluster\apps\sap.com\irj\servlet_jsp\irj\rootC:\usr\sap\<SID>\<InstanceID>\j2ee\cluster\apps\sap.com\irj\servlet_jsp\irj\workC:\usr\sap\<SID>\<InstanceID>\j2ee\cluster\apps\sap.com\irj\servlet_jsp\irj\work\syncSi le chemin fourni est un système de fichiers racine en direct (par exemple
/ouC:\), l'outil s'attendra à trouver le répertoire d'installation SAP standard/usr/sap. Ensuite, l'outil analysera tous les sous-répertoires<SID>/<INSTANCE>/par défaut (à l'aide de caractères génériques).Pour une analyse partielle, utilisez
--singleet spécifiez le chemin complet du dossier d'instance contenant le répertoire Java SAPj2ee.
[!CAUTION] Cette conception vise à analyser tous les fichiers suspects possibles dans tous les SID / Instances, tout en évitant la détection incorrecte de fichiers connus. Tout fichier situé en dehors de cette structure de dossiers standard ne sera pas détecté, et une erreur sera générée si le sous-répertoire
j2een'est pas trouvé.Le manifeste du composant est également attendu dans le sous-répertoire standard
j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/. S'il n'est pas trouvé, il ne sera pas analysé pour détecter les versions vulnérables non corrigées.Le chemin de journal attendu est
j2ee/cluster/<SERVER>/log/system/httpaccess/, avec des fichiers portant l'extensionresponsesettrcpour le format de journal propriétaire SAP. Le suffixe-clfest attendu pour les fichiers au format de journal commun (Common Log Format). S'il n'est pas trouvé, un message d'erreur/avertissement sera généré.
Système de fichiers monté sur /mnt/sapserver (composant vulnérable, analyse d'instance unique pour SID J00) :
python3 onapsis-mandiant-CVE-2025-31324-vuln-compromise-assessment.py /mnt/sapserver/usr/sap/SID/J00 --single
[INFO] Found component at: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/servlet_jsp/developmentserver/root/META-INF/MANIFEST.MF, checking CVE-2025-31324... for CVE-2025-31324
[CRITICAL] Known vulnerable component version found: 7.5028.20230722071537.0000 for CVE-2025-31324
[INFO] Found component at: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/servlet_jsp/developmentserver/root/META-INF/MANIFEST.MF, checking CVE-2025-31324... for CVE-2025-42999
[CRITICAL] Known vulnerable component version found: 7.5028.20230722071537.0000 for CVE-2025-42999
[CRITICAL] Found known IoC file signature: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/irj/servlet_jsp/irj/root/helper.jsp: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
[WARNING] Found suspicious unfamiliar file: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/irj/servlet_jsp/irj/work/JEE_jsp_some-name_timestamp.java: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
[WARNING] Found suspicious unfamiliar file: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/irj/servlet_jsp/irj/work/sync/JEE_jsp_some-name_timestamp.class: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
[INFO] Found log file at: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/server0/log/system/httpaccess/responses_00.3.trc
[WARNING] Exploit attempt detected: [Apr 24, 2025 10:00:22 AM ] - 127.0.0.1 : POST /developmentserver/metadatauploader?CONTENTTYPE=MODEL&CLIENT=1 HTTP/1.1 200 271 [12]
[CRITICAL] Web executable access detected: [Apr 26, 2025 10:32:57 PM ] - 127.0.0.1 : GET /irj/helper.jsp HTTP/1.1 200 243 [6480]
[NOTICE] Web executable attempt detected: [Apr 26, 2025 10:59:12 PM ] - 127.0.0.1 : GET /irj/helper2.jsp HTTP/1.1 200 243 [169]
[NOTICE] Web executable attempt detected: [Apr 26, 2025 11:06:39 PM ] - 127.0.0.1 : GET /irj/nzwcnktc.jsp HTTP/1.1 404 738 [2]
[CRITICAL] Web executable access detected: [Apr 30, 2025 1:50:04 PM ] - 127.0.0.1 : GET /irj/cache.jsp HTTP/1.1 200 13 [185]
[INFO] Log entries successfully saved to /tmp/exploit_attempts_20250506194404.csv
[INFO] Log entries successfully saved to /tmp/webshell_access_20250506194404.csv
[INFO] Found trace file at: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/server0/log/defaultTrace_00.4.trc
[CRITICAL] Exploitation detected on 2025 05 05 07:29:23:415 in sap.com/devserver_metadataupload_ear at log_id D000D0B7A02655210000000100005003
[CRITICAL] Exploitation detected on 2025 05 05 07:29:23:415 in sap.com/devserver_metadataupload_ear at log_id D000D0B7A02655250000000100005003
[CRITICAL] Exploitation detected on 2025 05 05 07:29:47:926 in sap.com/devserver_metadataupload_ear at log_id D000D0B7A02655290000000100005003
[INFO] Log entries successfully saved to /app/trace_events_20250508230113.csv
[INFO] Created evidence archive package at: /tmp/tmpvpfy4nhf.zip
==============================================================================
[CRITICAL] Unpatched VCFRAMEWORK Component found: Vulnerable Version Present
Detected component version: 7.5028.20230722071537.0000
...
------------------------------------------------------------------------------
[ALERT] Critical Indicator of Compromise Detected: IOC Signature Match Found
...
Detected IOC:
- helper.jsp
...
------------------------------------------------------------------------------
[CRITICAL] Web-Executable Artifacts Detected in Exploitable Locations
...
Detected Artifacts: [See attached ZIP archive for full file list and paths]
- JEE_jsp_some-name_timestamp.class
- JEE_jsp_some-name_timestamp.java
...
------------------------------------------------------------------------------
[WARNING] Potential Exploit Activity Detected
...
Pattern Matched:
/developmentserver/metadatauploader?CONTENTTYPE=MODEL&CLIENT=1
...
------------------------------------------------------------------------------
[CRITICAL] Web Executable Access Detected - Potential Post-Exploitation
Activity
...
Matched Files: [Listed in export]
- cache.jsp
- helper.jsp
- helper2.jsp
...
------------------------------------------------------------------------------
[CRITICAL] Exploitation Activity detected in Java Default Trace log
...
Exported Log File: /app/trace_events_20250508230113.csv
------------------------------------------------------------------------------
Système de fichiers en direct sur / (composant corrigé, non vulnérable) :
./onapsis-mandiant-CVE-2025-31324-vuln-compromise-assessment /
[INFO] Found component at: /usr/sap/SID/J00/j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/servlet_jsp/developmentserver/root/META-INF/MANIFEST.MF, checking CVE-2025-31324...
[INFO] Component found but version is patched: 7.5031.20250418122224.0000 for CVE-2025-31324
[INFO] Found component at: /usr/sap/SID/J00/j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/servlet_jsp/developmentserver/root/META-INF/MANIFEST.MF, checking CVE-2025-42999...
[CRITICAL] Known vulnerable component version found: 7.5031.20250418122224.0000 for CVE-2025-42999
[INFO] No suspicious files founds
[INFO] Found log file at: /usr/sap/SID/J00/j2ee/cluster/server0/log/system/httpaccess/responses_00.0.trc
[INFO] No exploit attempts detected
[INFO] No executable access detected
[INFO] Found trace file at: /usr/sap/SID/J00/j2ee/cluster/server0/log/defaultTrace_00.1.trc
[INFO] Found trace file at: /usr/sap/SID/J00/j2ee/cluster/server0/log/defaultTrace_00.4.trc
[INFO] Found trace file at: /usr/sap/SID/J00/j2ee/cluster/server0/log/defaultTrace_00.3.trc
==============================================================================
[OK] No Indicators of Compromise Detected
...
[OK] No Web-Executable Artifacts Detected in Exploitable Locations
...
[OK] No Exploit Attempts Detected in Access Logs
...
[OK] No Access to Post-Exploit Artifacts Detected
...
[OK] No Exploitation Activity detected in Java Default Trace Logs
Système de fichiers en direct sur C:\ (composant non installé, non vulnérable) :
onapsis-mandiant-CVE-2025-31324-vuln-compromise-assessment.exe C:\
[INFO] Component not found for CVE-2025-31324
[INFO] Component not found for CVE-2025-42999
[INFO] No suspicious files founds
[WARNING] No log folders found!
==============================================================================
[OK] No Indicators of Compromise Detected
...
[OK] No Web-Executable Artifacts Detected in Exploitable Locations
...
[WARNING] The HTTP Access log folder does not appear to be present at the
expected path: j2ee/cluster/*/log/system/httpaccess/
...
[WARNING] The Java Default Trace log folder at: j2ee/cluster/*/log/ is present
but contains no files.
Pour plus d'informations sur CVE-2025-31324/CVE-2025-42999, la campagne 0-day qui les a ciblées, et toutes les recherches actuelles, veuillez vous référer à :
Pour plus d'informations sur la façon dont Onapsis peut aider votre entreprise à identifier et à traiter cette vulnérabilité, contactez [email protected]
Pour plus d'informations sur la façon dont Mandiant peut aider votre entreprise à effectuer une analyse forensique et à répondre à un incident, contactez [email protected]