
Statische Erkennung verwundbarer log4j-Bibliotheken auf Windows-Servern, die Mitglieder einer AD-Domäne sind.
Statische Erkennung verwundbarer log4j-Bibliotheken auf Windows-Mitgliedern einer AD-Domäne. Verwendet die Erkennungs-Tool-Binary von @1lann: https://github.com/1lann/log4shelldetect
Das Skript erstellt zunächst eine .csv-Liste Ihrer domänenverbundenen Server im Skriptordner. Führen Sie es einfach aus. Wenn diese Datei noch nicht existiert, werden Sie gefragt, ob Sie sie erstellen möchten.
./log4shelldetect.ps1
Sie können ein Suchmuster verwenden, um diese Liste zu füllen und bestimmte Servernamen anzusteuern. Dieses Muster wird zu "Get-AdComputer -Filter" hinzugefügt. Beispiel:
./log4shelldetect.ps1 -searchPattern '*tst*'
Starten Sie das Skript einfach ohne Argumente. Es erstellt PSJobs für jeden Eintrag in der Serverliste. Diese PSJobs erstellen geplante Aufgaben remote auf jedem angesteuerten AD-Computer für jedes erkannte lokale Laufwerk. Anschließend wird die Scan-Binary ausgeführt, um das Dateisystem zu durchsuchen und nach verwundbaren Bibliotheken zu suchen.
./log4shelldetect.ps1
Schließlich müssen Sie die Job-Ausgaben abrufen, um die Serverliste mit dem Status zu aktualisieren (verwundbar, nicht verwundbar, nicht erreichbar...) Wenn der Server als verwundbar erkannt wird, wird im aktuellen Ordner ein Ordner mit dem Namen des betroffenen Computers erstellt, der die Ausgabe des Scan-Tools enthält. Jede Zeile dieser Textdateien stellt eine verwundbare log4j-Binary dar.
./log4shelldetect.ps1 -update
Seien Sie vorsichtig mit Automatisierung! Die geplanten Aufgaben laufen als 'NT AUTHORITY\SYSTEM', um auf alle Verzeichnisse im lokalen Dateisystem zuzugreifen. Nutzung auf eigene Gefahr. Zögern Sie nicht, das Skript vor der Verwendung zu überprüfen.
Besonderer Dank an die Arbeit von @1lann, für seine frühe Entwicklung eines effektiven Tools zur Erkennung von log4j-Schwachstellen.