Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
log4shell_sentinel — Ein intelligenter Log4Shell/Log4j/CVE-2021-44228-Scanner | Kitploit
Tools/GitHubGitHub/ossie-git/log4shell_sentinel
SchwachstellenscannerContainer-SicherheitSchwachstellenanalyseForensikIncident ResponseLog-Analyse
GitHubossie-git/log4shell_sentinel

log4shell_sentinel

Ein intelligenter Log4Shell/Log4j/CVE-2021-44228-Scanner

Repository anzeigen
14126vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Log4Shell Sentinel - Ein intelligenter Scanner für CVE-2021-44228

Einleitung

Obwohl es bereits einige hervorragende Tools gibt, die Unternehmen dabei helfen, ihre Umgebungen nach Anwendungen zu durchsuchen, die anfällig für die kritische Log4J / CVE-2021-44228-Sicherheitslücke sind, fand ich, dass:

  • keines der Tools, auf die ich gestoßen bin, für Analysten gedacht war, um einen bestimmten Fund während des gesamten Behebungsprozesses zu verfolgen. Log4Shell Sentinel gibt seine Ergebnisse im CSV-Format aus, in der Erwartung, dass ein Analyst die Ergebnisse dann in Excel aufbereitet, einige Funde zu einer Ignorierliste hinzufügt und den Scan erneut ausführt, Scans vergleicht, Daten zu Scan-Ergebnissen hinzufügt usw.
  • dateibasierte Scanner den Analysten viel Arbeit lassen, insbesondere in containerisierten Umgebungen

So wurde Log4Shell Sentinel geboren. Log4Shell Sentinel ist ein dateibasierter Scanner mit einigen einzigartigen Funktionen. Es soll nicht alle anderen verfügbaren Tools ersetzen, sondern kann sie ergänzen.

Funktionen

Log4Shell Sentinel ist ein dateibasierter Scanner. Er durchsucht ein Zielsystem nach Java-basierten Anwendungen, indem er nach Artefakten der folgenden Dateiformate sucht:

DateitypDetails
Einfaches jarDies ist der Fall, wenn die log4j-core-Datei nicht eingebettet ist.
Fat / Uber jarEin Uber jar ist ein Jar, das sowohl Ihre Klassen / Ihr Paket als auch alle Abhängigkeiten Ihrer Anwendung (Bibliotheken, Ressourcen und Metadatendateien) in einer einzigen Jar-Datei enthält. Dies ist die am häufigsten verwendete Bereitstellungsoption.
WAREine war (Web Application Archive) -Datei ist eine Datei, die Ihren JSP-, HTML- und JavaScript-Code zusätzlich zu Ihren Bibliotheken und anderen Ressourcen enthält. Dieses Format wird seltener verwendet.
EAREin ear (Enterprise Application Archive) ist ein weiteres Format, das früher häufiger bei Jakarta EE für Bereitstellungen verwendet wurde.

und sucht nach Instanzen von anfälligen log4j-core-Jars. Anschließend:

  • berechnet es einen MD5-Hash des Artefakts. Dies ermöglicht es einem Analysten, dieselbe Anwendung, die auf verschiedenen Rechnern/Containern läuft, zu identifizieren und als einen einzigen Fund zu behandeln

  • führt es für Dateien, die als zu einem Container gehörend erkannt wurden (z. B.: /var/lib/docker/overlay2/192768f471818601094bf4edd96d14bfc0e2b178a04a2efd00b2231ad4e46b33/merged/app/spring-boot-application.jar), die schwere Arbeit durch, die Datei dem entsprechenden Image zuzuordnen. Zum Beispiel würde es das obige in das folgende Image übersetzen: ghcr.io/christophetd/log4shell-vulnerable-app:latest. Da die verschiedenen Container-Laufzeiten diese Zuordnung auf unterschiedliche Weise speichern, kann dies einem Analysten stundenlange Frustration ersparen. Dies ermöglicht es einem Analysten auch, eine Reihe von Containern, die eine einzelne Anwendung ausführen, als einen einzigen Fund zu behandeln.

  • entfernt es nutzlose Treffer, wie z. B. Treffer, die Containern entsprechen, die derzeit nicht ausgeführt werden, einschließlich gecachter Images. Dies ermöglicht es einem Analysten, sich auf das Wesentliche zu konzentrieren, und erspart dem Analysten erneut stundenlange unnötige Arbeit

  • ermöglicht es einem Analysten, Treffer zu ignorieren, basierend auf:

    • MD5-Hash
    • Dateipfad
    • Container-Image

    Dies ermöglicht es dem Analysten, Anwendungen zu entfernen, von denen bekannt ist, dass sie nicht anfällig sind, oder die CLI-basierten Anwendungen entsprechen, die keine Bedrohung darstellen. Wenn beispielsweise eine Instanz von Logstash erkannt wird, kann ein Analyst sie ignorieren, wenn sie das Tool nicht ausführen oder es nur gelegentlich von der CLI aus ausführen.

  • ist es optimiert für die Zusammenarbeit mit Ihren Konfigurationsmanagement-Tools wie Ansible, sodass Sie Ihre Umgebung in Minuten schnell scannen können.

