
Durchsucht Windows-, Linux- und macOS-Hosts nach Java-Paketen, die JndiLookup.class enthalten, um eine Log4Shell-Exposition (CVE-2021-44228, CVE-2021-45046) zu erkennen und JSON-Ergebnisse zu melden.
Der Arctic Wolf Log4Shell Deep Scan wurde entwickelt, um Java-Anwendungspakete zu erkennen, die von CVE-2021-44228 und CVE-2021-45046 betroffen sind.
Copyright 2021, Arctic Wolf Networks, Inc.
Arctic Wolf Networks, Inc. lizenziert diese Datei an Sie unter der Apache License, Version 2.0 (die „Lizenz"). Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Eine Kopie der Lizenz erhalten Sie unter http://www.apache.org/licenses/LICENSE-2.0.
Sofern nicht durch geltendes Recht vorgeschrieben oder schriftlich vereinbart, wird Software, die unter der Lizenz vertrieben wird, auf einer „AS IS"-BASIS, OHNE GARANTIEN ODER BEDINGUNGEN JEGLICHER ART, weder ausdrücklich noch stillschweigend, bereitgestellt. Die Lizenz enthält die spezifischen Regelungen zu Berechtigungen und Einschränkungen unter der Lizenz.
Dieses Skript durchsucht das System nach Java-Anwendungen, die die Log4J-Klasse JndiLookup.class enthalten, welche die Ursache der Log4Shell-Schwachstellen ist. Wenn diese Klasse innerhalb einer Anwendung gefunden wird, sucht das Skript nach Aktualisierungen von Log4J, die darauf hinweisen, dass die Anwendung auf Log4J 2.16+ oder Log4J 2.12.2+ aktualisiert wurde. Wenn die Anwendung JndiLookup.class enthält, aber offenbar nicht aktualisiert wurde, ist die Anwendung anfällig.
Weitere Details finden Sie unter:
Für Behebungsschritte wenden Sie sich an den Hersteller jeder betroffenen Anwendung.
Jeder Scan hat eines der folgenden Ergebnisse:
Für Behebungsschritte wenden Sie sich an den Hersteller jeder betroffenen Anwendung.
Laden Sie die neueste Version hier herunter: log4shell_deep_scan_0.3.zip.
Zum Ausführen öffnen Sie die Eingabeaufforderung (cmd.exe) als Administrator:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1
Standardmäßig werden alle festen Laufwerke durchsucht. Geben Sie ein search_root wie folgt an:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -search_root C:\START_HERE
Die Ergebnisse werden wie folgt in eine Datei im aktuellen Arbeitsverzeichnis geschrieben:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Um einen Dateinamen für die Ausgabedatei anzugeben, geben Sie ihn als Parameter wie folgt an:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -output_filepath FILENAME_HERE.json
Dies kann mehrere Minuten dauern. Strg-C zum Abbrechen.
nice.Zum Ausführen öffnen Sie die Eingabeaufforderung:
$ sudo sh log4shell_deep_scan.sh
Standardmäßig werden alle festen Laufwerke durchsucht. Geben Sie ein search_root wie folgt an:
$ sudo sh log4shell_deep_scan.sh /START_HERE
Die Ergebnisse werden wie folgt in eine Datei im aktuellen Arbeitsverzeichnis geschrieben:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Um einen Dateinamen für die Ausgabedatei anzugeben, geben Sie ihn als Parameter wie folgt an:
$ sudo sh log4shell_deep_scan.sh /START_HERE FILENAME_HERE.json
Dies kann mehrere Minuten dauern. Ctrl-c zum Abbrechen.
Die JSON-Ausgabe für Scans, die PASS ergeben, enthält 1 Eintrag wie folgt:
[
{ "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 }
]
Die JSON-Ausgabe für Scans, die FAIL ergeben, enthält einen Eintrag für jede auf dem System gefundene verwundbare Java-Anwendung, wie folgt:
[
{ "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" }
]
Die JSON-Ausgabe für Scans, die FAIL aufweisen und nicht gescannte JARs enthalten, enthält 1 Eintrag für jede gefundene verwundbare oder nicht gescannte Java-Anwendung auf dem System wie folgt:
[
{ "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" }
]
Version 0.3, veröffentlicht am 17. Dezember 2021, enthält die folgenden Verbesserungen und Korrekturen:
Version 0.2, veröffentlicht am 17. Dezember 2021, enthält die folgenden Verbesserungen und Korrekturen: