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
CVE-2021-44228-playground — Docker-basiertes Labor zur Validierung von CVE-2021-44228 (Log4Shell) in Java-Apps, zum Testen von Gegenmaßnahmen und zur Simulation von RCE über LDAP- und HTTP-Nutzlasten. | Kitploit
Tools/GitHubGitHub/b-abderrahmane/cve-2021-44228-playground
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungLabs & Praxis
GitHubb-abderrahmane/cve-2021-44228-playground

CVE-2021-44228-playground

Docker-basiertes Labor zur Validierung von CVE-2021-44228 (Log4Shell) in Java-Apps, zum Testen von Gegenmaßnahmen und zur Simulation von RCE über LDAP- und HTTP-Nutzlasten.

Repository anzeigen
223vor 6 TagenNoch 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-CVE-2021-44228-Validator

Basic test

Extended test

Über

Dieses Tool ermöglicht es Ihnen zu überprüfen, ob eine einfache Java-Webanwendung für eine vom Benutzer angegebene Version von Java und Log4J anfällig für CVE-2021-44228 ist. Sie können [optional] eine der vordefinierten Gegenmaßnahmen anwenden. Das von log4shell_validator.py gestartete Simulationslabor verwendet docker-compose, um die Ausnutzung der log4j-Schwachstelle und das Erlangen von RCE auf der anfälligen Maschine zu simulieren.

Funktionsweise

Zuerst müssen einige Docker-Images erstellt werden. Das Skript ./build_images.sh sollte sich darum kümmern.

Die Angriffssimulation wird wie folgt durchgeführt:

  • Zunächst wird eine einfache Java-Webanwendung in einem Container auf Port 8080 gestartet. Wenn diese Anwendung GET-Aufrufe auf erhält, protokolliert sie immer das User-Agent-Header-Feld. Der Code für diese Anwendung ist unter verfügbar.
/2021-44228-via-message
./poc_template
  • Ein Fake-LDAP-Server wird mit marshalsec in einem separaten Container auf Port 1389 gestartet. (Dieser Container leitet empfangene LDAP-Anfragen an den Nginx-Server weiter.)
  • Ein Nginx-Webserver wird auf Port 8888 gestartet; dieser Container hostet die kompilierte .class-Datei, die wir auf unserer anfälligen App ausführen möchten.
  • Ein einfacher curl-Container wird gestartet; dieser führt das Skript ./exploit.sh aus, das einen Payload an die anfällige App sendet.
  • Anleitung

    • Stelle sicher, dass Python, Docker, Docker-Compose und Maven lokal verfügbar sind.
    • Erstelle die marshalsec-JAR-Datei durch Ausführen von: cd marshalsec/ ;mvn clean package -DskipTests ;cd -
    • Führe ./build-images.sh aus
    • Führe python log4shell_validator.py --java-version 8 --log4j-version 2.12.1 aus

    Anwendungsbeispiele

    • Hilfetext des Python-Wrappers:
    root@kitploit:~
    ~/workspace/CVE-2021-44228-playground$ python log4shell_validator.py --help
    usage: log4shell_validator.py [-h] [--java-version JAVA_VERSION] --log4j-version LOG4J_VERSION [--no-cleanup] [--disable-trust-url] [--remove-jndi-lookup-class] [--disable-message-lookup] [--debug]
                                  [--exploit-via-thread-context]
    
    log4j-vulnerability-tester
    
    optional arguments:
      -h, --help            show this help message and exit
      --java-version JAVA_VERSION
                            version of java to be used
      --log4j-version LOG4J_VERSION
                            version of log4j to be used
      --no-cleanup          Don't delete used containers.
      --disable-trust-url   Disable the LDAP trustURLCodebase setting on the victim app
      --remove-jndi-lookup-class
                            Remove the JNDI Lookup class from the log4j jar file
      --disable-message-lookup
                            Disable the JNDI message lookup in the victim app's JVM
      --debug               Display all container's logs
      --exploit-via-thread-context
                            By sending the payload to an HTTP handler which makes use of Custom logging with ThreadContext, attempt to bypass the no-message-lookup mitigation
    

    Verfügbare Funktionen:

    Dieser Validator wurde mit mehreren Kombinationen von Java7/8 und verschiedenen Versionen von Log4J2 getestet. Weitere Beispiele finden Sie in der Pipeline der erweiterten Tests im GitHub Actions-Tab.

    Derzeit wurden die folgenden Gegenmaßnahmen implementiert:

    • Deaktivieren von trustURLCodebase für LDAP durch Setzen der Eigenschaft com.sun.jndi.ldap.object.trustURLCodebase auf False.
    • Entfernen der Datei JNDILookup.class aus der log4j-JAR-Datei.
    • Deaktivieren der Message-Lookup durch Übergabe des folgenden Flags an die JVM: -Dlog4j2.formatMsgNoLookups=True

    Darüber hinaus wurde ein neues Flag hinzugefügt, um einen Ausbeutungsvektor zu testen, der das Deaktivieren von Message-Lookups umgehen kann: --exploit-via-thread-context

    Haftungsausschluss

    Diese Software wurde ausschließlich zu Forschungszwecken und zur Entwicklung effektiver Gegenmaßnahmen entwickelt und ist nicht dazu bestimmt, Systeme anzugreifen, es sei denn, dies wurde ausdrücklich genehmigt. Die Projektbetreuer übernehmen keine Verantwortung oder Haftung für Missbrauch der Software. Verwenden Sie sie verantwortungsbewusst.

    Tool herunterladen