
Laboratório de emulação de ataque multi-estágio baseado em Docker demonstrando exploração das CVE-2017-5638 e CVE-2021-41773, movimento lateral e detecção do Suricata IDS através de uma rede realista de 10 contêineres.
Um laboratório de emulação de ataque baseado em Docker com 7 hosts, projetado para demonstrar uma cadeia de ataque multi-estágio, movimento lateral e detecção IDS multi-ponto.
Este laboratório simula um ambiente de rede realista onde um atacante progride desde o reconhecimento inicial até um ponto de apoio (foothold) e, finalmente, a um alvo de alto valor através de movimentação lateral (pivoting). Ele conta com duas instâncias independentes do Suricata IDS atuando como sidecars nos hosts críticos, fornecendo uma "visão do defensor" de todo o ciclo de vida do ataque.
172.28.0.0/24.web-struts) através de injeção OGNL no cabeçalho Content-Type.web-struts, o atacante lança um exploit secundário contra um alvo interno.web-vuln) para obter acesso root.O laboratório consiste em 10 contêineres no total:
web-struts (172.28.0.11): Apache Struts 2.3.28 (Vulnerável ao S2-045).web-vuln (172.28.0.10): Apache httpd 2.4.49 (Vulnerável a path traversal/RCE).db-mysql (172.28.0.12): Banco de dados de suporte.ssh-server (172.28.0.13): Alvo de ponto de apoio legado.ftp-server, smb-server, dns-server: Serviços de infraestrutura para realismo.ids-suricata-struts: Monitora o namespace de rede do web-struts.ids-suricata-web: Monitora o namespace de rede do web-vuln.Execute o script de configuração para construir e iniciar o ambiente:
./scripts/setup.sh
Isso irá inicializar a rede, baixar/construir as imagens e iniciar todos os 10 contêineres.
O laboratório fornece um script despachante para acionar diferentes fases do ataque.
./scripts/attack.sh full
./scripts/attack.sh recon./scripts/attack.sh struts-foothold./scripts/attack.sh struts-pivot./scripts/attack.sh directVocê pode passar um comando personalizado para ser executado no alvo final:
./scripts/attack.sh full "whoami; cat /etc/os-release"
Os alertas são gravados em arquivos eve.json individuais para cada instância IDS:
./alerts/web-struts/eve.json./alerts/web-vuln/eve.jsonVocê pode acompanhar ambos os feeds em tempo real usando:
./scripts/tail-alerts.sh
Para parar e remover todos os componentes do laboratório:
./scripts/teardown.sh