
Escanea hosts Windows, Linux y macOS en busca de paquetes Java que contengan JndiLookup.class para detectar la exposición a Log4Shell (CVE-2021-44228, CVE-2021-45046) y reportar los resultados en JSON.
Arctic Wolf Log4Shell Deep Scan está diseñado para detectar paquetes de aplicaciones Java afectados por CVE-2021-44228 y CVE-2021-45046.
Copyright 2021, Arctic Wolf Networks, Inc.
Arctic Wolf Networks, Inc. le otorga licencia de este archivo bajo la Licencia Apache, Versión 2.0 (la "Licencia"). No puede usar este archivo excepto en cumplimiento con la Licencia. Puede obtener una copia de la Licencia en http://www.apache.org/licenses/LICENSE-2.0.
A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. Consulte la Licencia para conocer el lenguaje específico que rige los permisos y limitaciones bajo la Licencia.
Este script busca en el sistema aplicaciones Java que contengan la clase Log4J JndiLookup.class, que es el origen de las vulnerabilidades Log4Shell. Si esta clase se encuentra dentro de una aplicación, el script busca actualizaciones de Log4J que indiquen que la aplicación se ha actualizado para usar Log4J 2.16+ o Log4J 2.12.2+. Si la aplicación contiene JndiLookup.class pero no parece haber sido actualizada, la aplicación es vulnerable.
Para obtener detalles adicionales, consulte:
Para los pasos de remediación, comuníquese con el proveedor de cada aplicación afectada.
Cada escaneo tendrá uno de los siguientes resultados:
Para los pasos de remediación, comuníquese con el proveedor de cada aplicación afectada.
Descargue la última versión aquí: log4shell_deep_scan_0.3.zip.
Para ejecutarlo, abra Command (cmd.exe) como administrador:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1
Por defecto, se buscará en todas las unidades fijas. Especifique un search_root de la siguiente manera:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -search_root C:\START_HERE
Los resultados se escribirán en un archivo en el directorio de trabajo actual de la siguiente manera:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Para especificar un nombre de archivo para el archivo de salida, proporciónelo como parámetro de la siguiente manera:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -output_filepath FILENAME_HERE.json
Esto puede tardar varios minutos. Ctrl-c para abortar.
nice si es necesario.Para ejecutar, abre el símbolo del sistema:
$ sudo sh log4shell_deep_scan.sh
Por defecto, se buscará en todas las unidades fijas. Especifique un search_root de la siguiente manera:
$ sudo sh log4shell_deep_scan.sh /START_HERE
Los resultados se escribirán en un archivo en el directorio de trabajo actual de la siguiente manera:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Para especificar un nombre de archivo para el archivo de salida, proporciónelo como parámetro de la siguiente manera:
$ sudo sh log4shell_deep_scan.sh /START_HERE FILENAME_HERE.json
Esto puede tardar varios minutos. Ctrl-c para abortar.
La salida JSON para los escaneos que PASAN tendrá 1 entrada de la siguiente manera:
[
{ "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 }
]
La salida JSON para los escaneos que dan como resultado FAIL tendrá 1 entrada por cada aplicación Java vulnerable encontrada en el sistema de la siguiente manera:
[
{ "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" }
]
La salida JSON para los escaneos que fallan y tienen jars no escaneados tendrá 1 entrada por cada aplicación Java vulnerable o no escaneada encontrada en el sistema de la siguiente manera:
[
{ "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 versión 0.3, publicada el 17 de diciembre de 2021, incluye las siguientes mejoras y resoluciones:
La versión 0.2, publicada el 17 de diciembre de 2021, incluye las siguientes mejoras y resoluciones: