One of the best SOC/Engineering exercises I've done: a 3-day weekend project.
I built a Dockerized SOC simulation lab with four distinct components, all spun up
with a single command: docker compose up.
After that, the focus shifts entirely to analysis in Splunk — queries, detections, and event correlation. Because each simulation generates unique telemetry with new IPs, hostnames, usernames, and randomized behavior, no two runs are the same.
The lab is composed of four isolated containers, each on a dedicated subnet, mimicking a realistic segmented corporate network:
192.168.1.0/24192.168.1.0/24, 192.168.10.0/24, 192.168.100.0/24192.168.10.0/24192.168.100.0/24
Configured via a customized deployment server. Universal Forwarders dynamically connect and pull centralized configuration patterns automatically upon container spin-up — no manual configuration required after initial setup.
The brain of the engine. It manages three distinct subnets, handles dynamic IP allocations, and injects randomized hostnames and usernames for both the Corporate Workstation and the Actor System. It powers a dashboard displaying:
Tracks real-time telemetry. Features a preinstalled Universal Forwarder capturing:
Randomly selects one of two behavior profiles at startup, making each simulation round unique and unpredictable:
With the lab generating unique telemetry on every run, the analysis phase in Splunk focuses on:
This project was built and executed entirely within an isolated, local virtual home lab environment strictly for educational and defensive detection engineering purposes. All simulated attack activity was confined to containers with no external network connectivity.