
Esegue la scansione di host Windows, Linux e macOS alla ricerca di pacchetti Java contenenti JndiLookup.class per rilevare l'esposizione a Log4Shell (CVE-2021-44228, CVE-2021-45046) e riportare i risultati in JSON.
Arctic Wolf Log4Shell Deep Scan è progettato per rilevare pacchetti di applicazioni Java soggetti a CVE-2021-44228 e CVE-2021-45046.
Copyright 2021, Arctic Wolf Networks, Inc.
Arctic Wolf Networks, Inc. concede in licenza questo file secondo la Licenza Apache, Versione 2.0 (la "Licenza"). Non è possibile utilizzare questo file se non in conformità con la Licenza. È possibile ottenere una copia della Licenza all'indirizzo http://www.apache.org/licenses/LICENSE-2.0.
Salvo ove richiesto dalla legge applicabile o concordato per iscritto, il software distribuito secondo la Licenza è distribuito "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o implicite. Consultare la Licenza per il linguaggio specifico che regola i permessi e le limitazioni previsti dalla Licenza.
Questo script cerca nel sistema le applicazioni Java che contengono la classe Log4J JndiLookup.class, che è l'origine delle vulnerabilità Log4Shell. Se questa classe viene trovata all'interno di un'applicazione, lo script cerca gli aggiornamenti a Log4J che indicano che l'applicazione è stata aggiornata per utilizzare Log4J 2.16+ o Log4J 2.12.2+. Se l'applicazione contiene JndiLookup.class ma non sembra essere stata aggiornata, l'applicazione è vulnerabile.
Per ulteriori dettagli, vedere:
Per le procedure di correzione, contattare il fornitore di ciascuna applicazione interessata.
Ogni scansione avrà uno dei seguenti risultati:
Per le procedure di correzione, contattare il fornitore di ciascuna applicazione interessata.
Scaricare la versione più recente qui: log4shell_deep_scan_0.3.zip.
Per eseguirlo, aprire il Prompt dei comandi (cmd.exe) come amministratore:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1
Per impostazione predefinita, verranno cercati tutti i dischi fissi. Specificare un search_root come segue:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -search_root C:\START_HERE
I risultati verranno scritti in un file nella directory di lavoro corrente come segue:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Per specificare un nome per il file di output, fornirlo come parametro nel modo seguente:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -output_filepath FILENAME_HERE.json
Questa operazione può richiedere diversi minuti. Ctrl-c per interrompere.
nice se necessario.Per eseguirlo, aprire il prompt dei comandi:
$ sudo sh log4shell_deep_scan.sh
Per impostazione predefinita, verranno cercati tutti i dischi fissi. Specificare un search_root come segue:
$ sudo sh log4shell_deep_scan.sh /START_HERE
I risultati verranno scritti in un file nella directory di lavoro corrente come segue:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Per specificare un nome per il file di output, fornirlo come parametro nel modo seguente:
$ sudo sh log4shell_deep_scan.sh /START_HERE FILENAME_HERE.json
This can take several minutes. Ctrl-c to abort.
L'output JSON per le scansioni che PASS avranno 1 voce come segue:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:24:46.8919939-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"PASS", "vulnerable_jar":false }
]
L'output JSON per le scansioni che restituiscono FAIL avrà 1 voce per ogni applicazione Java vulnerabile trovata sul sistema, come segue:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin\\log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin.jar!log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\log4j-core-2.12.1.jar" }
]
L'output JSON per le scansioni che restituiscono FAIL e che contengono jar non scansionati avrà 1 voce per ciascuna applicazione Java vulnerabile o non scansionata trovata sul sistema, come segue:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin\\log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin.jar!log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"UNKNOWN", "unscanned_jar":"C:\\Users\\user1234\\Downloads\\log4j-3234-2.12.1.jar" }
]
La versione 0.3, rilasciata il 17 dicembre 2021, include i seguenti miglioramenti e correzioni:
La versione 0.2, rilasciata il 17 dicembre 2021, include i seguenti miglioramenti e correzioni: