Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
log4shell-finder — Schnellster Dateisystem-Scanner für log4shell (CVE-2021-44228, CVE-2021-45046) und andere verwundbare (CVE-2017-5645, CVE-2019-17571, CVE-2022-23305, CVE-2022-23307 ... ) Instanzen der log4j-Bibliothek. Hervorragende Leistung und geringer Speicherverbrauch. | Kitploit
Tools/GitHubGitHub/hynekpetrak/log4shell-finder
Statische AnalyseSchwachstellenscannerSchwachstellenanalyseCode-AnalyseLieferkettensicherheitFehlkonfiguration
GitHubhynekpetrak/log4shell-finder

log4shell-finder

Schnellster Dateisystem-Scanner für log4shell (CVE-2021-44228, CVE-2021-45046) und andere verwundbare (CVE-2017-5645, CVE-2019-17571, CVE-2022-23305, CVE-2022-23307 ... ) Instanzen der log4j-Bibliothek. Hervorragende Leistung und geringer Speicherverbrauch.

Repository anzeigen
391312vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

log4shell-finder - Schnellster Dateisystem-Scanner für log4j-Instanzen

Python-Port von https://github.com/mergebase/log4j-detector. log4j-detector ist urheberrechtlich geschützt (C) Copyright 2021 Mergebase Software Inc. https://mergebase.com/ Lizenziert unter GPLv3.

Motivation für den Port auf Python war die Verbesserung der Leistung, die Reduzierung des Speicherverbrauchs und die Erhöhung der Lesbarkeit des Codes. Siehe unten den Abschnitt über den Leistungsvergleich.

Und es scheint, dass dies das schnellste Scan-Tool mit dem geringsten Speicherbedarf ist

Identifiziert auf Ihrem Dateisystem log4j (1.x)-, reload4j (1.2.18+)- und log4j-core (2.x)-Versionen, die anfällig für CVE-2021-44228, CVE-2021-45046 und viele andere sind – siehe Tabelle unten. Es kann Instanzen finden, die mehrere Ebenen tief in größeren Anwendungen eingebettet sind. Funktioniert unter Linux, Windows, Mac oder überall dort, wo Python 3.8+ läuft.

Kann log4j korrekt in ausführbaren Spring-Boot-JARs/WARs erkennen, Abhängigkeiten, die in Uber-JARs eingemischt sind, in Shaded-JARs und sogar in entpackten JAR-Dateien, die einfach unkomprimiert auf dem Dateisystem liegen (auch bekannt als *.class).
Es kann auch ge-shadete Klassendateien verarbeiten – Dateiendungen .esclazz (elastic) und .classdata (Azure).

Durchsuchte Java-Archivdateierweiterungen: .zip, .jar, .war, .ear, .aar, .jpi, .hpi, .rar, .nar, .wab, .eba, .ejb, .sar, .apk, .par, .kar

Erkannte Schwachstellen

ErkenntCVECVSSv3SchweregradJavaVerwundbar abVerwundbar bisBehoben inBibliothek
JACVE-2021-4422810.0Kritisch82.0-beta92.14.12.15.0log4jv2
JACVE-2017-56459.8Kritisch72.0-alpha12.8.12.8.2log4jv2
JACVE-2019-175719.8Kritisch1.2.01.2.17nofixlog4jv1
JACVE-2021-450469.0Kritisch7/82.0-beta92.15.0 excluding 2.12.22.12.2/2.16.0log4jv2
JACVE-2022-233059.8Kritisch1.2.01.2.17nofix / 1.2.18.1log4jv1, reload4j
JACVE-2022-233079.8Kritisch1.2.01.2.17nofix / 1.2.18.1log4jv1, reload4j
JACVE-2022-233028.8Hoch1.01.2.17nofix / 1.2.18.1log4jv1, reload4j
JACVE-2021-41047.5Hoch-1.01.2.17nofixlog4jv1
JACVE-2021-448326.6Mittel6/7/82.0-alpha72.17.0, excluding 2.3.2/2.12.42.3.2/2.12.4/2.17.1log4jv2
-CVE-2021-425506.6Mittel-1.01.2.71.2.8logback
JACVE-2021-451055.9Mittel6/7/82.0-beta92.16.0, excluding 2.12.32.3.1/2.12.3/2.17.0log4jv2
-CVE-2020-94883.7Niedrig7/82.0-alpha12.13.12.12.3/2.13.2log4jv2

