
Docker-basiertes mehrstufiges Angriffssimulationslabor, das die Ausnutzung von CVE-2017-5638 und CVE-2021-41773, laterale Bewegung und Suricata IDS-Erkennung über ein realistisches 10-Container-Netzwerk demonstriert.
Ein auf Docker basierendes Angriffsemulationslabor mit 7 Hosts, das eine mehrstufige Kill-Chain, laterale Bewegung und Multi-Point-IDS-Erkennung demonstriert.
Dieses Labor simuliert eine realistische Netzwerkumgebung, in der ein Angreifer von der anfänglichen Aufklärung über einen ersten Zugang (Foothold) schließlich durch Pivoting zu einem hochwertigen Ziel gelangt. Es umfasst zwei unabhängige Suricata-IDS-Instanzen, die als Sidecars zu den kritischen Hosts agieren und eine „Verteidigerperspektive“ auf den gesamten Angriffslebenszyklus bieten.
172.28.0.0/24 durch.web-struts) mittels OGNL-Injection im Content-Type-Header aus.web-struts-Hosts startet der Angreifer einen sekundären Exploit gegen ein internes Ziel.web-vuln) aus, um Root-Zugriff zu erlangen.Das Labor besteht aus insgesamt 10 Containern:
web-struts (172.28.0.11): Apache Struts 2.3.28 (Anfällig für S2-045).web-vuln (172.28.0.10): Apache httpd 2.4.49 (Anfällig für Path Traversal/RCE).db-mysql (172.28.0.12): Unterstützende Datenbank.ssh-server (172.28.0.13): Legacy-Foothold-Ziel.ftp-server, smb-server, dns-server: Infrastrukturdienste für realistische Wirkung.ids-suricata-struts: Überwacht den Netzwerk-Namespace von web-struts.ids-suricata-web: Überwacht den Netzwerk-Namespace von web-vuln.Führen Sie das Setup-Skript aus, um die Umgebung zu erstellen und zu starten:
./scripts/setup.sh
Dies initialisiert das Netzwerk, zieht/erstellt Images und startet alle 10 Container.
Das Labor bietet ein Dispatcher-Skript, um verschiedene Phasen des Angriffs auszulösen.
./scripts/attack.sh full
./scripts/attack.sh recon./scripts/attack.sh struts-foothold./scripts/attack.sh struts-pivot./scripts/attack.sh directSie können einen benutzerdefinierten Befehl übergeben, der auf dem Endziel ausgeführt wird:
./scripts/attack.sh full "whoami; cat /etc/os-release"
Alarme werden in einzelne eve.json-Dateien für jede IDS-Instanz geschrieben:
./alerts/web-struts/eve.json./alerts/web-vuln/eve.jsonSie können beide Feeds live mit folgendem Befehl verfolgen:
./scripts/tail-alerts.sh
Um alle Laborkomponenten zu stoppen und zu entfernen:
./scripts/teardown.sh