Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-44228-Scanner — Schwachstellenscanner und Patch zur Schadensbegrenzung für Log4j2 CVE-2021-44228 | Kitploit
Tools/GitHubGitHub/logpresso/cve-2021-44228-scanner
SchwachstellenscannerSchwachstellenanalyseKonfigurationsprüfungLieferkettensicherheitIncident ResponseLog-Analyse
GitHublogpresso/cve-2021-44228-scanner

CVE-2021-44228-Scanner

Schwachstellenscanner und Patch zur Schadensbegrenzung für Log4j2 CVE-2021-44228

Repository anzeigen
8611695vor 4 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

Logpresso Logo

log4j2-scan ist ein einzelnes binäres Befehlszeilen-Tool zum Scannen und Entschärfen der Schwachstelle CVE-2021-44228 (Patchen). Es unterstützt auch das Scannen und Patchen verschachtelter JAR-Dateien. Es erkennt außerdem die Schwachstellen CVE-2021-45046 (log4j 2.15.0), CVE-2021-45105 (log4j 2.16.0), CVE-2021-44832 (log4j 2.17.0), CVE-2021-4104, CVE-2019-17571, CVE-2017-5645, CVE-2020-9488, CVE-2022-23302, CVE-2022-23305, CVE-2022-23307 (log4j 1.x) und CVE-2021-42550 (logback 0.9-1.2.7).

Log4j-Risikomanagement

Sie können log4j2-scan in den Dienst Logpresso Watch für Berichterstellung und Patch-Management integrieren. Besuchen Sie https://logpresso.watch für weitere Details.

Download

  • log4j2-scan 3.0.1 (Windows x64, 7z)
  • log4j2-scan 3.0.1 (Windows x64, zip)
    • Wenn der Fehler VCRUNTIME140.dll not found auftritt, installieren Sie Visual C++ Redistributable.
    • Wenn das native ausführbare Programm nicht funktioniert, verwenden Sie stattdessen die JAR. 32bit wird nicht unterstützt.
    • 7zip ist unter www.7zip.org verfügbar und ist Open Source und kostenlos.
  • log4j2-scan 3.0.1 (Linux x64)
  • log4j2-scan 3.0.1 (Linux aarch64)
    • Wenn das native ausführbare Programm nicht funktioniert, verwenden Sie stattdessen die JAR. 32bit wird nicht unterstützt.
  • log4j2-scan 3.0.1 (Mac OS)
  • log4j2-scan 3.0.1 (Beliebiges Betriebssystem, 620KB)
  • Build

    • So erstellen Sie ein Native Image

    Verwendung

    Führen Sie einfach log4j2-scan.exe oder log4j2-scan mit dem Pfad des Zielverzeichnisses aus. Die logpresso-log4j2-scan.jar sollte mit JRE/JDK 7+ funktionieren.

    Die Option --fix wird für die folgenden Schwachstellen unterstützt:

    • Log4j v2
      • CVE-2021-44228 (JndiLookup)
      • CVE-2021-45046 (JndiLookup)
    • Log4j v1
      • CVE-2021-4104 (JMSAppender)
      • CVE-2019-17571 (SocketServer)
      • CVE-2020-9488 (SMTPAppender)
      • CVE-2022-23302 (JMSSink)
      • CVE-2022-23305 (JDBCAppender)
      • CVE-2022-23307 (chainsaw package)

    Die Option --fix entschärft die folgenden Schwachstellen nicht:

    • Log4j v2
      • CVE-2021-44832 (JDBCAppender)
      • CVE-2021-45105 (DoS)
      • CVE-2017-5645 (SocketServer)
      • CVE-2020-9488 (SMTPAppender)
    • Logback
      • CVE-2021-42550

    Verwendung

    root@kitploit:~
    Logpresso CVE-2021-44228 Vulnerability Scanner 3.0.1 (2022-02-13)
    Usage: log4j2-scan [--scan-log4j1] [--fix] target_path1 target_path2
    
    -f [config_file_path]
            Specify config file path which contains scan target paths.
            Paths should be separated by new line. Prepend # for comment.
    --scan-log4j1
            Enables scanning for log4j 1 versions.
    --scan-logback
            Enables scanning for logback CVE-2021-42550.
    --scan-zip
            Scan also .zip extension files. This option may slow down scanning.
    --zip-charset
            Specify an alternate zip encoding other than utf-8. System default charset is used if not specified.
    --fix
            Backup original file and remove JndiLookup.class from JAR recursively.
            With --scan-log4j1 option, it also removes JMSAppender.class, SocketServer.class, SMTPAppender.class, SMTPAppender$1.class,
            JMSSink.class, JDBCAppender.class, and all classes of org.apache.log4j.chainsaw package
    --force-fix
            Do not prompt confirmation. Don't use this option unless you know what you are doing.
    --restore [backup_file_path]
            Unfix JAR files using zip archived file.
    --backup-path [zip_output_path]
            Specify backup file path.
    --backup-ext [zip]
            Specify backup file extension. zip by default.
            If --backup-path is specified, this option is ignored.
    --all-drives
            Scan all drives on Windows
    --drives c,d
            Scan specified drives on Windows. Spaces are not allowed here.
    --no-symlink
            Do not detect symlink as vulnerable file.
    --exclude [path_prefix]
            Path prefixes of directories whose absolute path starts with the specified value will be excluded.
            Does not support relative paths. You can specify multiple --exclude [path_prefix] pairs
    --exclude-config [config_file_path]
            Specify exclude path prefix list in text file. Paths should be separated by new line. Prepend # for comment.
    --exclude-pattern [pattern]
            Exclude specified paths of directories by pattern. Supports fragments.
            You can specify multiple --exclude-pattern [pattern] pairs (non regex)
    --exclude-file-config [config_file_path]
            Specify exclude file path list in text file. Paths should be separated by new line. Prepend # for comment.
    --exclude-fs nfs,tmpfs
            Exclude paths by file system type. nfs, nfs3, nfs4, afs, cifs, autofs,
            tmpfs, devtmpfs, fuse.sshfs, smbfs and iso9660 is ignored by default.
    --api-key [key]
            Send reports to Logpresso Watch service.
    --http-proxy [addr:port]
            Send reports via specified HTTP proxy server.
    --syslog-udp [host:port]
            Send reports to remote syslog host.
            Send vulnerable, potentially vulnerable, and mitigated reports by default.
    --syslog-level [level]
            Send reports only if report is higher or equal to specified level.
            Specify alert for vulnerable and potentially vulnerable reports.
            Specify info for vulnerable, potentially vulnerable, and mitigated reports.
            Specify debug for vulnerable, potentially vulnerable, mitigated, and error reports.
    --syslog-facility [code]
            Default value is 16 (LOCAL0). Facility value must be in the range of 0 to 23 inclusive.
    --rfc5424
            Follow RFC5424 The Syslog Protocol strictly.
    --report-csv
            Generate log4j2_scan_report_yyyyMMdd_HHmmss.csv in working directory if not specified otherwise via --report-path [path]
    --report-json
            Generate log4j2_scan_report_yyyyMMdd_HHmmss.json in working directory if not specified otherwise via --report-path [path]
    --report-patch
            Report also patched log4j file.
    --report-path
            Specify report output path including filename. Implies --report-csv.
    --report-dir
            Specify report output directory. Implies --report-csv.
    --no-empty-report
            Do not generate empty report.
    --csv-log-path
            Specify csv log file path. If log file exists, log will be appended.
    --json-log-path
            Specify json log file path. If log file exists, log will be appended.
    --old-exit-code
            Return sum of vulnerable and potentially vulnerable files as exit code.
    --debug
            Print exception stacktrace for debugging.
    --trace
            Print all directories and files while scanning.
    --silent
            Do not print progress message.
    --throttle
            Limit scan files per second.
    --help
            Print this help.
    

    Unter Windows

    root@kitploit:~
    log4j2-scan [--fix] target_path
    

    Unter Linux

    root@kitploit:~
    ./log4j2-scan [--fix] target_path
    

    Unter UNIX (AIX, Solaris usw.)

    root@kitploit:~
    java -jar logpresso-log4j2-scan-3.0.1.jar [--fix] target_path
    

    Wenn Sie die Option --fix hinzufügen, kopiert dieses Programm die ursprüngliche anfällige JAR-Datei in eine .bak-Datei und erstellt eine neue JAR-Datei ohne den Eintrag org/apache/logging/log4j/core/lookup/JndiLookup.class. Alle .bak-Dateien werden in einer einzigen Zip-Datei mit dem Namen log4j2_scan_backup_yyyyMMdd_HHmmss.zip archiviert und anschließend sicher gelöscht. In den meisten Umgebungen wird die JNDI-Lookup-Funktion nicht verwendet. Sie müssen diese Option jedoch auf eigenes Risiko verwenden. Sie können die ursprünglichen anfälligen JAR-Dateien einfach mit der Option --restore wiederherstellen.

    Je nach Betriebssystem:

    • Windows: Es ist notwendig, alle laufenden JVM-Prozesse vor dem Anwenden des Patches zu beenden, aufgrund von Sperrdateien. Starten Sie den betroffenen JVM-Prozess nach dem Fix neu.
    • Linux/macOS: Patch anwenden, JVM danach neu starten

    Wenn Sie den Patch-Job automatisieren möchten, verwenden Sie die Option --force-fix. Mit dieser Option fragt das Programm nicht mehr nach einer Bestätigung.

    Das Tag (mitigated) wird angezeigt, wenn der Eintrag org/apache/logging/log4j/core/lookup/JndiLookup.class aus der JAR-Datei entfernt wurde.

    Wenn Sie die Option --trace hinzufügen, werden alle besuchten Verzeichnisse und Dateien ausgegeben. Verwenden Sie diese Option nur zum Debuggen.

    Unter Windows:

    root@kitploit:~
    CMD> log4j2-scan.exe D:\tmp
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\elasticsearch-7.16.0\bin\elasticsearch-sql-cli-7.16.0.jar, log4j 2.11.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\elasticsearch-7.16.0\lib\log4j-core-2.11.1.jar, log4j 2.11.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\flink-1.14.0\lib\log4j-core-2.14.1.jar, log4j 2.14.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\logstash-7.16.0\logstash-core\lib\jars\log4j-core-2.14.0.jar, log4j 2.14.0
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\logstash-7.16.0\vendor\bundle\jruby\2.5.0\gems\logstash-input-tcp-6.2.1-java\vendor\jar-dependencies\org\logstash\inputs\logstash-input-tcp\6.2.1\logstash-input-tcp-6.2.1.jar, log4j 2.9.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-7.7.3\solr-7.7.3\contrib\prometheus-exporter\lib\log4j-core-2.11.0.jar, log4j 2.11.0
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-7.7.3\solr-7.7.3\server\lib\ext\log4j-core-2.11.0.jar, log4j 2.11.0
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-8.11.0\contrib\prometheus-exporter\lib\log4j-core-2.14.1.jar, log4j 2.14.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-8.11.0\server\lib\ext\log4j-core-2.14.1.jar, log4j 2.14.1
    
    Scanned 5047 directories and 26251 files
    Found 9 vulnerable files
    Completed in 0.42 seconds
    

    Funktionsweise

    Läuft in 5 Schritten ab:

    1. Findet rekursiv alle .jar-, .war-, .ear-, .aar-, .rar-, .nar-Dateien.
    2. Findet den Eintrag META-INF/maven/org.apache.logging.log4j/log4j-core/pom.properties in der JAR-Datei.
    3. Liest groupId, artifactId und version.
    4. Vergleicht die log4j2-Version und gibt die anfällige Version aus.
    5. Wenn die Option --fix verwendet wird, wird die anfällige Datei gesichert und gepatcht.
      • Beispiel: Die ursprüngliche vulnerable.jar wird in vulnerable.jar.bak kopiert
    6. Archiviert alle Sicherungsdateien in die Zip-Datei log4j2_scan_backup_yyyyMMdd_HHmmss.zip und löscht dann die .bak-Dateien.

    Exit-Code für Automatisierung

    • -1 Ausführung fehlgeschlagen
    • 0 für sauber (keine Schwachstelle)
    • 1 für gefunden
    • 2 für einige Fehler

    Tool-Integrationen

    • HCL BigFix
    • Checkmk
      • Siehe auch checkmk CVE-log4j agent plugin

    Kontakt

    Wenn Sie Fragen oder Probleme haben, erstellen Sie ein Issue in diesem Repository.

    Über Logpresso

    Logpresso ist ein führendes Unternehmen in der KI- und Big-Data-Branche mit Sitz in Südkorea. Logpresso bietet SIEM-, SOAR-, Protokollverwaltungs- und FDS-Lösungen auf Basis einer eigenen Big-Data-Plattform.

    Tool herunterladen