
Laboratorio de emulación de ataques de múltiples etapas basado en Docker que demuestra la explotación de CVE-2017-5638 y CVE-2021-41773, movimiento lateral y detección de Suricata IDS a través de una red realista de 10 contenedores.
Un laboratorio de emulación de ataques basado en Docker con 7 hosts, diseñado para demostrar una cadena de eliminación de múltiples etapas, movimiento lateral y detección de IDS multipunto.
Este laboratorio simula un entorno de red realista donde un atacante progresa desde el reconocimiento inicial hasta un punto de apoyo, y finalmente a un objetivo de alto valor mediante pivotación. Cuenta con dos instancias independientes de Suricata IDS que actúan como sidecars de los hosts críticos, proporcionando una "vista del defensor" de todo el ciclo de vida del ataque.
172.28.0.0/24.web-struts) mediante inyección OGNL en el encabezado Content-Type.web-struts comprometido, el atacante lanza un exploit secundario contra un objetivo interno.web-vuln) para obtener acceso root.El laboratorio consta de 10 contenedores en total:
web-struts (172.28.0.11): Apache Struts 2.3.28 (Vulnerable a S2-045).web-vuln (172.28.0.10): Apache httpd 2.4.49 (Vulnerable a path traversal/RCE).db-mysql (172.28.0.12): Base de datos de soporte.ssh-server (172.28.0.13): Objetivo de punto de apoyo heredado.ftp-server, smb-server, dns-server: Servicios de infraestructura para realismo.ids-suricata-struts: Monitorea el espacio de nombres de red de web-struts.ids-suricata-web: Monitorea el espacio de nombres de red de web-vuln.Ejecuta el script de configuración para construir e iniciar el entorno:
./scripts/setup.sh
Esto inicializará la red, descargará/construirá las imágenes e iniciará los 10 contenedores.
El laboratorio proporciona un script despachador para activar diferentes fases del ataque.
./scripts/attack.sh full
./scripts/attack.sh recon./scripts/attack.sh struts-foothold./scripts/attack.sh struts-pivot./scripts/attack.sh directPuedes pasar un comando personalizado para ejecutar en el objetivo final:
./scripts/attack.sh full "whoami; cat /etc/os-release"
Las alertas se escriben en archivos eve.json individuales para cada instancia de IDS:
./alerts/web-struts/eve.json./alerts/web-vuln/eve.jsonPuedes seguir ambas fuentes en vivo usando:
./scripts/tail-alerts.sh
Para detener y eliminar todos los componentes del laboratorio:
./scripts/teardown.sh