
Verifica hosts Windows, Linux e macOS em busca de pacotes Java contendo JndiLookup.class para detectar exposição ao Log4Shell (CVE-2021-44228, CVE-2021-45046) e reportar resultados em JSON.
O Arctic Wolf Log4Shell Deep Scan foi projetado para detectar pacotes de aplicações Java sujeitos a CVE-2021-44228 e CVE-2021-45046.
Copyright 2021, Arctic Wolf Networks, Inc.
A Arctic Wolf Networks, Inc. licencia este arquivo para você sob a Licença Apache, Versão 2.0 (a "Licença"). Você não pode usar este arquivo exceto em conformidade com a Licença. Você pode obter uma cópia da Licença em http://www.apache.org/licenses/LICENSE-2.0.
A menos que exigido pela lei aplicável ou acordado por escrito, o software distribuído sob a Licença é distribuído "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. Consulte a Licença para o idioma específico que rege as permissões e limitações sob a Licença.
Este script pesquisa no sistema por aplicações Java que contenham a classe Log4J JndiLookup.class, que é a origem das vulnerabilidades Log4Shell. Se esta classe for encontrada dentro de uma aplicação, o script procura por atualizações do Log4J que indiquem que a aplicação foi atualizada para usar Log4J 2.16+ ou Log4J 2.12.2+. Se a aplicação contiver JndiLookup.class mas não parecer ter sido atualizada, a aplicação está vulnerável.
Para detalhes adicionais, consulte:
Para etapas de remediação, entre em contato com o fornecedor de cada aplicação afetada.
Cada verificação terá um dos seguintes resultados:
Para etapas de remediação, entre em contato com o fornecedor de cada aplicação afetada.
Baixe a versão mais recente aqui: log4shell_deep_scan_0.3.zip.
Para executar, abra o Prompt de Comando (cmd.exe) como administrador:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1
Por padrão, todas as unidades fixas serão pesquisadas. Especifique um search_root da seguinte forma:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -search_root C:\START_HERE
Os resultados serão gravados num ficheiro no diretório de trabalho atual da seguinte forma:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Para especificar um nome de arquivo para o arquivo de saída, forneça-o como parâmetro da seguinte forma:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -output_filepath FILENAME_HERE.json
Isso pode levar vários minutos. Ctrl-c para abortar.
nice se necessário.Para executar, abra o prompt de comando:
$ sudo sh log4shell_deep_scan.sh
Por padrão, todas as unidades fixas serão pesquisadas. Especifique um search_root da seguinte forma:
$ sudo sh log4shell_deep_scan.sh /START_HERE
Os resultados serão gravados num ficheiro no diretório de trabalho atual da seguinte forma:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Para especificar um nome de arquivo para o arquivo de saída, forneça-o como parâmetro da seguinte forma:
$ sudo sh log4shell_deep_scan.sh /START_HERE FILENAME_HERE.json
Isso pode levar vários minutos. Ctrl-c para abortar.
A saída JSON para varreduras que PASSAM terá 1 entrada da seguinte forma:
[
{ "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 }
]
A saída JSON para varreduras que FALHAM terá 1 entrada para cada aplicação Java vulnerável encontrada no sistema, da seguinte forma:
[
{ "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" }
]
A saída JSON para varreduras que FALHAM e têm jars não verificados terá 1 entrada para cada aplicação Java vulnerável ou não verificada encontrada no sistema, da seguinte forma:
[
{ "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" }
]
A versão 0.3, lançada em 17 de dezembro de 2021, inclui as seguintes melhorias e resoluções:
A versão 0.2, lançada em 17 de dezembro de 2021, inclui as seguintes melhorias e resoluções: