
Einzelbinär-Scanner für CVE-2021-44228 (Log4Shell), der anfällige log4j-Versionen in JAR/WAR/EAR-Dateien erkennt und Patches zur Abschwächung anwendet, indem er JndiLookup.class entfernt.

log4j2-scan ist ein einzelnes binäres Kommandozeilen-Tool zur Erkennung und Behebung der Sicherheitslücke CVE-2021-44228. Es unterstützt auch das Scannen und Patchen verschachtelter JAR-Dateien.
Führen Sie einfach log4j2-scan.exe oder log4j2-scan mit dem Zielverzeichnispfad aus.
Verwendung
Logpresso CVE-2021-44228 Vulnerability Scanner 1.3.1 (2021-12-15)
Usage: log4j2-scan [--fix] target_path
--fix
Backup original file and remove JndiLookup.class from JAR recursively.
--force-fix
Do not prompt confirmation. Don't use this option unless you know what you are doing.
--trace
Print all directories and files while scanning.
--exclude [path_prefix]
Exclude specified paths. You can specify multiple --exclude [path_prefix] pairs
--exclude-config [file_path]
Specify exclude path list in text file. Paths should be separated by new line. Prepend # for comment.
--all-drives
Scan all drives on Windows
--drives c,d
Scan specified drives on Windows. Spaces are not allowed here.
Unter Windows
log4j2-scan [--fix] target_path
Unter Linux
./log4j2-scan [--fix] target_path
Unter UNIX (AIX, Solaris usw.)
java -jar logpresso-log4j2-scan-1.3.1.jar [--fix] target_path
Wenn Sie die Option --fix hinzufügen, kopiert dieses Programm die gefährdete Original-JAR-Datei in eine .bak-Datei und erstellt eine neue JAR-Datei ohne den Eintrag org/apache/logging/log4j/core/lookup/JndiLookup.class. In den meisten Umgebungen wird die JNDI-Lookup-Funktion nicht verwendet. Sie müssen diese Option jedoch auf eigenes Risiko verwenden. Es ist erforderlich, alle laufenden JVM-Prozesse vor dem Anwenden des Patches herunterzufahren. Starten Sie den betroffenen JVM-Prozess nach der Behebung neu.
Wenn Sie den Patchvorgang automatisieren möchten, verwenden Sie die Option --force-fix. Mit dieser Option wird das Programm nicht mehr zur Bestätigung auffordern.
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, gibt dieses Programm alle besuchten Verzeichnisse und Dateien aus. Verwenden Sie diese Option nur zum Debuggen.
Unter Windows:
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
Läuft in 5 Schritten:
META-INF/maven/org.apache.logging.log4j/log4j-core/pom.properties in der JAR-Datei finden.Wenn Sie Fragen oder Probleme haben, erstellen Sie ein Issue in diesem Repository.