
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