Metadaten-Anreicherung

Einzelheiten zur Metadaten-Anreicherung, die von Log4Shell Sentinel hinzugefügt wird, finden Sie in meinem Blog-Beitrag.

Installation

Der einfachste Weg ist, die vorkompilierte Binärdatei herunterzuladen.

Aus dem Quellcode erstellen

Auch dies ist unkompliziert. Sie werden jedoch wahrscheinlich eine statisch kompilierte Version erstellen möchten, um GLIBC-bedingte Variationen in Ihrer Umgebung zu umgehen. Das Tool verwendet die folgenden Module, die standardmäßig CGO verwenden:

  • os/user
  • net

Um eine statisch kompilierte Version zu erstellen, die die Go-Versionen dieser Bibliotheken verwendet, klonen Sie einfach das Repository und führen Sie dann Folgendes aus:

$ CGO_ENABLED=0 go build -ldflags="-s -w"
$ ldd log4shell_sentinel
        not a dynamic executable

Verwendung

$ ./log4shell_sentinel -h
NAME:
   Log4Shell Sentinel - by Osama Elnaggar

USAGE:
   log4shell_sentinel [global options] command [command options] [arguments...]

VERSION:
   v1.0.0

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --path value, -p value       Path to search (default: ".")
   --no-banner, --nb            Suppress banner (default: false)
   --no-messages, --nm          Suppress messages except for CSV output (default: false)
   --no-header, --nh            Suppress header in CSV output (default: false)
   --imd5 value, --im value     Ignore MD5 hashes. Refer to the GitHub page for expected format
   --ipath value, --ip value    Ignore file path matches. Refer to the GitHub page for expected format
   --icimage value, --ic value  Ignore container image matches. Refer to the GitHub page for expected format
   --print-headers, --ph        Print CSV Headers only (default: false)
   --help, -h                   show help (default: false)
   --version, -v                print the version (default: false)

Standardmäßig scannt ein Scan das aktuelle Verzeichnis. Zum Beispiel:

$ ./log4shell_sentinel

░█░░░█▀█░█▀▀░█░█░█▀▀░█░█░█▀▀░█░░░█░░░░░█▀▀░█▀▀░█▀█░▀█▀░▀█▀░█▀█░█▀▀░█░░
░█░░░█░█░█░█░░▀█░▀▀█░█▀█░█▀▀░█░░░█░░░░░▀▀█░█▀▀░█░█░░█░░░█░░█░█░█▀▀░█░░
░▀▀▀░▀▀▀░▀▀▀░░░▀░▀▀▀░▀░▀░▀▀▀░▀▀▀░▀▀▀░░░▀▀▀░▀▀▀░▀░▀░░▀░░▀▀▀░▀░▀░▀▀▀░▀▀▀

- A CVE-2021-44228/CVE-2021-45046/CVE-2021-45105 Scanner
- v1.0.0
- by Osama Elnaggar

[*] WARNING: Running as non-root user.
             Non-readable files / dirs will be skipped
             Container mapping will fail

[*] Starting shallow scan ............ [DONE]
[*] Starting deep scan ............... [DONE]
[*] Calculating MD5 hashes ........... [DONE]
[*] Performing container image lookups [DONE]
[*] Processing ignore list(s) ........ [DONE]
[*] Generating output ................ [DONE]

IP,Hostname,AppName,Team,Ignore (Y/N),Comments,MD5Hash,Timestamp,Container,ContainerImage,FullPath,Version
192.168.121.121,server3,,,,,4e615cd580758b70c49ade1f79103328,2021-12-21T07:38:09Z,true,ghcr.io/christophetd/log4shell-vulnerable-app:latest,/run/containerd/io.containerd.runtime.v2.task/k8s.io/dc2c9c214809f506283c917244cd126a9b056ac7274322d12b59c9196d95dd9b/rootfs/app/spring-boot-application.jar,log4j-core-2.14.1.jar

Sie erhalten sofort eine WARNUNG, wenn Sie es als Nicht-Root-Benutzer ausführen, da es root-Berechtigungen benötigt:

  • wenn Sie planen, Ihr gesamtes Dateisystem zu scannen (empfohlen)
  • wenn Sie planen, Container-zu-Image-Lookups durchzuführen (Zugriff auf den Docker-Daemon, Konfigurationsdateien usw. ist erforderlich)

Es funktioniert auch ohne root-Rechte, liefert aber möglicherweise nicht die besten Ergebnisse.

Funde verstehen

Ein beispielhafter Fund sieht so aus:

Tool herunterladen