
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