Jede Instanz wird mit einer passenden Liste von CVEs gemeldet. Für jede CVE wird die Log4j-Bibliotheksdatei daraufhin analysiert, ob die empfohlenen Workarounds (z. B. Entfernung von JndiLookup.class oder JMSAppender.class) angewendet wurden; in diesem Fall wird sie als nicht verwundbar betrachtet. Der Status STRANGE wird für Archive mit log4j-core-pom.properties-Datei gemeldet, die jedoch keine tatsächlichen Bytecode-Klassen enthalten – normalerweise sind dies Quellpakete und können ignoriert werden.

Warnung Die Funktion --fix ist experimentell, verwenden Sie sie auf eigene Gefahr, stellen Sie sicher, dass Sie Ihre JAR-Dateien vor der Verwendung sichern.

Das Argument --fix versucht, Instanzen von JndiLookup.class in JndiLookup.vulne umzubenennen und verhindert so das Laden der Klasse. Innerhalb von Java-Archiven geschieht dies durch Umbenennen an Ort und Stelle, erfordert kein erneutes Zippen des Archivs und ist sofort schnell.

Binärdateien sind für Linux 64bit, MS Windows 64bit und 32bit verfügbar – siehe Releases

Die minimal unterstützte Python-Version ist 3.8. Nach meinen Tests kann die Zip-Implementierung von Python 3.6 viele .jar-Dateien aus meinen Testdaten nicht öffnen.

Performance

Der log4shell-Finder ist auf Leistung und geringen Speicherverbrauch optimiert.

Aktualisiert am 23.01.2022, Leistung gemessen in einem Verzeichnis mit 26237 Dateien in 2005 Ordnern.

Laufzeit halbiert, Speicherverbrauch um 2/3 reduziert, Dateisystemzugriffe um mindestens 90%

log4shell-finder (dieses Tool)

Command being timed: "./test_log4shell.py /home/hynek/war/ --exclude-dirs /mnt --same-fs"
User time (seconds): 17.68
System time (seconds): 1.20
Percent of CPU this job got: 127%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:14.47
Maximum resident set size (kbytes): 64144
File system inputs: 114424

log4j-finder (https://github.com/fox-it/log4j-finder)

Command being timed: "./log4j-finder.py /home/hynek/war/"
User time (seconds): 23.59
System time (seconds): 1.09
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:26.18
Maximum resident set size (kbytes): 38604
File system inputs: 142824

log4j-detector (https://github.com/mergebase/log4j-detector)

Command being timed: "java -jar log4j-detector-latest.jar /home/hynek/war"
User time (seconds): 30.56
System time (seconds): 1.39
Percent of CPU this job got: 113%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:28.26
Maximum resident set size (kbytes): 214116
File system inputs: 14416

log4j2-scan (https://github.com/logpresso/CVE-2021-44228-Scanner)

Command being timed: "./log4j2-scan /home/hynek/war --scan-log4j1 --scan-zip"
User time (seconds): 52.05
System time (seconds): 25.32
Percent of CPU this job got: 88%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:27.86
Maximum resident set size (kbytes): 593080
File system inputs: 215416

Changelog

Version 1.22-20220222

  • Hinzugefügt: Liest Bibliotheksversion und -namen (log4j, log4j-core, reload4j) aus MANIFEST.MF sowie aus pom.properties
  • Leistungsverbesserungen um weitere 15%
  • Hinzugefügt: Automatische Erkennung aller lokalen Laufwerke in mswin mit dem Parameter all
  • Hinzugefügt: --no-csv-header, um die CSV-Kopfzeile wegzulassen, um das einfachere Zusammenführen von Ergebnissen mehrerer Hosts zu ermöglichen
  • Hinzugefügt: Erkennung von CVE-2017-5645 (9.8), CVE-2019-17571 (9.8), CVE-2022-23307 (8.1), CVE-2022-23305 (9.8), CVE-2022-23305 (9.8), CVE-2022-23302 (8.1), verbesserte Erkennung von CVE-2017-5645
  • Hinzugefügt: Parameter --threads zur manuellen Einstellung der Anzahl der Scan-Threads
  • Hinzugefügt: Parameter --cvs-clean, um eine "CLEAN"-Zeile in die CSV-Ausgabe zu schreiben, falls keine Log4j-Bibliothek erkannt wurde
  • Hinzugefügt: Parameter --cvs-stats, um eine "STATS"-Zeile in die CSV-Ausgabe zu schreiben, mit Laufzeit in Sekunden und Anzahl der gescannten Dateien und Ordner

Version 1.21-20220109

  • Fehler behoben: Der Befehl --fix konnte in den Versionen 1.19 und 1.20 .jar-Archive beschädigen.
Tool herunterladen