
CVE-2025-31324 e CVE-2025-42999 strumento di valutazione delle vulnerabilità e delle compromissioni
Onapsis e Mandiant hanno collaborato per rilasciare uno strumento open-source per assistere i clienti SAP nell'identificazione di potenziali compromissioni relative a CVE-2025-31324 e CVE-2025-42999, una vulnerabilità 0-day critica nei sistemi SAP NetWeaver Java.
Questo strumento è destinato all'esecuzione locale, white-box, da parte di amministratori di sistema con accesso a potenziali ambienti interessati. Supporta la valutazione delle vulnerabilità, la valutazione semplice delle compromissioni e la raccolta di artefatti.
Questo strumento attualmente supporta le seguenti funzionalità:
INFORMAZIONI SULLA LICENZA: Questo strumento è rilasciato sotto la licenza open source Apache 2.0. Consultare le informazioni sulla licenza in bundle.
DICHIARAZIONE DI NON RESPONSABILITÀ: Questo strumento è stato sviluppato per supportare sforzi urgenti di indagine e risposta relativi allo sfruttamento attivo di CVE-2025-31324 e CVE-2025-42999. A partire dal 6 giugno 2025, questo strumento non è più in fase di sviluppo o monitoraggio attivo. Rimane disponibile per futuri scopi di debug e riferimento; tuttavia, non riceverà ulteriori aggiornamenti, miglioramenti o supporto continuo. Gli utenti dovrebbero valutarne l'applicabilità in base alle proprie esigenze attuali e utilizzarlo a propria discrezione.
Questo strumento automatizza la verifica delle informazioni su vulnerabilità e IOC in esecuzione su un sistema operativo live con i permessi dell'utente che esegue lo script. NON sostituisce l'analisi forense o la risposta avanzata agli incidenti. Attaccanti sofisticati spesso puliscono le prove della loro intrusione mentre distribuiscono rootkit e sfruttano tecniche per eludere il rilevamento.
Questo strumento è fornito così com'è, senza garanzia o responsabilità. Utilizzare a proprio rischio.
Gli script sono sviluppati in Python 3 e richiedono l'installazione delle seguenti dipendenze:
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
Una volta installate le dipendenze, è possibile utilizzare Python per eseguire gli script e ottenere aiuto dalla riga di comando.
# Sintassi: python3 <tool_name>.py <path> [--single] [--offline]
Parametri di scansione:
<path> --- Si riferisce alla directory root del file system dell'applicazione SAP che si desidera scansionare. Dovrebbe essere la base del sistema SAP, sia da un backup montato che da un ambiente live.--single --- Esegui una scansione per una singola directory SID/istanza (non la directory root o base SAP con più sistemi o istanze)--offline --- Esegui senza connessione Internet (nessun controllo di aggiornamenti tramite API GitHub)Per un elenco completo di opzioni e flag della riga di comando, utilizzare il parametro --help.
[!IMPORTANTE] Questo strumento cerca file nel file system del server JAVA come specificato nella Nota di Sicurezza 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\syncSe il percorso fornito è un file-system radice live (ad esempio
/oC:\), lo strumento si aspetterà la directory di installazione SAP standard/usr/sap. Quindi lo strumento scannerizzerà tutte le sottodirectory<SID>/<INSTANCE>/per impostazione predefinita (usando wildcard).Se si esegue una scansione parziale, utilizzare
--singlee specificare il percorso completo della cartella dell'istanza che contiene la directory SAP Javaj2ee.
[!ATTENZIONE] Questo design è inteso per scansionare tutti i possibili file sospetti in tutti i SID/istanze, evitando il rilevamento errato di file familiari. Qualsiasi file al di fuori di questa struttura di cartelle standard non verrà rilevato e verrà sollevato un errore se la sottodirectory
j2eenon viene trovata.Il manifest del componente è anche atteso nella sottodirectory standard
j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/. Se non trovato, non verrà analizzato per le versioni vulnerabili non corrette.Il percorso del log atteso è
j2ee/cluster/<SERVER>/log/system/httpaccess/, con file denominatiresponsesed estensionetrcper il formato di log proprietario SAP. Il suffisso-clfè atteso per i file in formato Common Log Format. Se non trovato, verrà sollevato un messaggio di errore/avviso.
Filesystem montato su /mnt/sapserver (componente vulnerabile, scansione di una singola istanza per 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
------------------------------------------------------------------------------
Filesystem live su / (componente corretto, non vulnerabile):
./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
Filesystem live su C:\ (componente non installato, non vulnerabile):
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.
Per ulteriori informazioni su CVE-2025-31324/CVE-2025-42999, la campagna 0-day che li ha presi di mira e tutte le ricerche attuali, fare riferimento a:
Per maggiori informazioni su come Onapsis può aiutare la tua azienda a identificare e affrontare questa vulnerabilità, contatta [email protected]
Per maggiori informazioni su come Mandiant può aiutare la tua azienda a eseguire analisi forensi e rispondere a un incidente, contatta [email protected]