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
log4jcheck — Ein Skript, das nach verwundbaren Log4j-Systemen (CVE-2021-44228) sucht, indem es den Payload in gängige HTTP-Header injiziert. | Kitploit
Tools/GitHubGitHub/northwavesecurity/log4jcheck
AufklärungSchwachstellenscannerWeb-SchwachstellenscannerExploitationInformationsbeschaffungDNS-Analyse
GitHubnorthwavesecurity/log4jcheck

log4jcheck

Ein Skript, das nach verwundbaren Log4j-Systemen (CVE-2021-44228) sucht, indem es den Payload in gängige HTTP-Header injiziert.

Repository anzeigen
12623vor 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
Webseite

Northwave Log4j CVE-2021-44228-Checker

Am Freitag, den 10. Dezember 2021, wurde ein neuer Proof-of-Concept 1 veröffentlicht, der eine Schwachstelle zur Remote-Code-Ausführung (RCE) in der Java-Bibliothek „log4j“ 2 betrifft. Diese Schwachstelle wurde den Entwicklern der Software nicht im Voraus offengelegt. Die Schwachstelle wird als CVE-2021-44228 3 verfolgt. Weitere Informationen zur Schwachstelle finden Sie in der Northwave Threat Response 4.

Northwave hat ein Testskript erstellt, das anfällige Systeme prüft, indem der Payload in gängige HTTP-Header und als Teil einer HTTP-GET-Anfrage injiziert wird. Anfällige Systeme werden erkannt, indem auf eingehende DNS-Anfragen gelauscht wird, die eine speziell für das Ziel erstellte UUID enthalten. Indem wir auf eingehende DNS-Anfragen lauschen, anstatt (beispielsweise) einen LDAP-Server bereitzustellen, erhöhen wir die Wahrscheinlichkeit, dass anfällige Systeme erkannt werden können, die eine Filterung des ausgehenden Datenverkehrs eingerichtet haben. In der Praxis ist ausgehendes DNS oft erlaubt. Es wird eine hohe Rate an falsch-negativen Ergebnissen erwartet; bitte lesen Sie den Haftungsausschluss.

Abdeckung:

Die folgenden HTTP-Header werden abgedeckt:

  • X-Api-Version
  • User-Agent
  • Referer
  • X-Druid-Comment
  • Origin
  • Location
  • X-Forwarded-For
  • Cookie
  • X-Requested-With
  • X-Forwarded-Host
  • Accept

Für jede Injektion werden die folgenden JNDI-Präfixe geprüft:

  • jndi:rmi
  • jndi:ldap
  • jndi:dns
  • jndi:${lower:l}${lower:d}ap

DISCLAIMER

Beachten Sie, dass das Skript nur zwei spezifische Prüfungen durchführt: HTTP-Header und HTTP-GET-Anfrage. Dies führt zu falsch-negativen Ergebnissen in Fällen, in denen andere Header, bestimmte Eingabefelder usw. gezielt angesprochen werden müssen, um die Schwachstelle auszulösen. Dies ist sehr wahrscheinlich.

WICHTIG: Wenn der Checker „keine Schwachstelle erkannt“ zurückgibt, führen Sie die Dateisystemprüfungen durch, wie in der Northwave Threat Response 4 beschrieben. Nur den Checker auszuführen reicht nicht aus, um festzustellen, ob ein System anfällig ist oder nicht.

Einrichten eines DNS-Servers

Zuerst benötigen wir eine Subdomain, die wir zum Empfangen eingehender DNS-Anfragen verwenden können. In diesem Fall verwenden wir die Zone log4jdnsreq.northwave.nl und stellen unser Skript auf log4jchecker.northwave.nl bereit. Konfigurieren Sie einen DNS-Eintrag wie folgt:

root@kitploit:~
log4jdnsreq 3600 IN  NS log4jchecker.northwave.nl.

