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
Log4j-CVE-Detect — Erkennungen für CVE-2021-44228 in verschachtelten Binärdateien | Kitploit
Tools/GitHubGitHub/darkarnium/log4j-cve-detect
Statische AnalyseSchwachstellenscannerContainer-SicherheitSchwachstellenanalyseDevSecOpsBinäranalyseLieferkettensicherheit
GitHubdarkarnium/log4j-cve-detect

Log4j-CVE-Detect

Erkennungen für CVE-2021-44228 in verschachtelten Binärdateien

Repository anzeigen
357vor 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

Log4J-CVE-Detect

Dieses Repository enthält eine Reihe von YARA-Regeln zur Erkennung von log4j-Versionen, die anfällig für CVE-2021-44228, CVE-2021-45046 und/oder CVE-2021-45105 sind, indem nach einer Reihe von Merkmalen gesucht wird, die in betroffenen Versionen vorkommen.

Dieses Tool arbeitet rekursiv auf Binärdateien wie Docker-Images, Systempaketen, Dateisystem-Images und sogar Installationsmedien. Eine vollständige Liste der unterstützten Dateiformate finden Sie im Abschnitt „Wie funktioniert es?“.

  • CVE-2021-44228
    • Sucht nach der Signatur eines JndiManager-Konstruktors (< 2.15.0).
  • CVE-2021-45046
    • Sucht nach Interpolator-Klassen, die JndiManager nicht importieren (< 2.16.0).
  • CVE-2021-45105
    • Sucht nach AbstractConfiguration-Klassen, die ConfigurationStrSubstitutor nicht importieren (< 2.17.0).

Obwohl es eine Reihe von Ressourcen gibt, um unsichere Verwendung von log4j mit CodeQL oder Semgrep zu erkennen, wurden bisher keine Ressourcen zur Erkennung potenziell anfälliger log4j-Versionen in Binärartefakten bereitgestellt.

Dies stellt eine Herausforderung für Organisationen dar, die Unternehmensanwendungen betreiben, die nicht intern entwickelt wurden oder deren Quellcode den Teams, die die erste Sichtung durchführen, nicht sofort zur Verfügung steht.

Da diese Sicherheitslücke wahrscheinlich an verschiedenen „unerwarteten“ Stellen auftauchen wird, soll dieses Tool dabei helfen, anfällige Versionen von log4j in kompilierten Artefakten zu erkennen, die dann manuell überprüft werden können, um die Ausnutzbarkeit zu bestimmen.

Einschränkungen

Verschleierter Code führt zu falsch negativen Ergebnissen, bei denen ein potenziell anfälliges Widget aufgrund der Verwendung von Verschleierung nicht erkannt werden kann.

Ausführung

Um dieses Tool auszuführen, klonen Sie dieses Repository und befolgen Sie die folgenden Schritte. Es wird vorausgesetzt, dass Docker und jq installiert sind.

  1. Fügen Sie die zu überprüfenden Binärdateien in den Ordner artifacts/ ein.
  2. Führen Sie quickstart.sh aus (./quickstart.sh).

Alternativ kann der Durchlauf mit folgendem Befehl angepasst werden:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/vulnerability.json" \
      "/mnt/stacs/input"

Wenn Sie nur nach CVE-2021-44228 suchen möchten, kann der folgende Befehl verwendet werden:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-44228.json" \
      "/mnt/stacs/input"

Wenn Sie nur nach CVE-2021-45046 suchen möchten, kann der folgende Befehl verwendet werden:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45046.json" \
      "/mnt/stacs/input"

Wenn Sie nur nach CVE-2021-45105 suchen möchten, kann der folgende Befehl verwendet werden:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45105.json" \
      "/mnt/stacs/input"

Dieses Tool kann auch ohne Docker ausgeführt werden. Bitte beachten Sie die STACS-Installationsanleitung, um STACS ohne Docker zu installieren.

Was ist mit Docker?

Um ein Docker-Image zu scannen, muss es zunächst in das Verzeichnis artifacts/ zum Scannen exportiert werden. Dies kann mit dem folgenden Befehl erfolgen:

root@kitploit:~
IMAGE="alpine:latest"
NAME="alpine_latest"

docker export $(docker create ${IMAGE}) -o artifacts/${NAME}.tar

Alternativ kann ein laufender Container einfach exportiert werden mit:

root@kitploit:~
# Ersetzen Sie CONTAINER_ID durch die korrekte Container-ID.
CONTAINER_ID="c29209118f9a"
NAME="widget_example"

docker export ${CONTAINER_ID} -o artifacts/${NAME}.tar

Ich habe einen Treffer! Was nun?

Sie müssen die Verwendung von log4j in der Anwendung untersuchen, um zu verstehen, ob das Produkt anfällig ist. Wenn dies nicht möglich ist, z. B. wegen fehlendem Zugriff auf den Quellcode, sollten Sie prüfen, ob der Anbieter entsprechende Sicherheitshinweise veröffentlicht hat.

Es gibt keine Garantie, dass die Einbindung einer anfälligen Version von log4j bedeutet, dass das Produkt anfällig ist!

Wenn Sie keine Sicherheitshinweise finden, wenden Sie sich an den Anbieter, um ihn nach den Auswirkungen dieser Sicherheitslücke auf das Produkt zu fragen.

Konsultieren Sie auch die vom log4j-Projekt veröffentlichten Maßnahmen zur Schadensbegrenzung. Alternativ und vorzugsweise aktualisieren Sie auf eine nicht betroffene Version von log4j.

Wie funktioniert es?

Obwohl nicht für diesen Zweck entwickelt, verwendet dieses Tool die STACS-Engine zur massenhaften Binär-Zerlegung und -Analyse.

STACS ist ein YARA-basierter statischer Credential-Scanner, der binäre Dateiformate, Analyse von verschachtelten Archiven, zusammensetzbare Regelsätze und Ignorierlisten sowie SARIF-Berichte unterstützt.

Als Beispiel kann dieses Tool ein Tarball analysieren, das ein exportiertes Docker-Image enthält, das wiederum ein JAR irgendwo im Dateisystem enthält, das von dieser Sicherheitslücke betroffen ist.

Sie kann auch verschachtelte tar, jar, war, ear, zip, apk, bz2, tgz, xz, rpm, iso usw. analysieren.

Ich habe einen Fehlalarm / Fehlfund gefunden

Bitte öffnen Sie ein Github-Issue, das das Problem beschreibt und – sofern möglich – auf das betroffene Binärartefakt verweist.

Pull Requests zur Anpassung der Regelsätze wären ebenfalls sehr willkommen!

Validierung

Im Verzeichnis validation/ finden Sie eine Reihe von Logdateien zur Validierung dieses Regelsatzes.

Tool herunterladen