
Analyse les hôtes Windows, Linux et macOS à la recherche de packages Java contenant JndiLookup.class afin de détecter l'exposition à Log4Shell (CVE-2021-44228, CVE-2021-45046) et de produire des résultats au format JSON.
L'Arctic Wolf Log4Shell Deep Scan est conçu pour détecter les packages d'applications Java sujets à CVE-2021-44228 et CVE-2021-45046.
Copyright 2021, Arctic Wolf Networks, Inc.
Arctic Wolf Networks, Inc. vous concède une licence sur ce fichier selon les termes de la licence Apache, Version 2.0 (la « Licence »). Vous ne pouvez pas utiliser ce fichier sauf en conformité avec la Licence. Vous pouvez obtenir une copie de la Licence à l'adresse http://www.apache.org/licenses/LICENSE-2.0.
Sauf si requis par la loi applicable ou convenu par écrit, les logiciels distribués sous la Licence sont distribués « EN L'ÉTAT », SANS GARANTIES NI CONDITIONS D'AUCUNE SORTE, expresses ou implicites. Consultez la Licence pour connaître les autorisations et limitations spécifiques régissant la langue et les permissions sous la Licence.
Ce script recherche sur le système les applications Java qui contiennent la classe Log4J JndiLookup.class, qui est à l'origine des vulnérabilités Log4Shell. Si cette classe est trouvée dans une application, le script recherche des mises à jour de Log4J indiquant que l'application a été mise à jour pour utiliser Log4J 2.16+ ou Log4J 2.12.2+. Si l'application contient JndiLookup.class mais ne semble pas avoir été mise à jour, l'application est vulnérable.
Pour plus de détails, voir :
Pour les étapes de remédiation, contactez le fournisseur de chaque application affectée.
Chaque scan produira l'un des résultats suivants :
Pour les étapes de remédiation, contactez le fournisseur de chaque application affectée.
Téléchargez la dernière version ici : log4shell_deep_scan_0.3.zip.
Pour l'exécuter, ouvrez l'invite de commandes (cmd.exe) en tant qu'administrateur :
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1
Par défaut, tous les disques fixes seront analysés. Spécifiez un search_root comme suit :
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -search_root C:\START_HERE
Les résultats seront écrits dans un fichier du répertoire de travail courant comme suit :
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Pour spécifier un nom de fichier pour le fichier de sortie, fournissez-le comme paramètre de la manière suivante :
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -output_filepath FILENAME_HERE.json
Cela peut prendre plusieurs minutes. Ctrl-c pour interrompre.
nice si nécessaire.Pour l'exécuter, ouvrez une invite de commande :
$ sudo sh log4shell_deep_scan.sh
Par défaut, tous les disques fixes seront analysés. Spécifiez un search_root comme suit :
$ sudo sh log4shell_deep_scan.sh /START_HERE
Les résultats seront écrits dans un fichier du répertoire de travail courant comme suit :
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Pour spécifier un nom de fichier pour le fichier de sortie, fournissez-le comme paramètre de la manière suivante :
$ sudo sh log4shell_deep_scan.sh /START_HERE FILENAME_HERE.json
Cela peut prendre plusieurs minutes. Ctrl-c pour interrompre.
La sortie JSON pour les scans qui PASS auront 1 entrée comme suit :
[
{ "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 sortie JSON des analyses qui échouent (FAIL) contiendra 1 entrée pour chaque application Java vulnérable trouvée sur le système, comme suit :
[
{ "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 sortie JSON pour les analyses qui ÉCHOUENT et qui comportent des jars non analysés contiendra 1 entrée pour chaque application Java vulnérable ou non analysée trouvée sur le système, comme suit :
[
{ "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 version 0.3, publiée le 17 décembre 2021, inclut les améliorations et résolutions suivantes :
La version 0.2, publiée le 17 décembre 2021, inclut les améliorations et résolutions suivantes :