
Docker-базированная лаборатория многоэтапной эмуляции атак, демонстрирующая эксплуатацию CVE-2017-5638 и CVE-2021-41773, горизонтальное перемещение и обнаружение с помощью Suricata IDS в реалистичной сети из 10 контейнеров.
Лаборатория имитации атак на базе Docker из 7 хостов, предназначенная для демонстрации многоэтапной цепочки поражения (kill chain), горизонтального перемещения и многоточечного обнаружения IDS.
Лаборатория моделирует реалистичную сетевую среду, в которой атакующий проходит путь от первоначальной разведки до закрепления (foothold) и, наконец, до цели высокой ценности через pivoting (переход через промежуточные узлы). Она включает два независимых экземпляра Suricata IDS, работающих как сайдкары к критически важным хостам и предоставляющих «взгляд защитника» на весь жизненный цикл атаки.
172.28.0.0/24.web-struts) с помощью OGNL-инъекции в заголовке Content-Type.web-struts, атакующий запускает вторичную эксплуатацию против внутренней цели.web-vuln) для получения root-доступа.Лаборатория состоит из 10 контейнеров:
web-struts (172.28.0.11): Apache Struts 2.3.28 (уязвим к S2-045).web-vuln (172.28.0.10): Apache httpd 2.4.49 (уязвим к обходу пути / RCE).db-mysql (172.28.0.12): вспомогательная база данных.ssh-server (172.28.0.13): устаревшая цель для закрепления.ftp-server, smb-server, dns-server: инфраструктурные сервисы для реалистичности.ids-suricata-struts: отслеживает сетевое пространство имён web-struts.ids-suricata-web: отслеживает сетевое пространство имён web-vuln.Запустите скрипт установки для сборки и запуска окружения:
./scripts/setup.sh
Это инициализирует сеть, загрузит/соберёт образы и запустит все 10 контейнеров.
Лаборатория предоставляет скрипт-диспетчер для запуска различных фаз атаки.
./scripts/attack.sh full
./scripts/attack.sh recon./scripts/attack.sh struts-foothold./scripts/attack.sh struts-pivot./scripts/attack.sh directВы можете передать пользовательскую команду для выполнения на конечной цели:
./scripts/attack.sh full "whoami; cat /etc/os-release"
Срабатывания записываются в отдельные файлы eve.json для каждого экземпляра IDS:
./alerts/web-struts/eve.json./alerts/web-vuln/eve.jsonВы можете просматривать оба потока в реальном времени с помощью:
./scripts/tail-alerts.sh
Чтобы остановить и удалить все компоненты лаборатории:
./scripts/teardown.sh