Wir richten nun einen BIND-DNS-Server auf einem Debian-System mit apt install bind9 ein und fügen der Datei /etc/bind/named.conf.options Folgendes hinzu:

root@kitploit:~
	recursion no;
	allow-transfer { none; };

Dies deaktiviert die Rekursion, da wir keinen offenen DNS-Server betreiben möchten. Konfigurieren Sie das Logging in /etc/bind/named.conf.local, indem Sie die folgende Konfiguration hinzufügen:

root@kitploit:~
logging {
	channel querylog {
		file "/var/log/named/query.log";
		severity debug 3;
		print-time yes;
	};
	category queries { querylog;};
};

Vergessen Sie nicht, BIND mit systemctl restart bind9 neu zu starten. Prüfen Sie, ob das Logging funktioniert, indem Sie eine DNS-Abfrage für xyz.log4jdnsreq.northwave.nl durchführen. Eine oder mehrere Abfragen sollten in /var/log/named/query.log erscheinen.

Überprüfen Ihres DNS-Servers

Es ist wichtig zu überprüfen, dass Nameserver-Abfragen tatsächlich protokolliert werden. Dieses Skript kann anfällige Websites nicht erkennen, es sei denn, Ihre Nameserver-Konfiguration protokolliert Anfragen.

Testen Sie Ihren Server, indem Sie eine Testabfrage durchführen (idealerweise von einem anderen Rechner):

root@kitploit:~
dig test.log4jchecker.northwave.nl

Sie sollten keine Antwort erwarten, aber Sie sollten einen Eintrag in der Logdatei erwarten (cat /var/log/named/query.log). Dieser Eintrag könnte ähnlich aussehen wie:

root@kitploit:~
14-Dec-2021 13:36:01.402 client @0x7f8b180a9b30 requester-ip#58755 (test.log4jchecker.northwave.nl): query: test.log4jchecker.northwave.nl IN A -E(0)DC (your-ip)

Fahren Sie nicht fort, es sei denn, eine Antwort ist in den Logs sichtbar. Ohne diese wird das Skript keine Schwachstellen erkennen.

Ausführen des Skripts

Installieren Sie alle Python-Abhängigkeiten mit pip install -r requirements.txt. Bearbeiten Sie das Skript, um die folgende Zeile in die von Ihnen konfigurierte DNS-Zone zu ändern:

root@kitploit:~
HOSTNAME = "log4jdnsreq.northwave.nl"

Sie können das Skript nun ausführen, indem Sie eine einzelne URL mit dem Parameter -u oder eine Liste von URLs mit dem Parameter -l angeben:

root@kitploit:~
usage: nw_log4jcheck.py [-h] [-l LIST] [-u URL] [-w WAIT] [-t TIMEOUT]

optional arguments:
  -h, --help            show this help message and exit
  -l LIST, --list LIST  A text file with a list of URLs to check (one url per line)
  -u URL, --url URL     URL to check (for example: http://yoururl.com)
  -w WAIT, --wait WAIT  Number of seconds to wait before checking DNS logs (default: 15)
  -t TIMEOUT, --timeout TIMEOUT
                        HTTP timeout in seconds to use (default: 5)

Die letzte Zeile der Ausgabe zeigt, ob das System als anfällig erkannt wurde:

root@kitploit:~
NO VULNERABILITY DETECTED. Proceed with on-server checking. No incoming DNS request to 3414db71-309a-4288-83d4-aa3f103db97c.log4jdns.northwave.nl was seen

Falls keine Schwachstelle erkannt wurde, führen Sie die Dateisystemprüfungen durch, wie in der Northwave Threat Response 4 beschrieben. Auch hier gilt: Nur den Checker auszuführen reicht nicht aus, um festzustellen, ob ein System anfällig ist oder nicht.

Lizenz

Log4jcheck ist Open-Source-Software, die unter der MIT-Lizenz lizenziert ist.

Tool herunterladen