Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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
2211vor 2 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-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 /2021-44228-via-message erhält, protokolliert sie immer das User-Agent-Header-Feld. Der Code für diese Anwendung ist unter ./poc_template verfügbar.
  • 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:
~/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