A modern cybersecurity detection laboratory for threat hunting, adversary simulation, and SOC training
The SOC Detection Laboratory is a comprehensive, modern cybersecurity lab environment designed for:
- π Threat Detection - Advanced log analysis and security event monitoring
- π― Threat Hunting - Proactive cybersecurity threat investigation
- βοΈ Adversary Simulation - Attack simulation for detection testing
- π SOC Training - Security Operations Center analyst training
- π΄ Red Team Exercises - Red team and purple team exercises
Uniao-Geek - Cybersecurity Research & Development
- mrhenrike - Lead Developer & Security Researcher
- bhbrandon - Contributor
| VM | Operating System | IP Address | Primary Function |
|---|---|---|---|
| logger | Ubuntu 22.04 LTS | 192.168.56.105 | SIEM, Centralized Logging, Analysis |
| dc | Windows Server 2016 | 192.168.56.102 | Domain Controller, Active Directory |
| wef | Windows Server 2016 | 192.168.56.103 | Windows Event Forwarder |
| win10 | Windows 10 | 192.168.56.104 | Test Workstation |
- π Splunk Enterprise - Primary SIEM and log analysis
- π Zeek (Bro) - Advanced network traffic analysis
- π‘οΈ Suricata - Intrusion detection system (IDS/IPS)
- π Fleet (osquery) - Endpoint monitoring
- π¬ Velociraptor - Digital forensics and incident response
- π₯οΈ Apache Guacamole - Remote desktop gateway
- π OpenVSwitch - Advanced virtual switching
- π Windows Event Logging - System and application logs
- ποΈ Sysmon - Advanced process monitoring
- π‘ osquery - Endpoint telemetry
- π¬ Velociraptor Client - Forensics client
- βοΈ Red Team Tools - Testing and simulation tools
- VirtualBox 7.2.0+ (recommended) or VMware Workstation
- Vagrant 2.3+
- 8GB+ RAM (16GB recommended)
- 50GB+ disk space
- Windows 10/11 or Linux as host system
-
Clone the repository:
git clone https://github.com/Uniao-Geek/SOC-Detection-Lab.git cd SOC-Detection-Lab/Vagrant -
Run the clean rebuild script:
chmod +x rebuild-logger.sh ./rebuild-logger.sh
-
Wait for complete installation (30-60 minutes)
-
Access Splunk:
- URL: https://192.168.56.105:8000
- User: admin
- Password: changeme
The system is automatically configured with:
- β GRUB timeout: 5 seconds (fast boot)
- β Hostname: logger
- β Static IP: 192.168.56.105
- β DNS: 8.8.8.8, 8.8.4.4, 192.168.56.102
- β Timezone: UTC
- β Network: Optimized lab configuration
scripts/initial-system-config.sh- Initial system configurationscripts/configure-grub.sh- GRUB bootloader configurationrebuild-logger.sh- Clean logger VM rebuild
logger_bootstrap_enhanced.sh- Complete logger VM installation
Available modes:
main- Complete installation (default)splunk_only- Splunk Enterprise onlyzeek_only- Zeek Network Monitor onlysuricata_only- Suricata IDS onlyfleet_only- Fleet osquery onlyguacamole_only- Apache Guacamole onlyvelociraptor_only- Velociraptor onlyfix_network_only- Network fix only
| Service | URL | Credentials |
|---|---|---|
| Splunk Web | https://192.168.56.105:8000 | admin/changeme |
| Splunk Management API | https://192.168.56.105:8089 | admin/changeme |
| Fleet osquery | https://192.168.56.105:8412 | [email protected]/Fl33tpassword! |
| Apache Guacamole | http://192.168.56.105:8080/guacamole | vagrant/vagrant |
| Host Port | Guest Port | Service |
|---|---|---|
| 5625 | 22 | SSH Logger |
| 8000 | 8000 | Splunk Web UI |
| 8089 | 8089 | Splunk Management API |
/var/log/logger_provision_report.log- Complete provisioning report/var/log/soc-detection-lab-initial-config.log- Initial system configuration/opt/splunk/var/log/splunk/- Splunk Enterprise logs/opt/zeek/logs/- Zeek Network Monitor logs/var/log/suricata/- Suricata IDS logs
# Status of main services
systemctl status splunkd zeek suricata fleet
# Check connectivity between VMs
ping -c 1 192.168.56.102 # DC
ping -c 1 192.168.56.103 # WEF
ping -c 1 192.168.56.104 # Win10
# Check system configurations
hostname
ip addr show eth1
grep GRUB_TIMEOUT /etc/default/grub
# Monitor logs in real-time
tail -f /var/log/logger_provision_report.log
journalctl -f-
VM won't start:
- Check if VirtualBox is working correctly
- Run
vagrant destroy -fandvagrant upagain - Check VirtualBox logs
-
Network issues:
- Check if IP 192.168.56.105 is free on the network
- Run
./rebuild-logger.shfor clean rebuild - Check firewall settings
-
Splunk not accessible:
- Wait 5-10 minutes after complete boot
- Check logs:
journalctl -u splunkd - Check if service is running:
systemctl status splunkd
-
GRUB timeout:
- Run
scripts/configure-grub.shmanually - Check configuration:
cat /etc/default/grub
- Run
# Vagrant logs in real-time
vagrant ssh logger -c "tail -f /var/log/logger_provision_report.log"
# System logs
journalctl -f
# Status of all services
systemctl list-units --failed
# Check disk space
df -h
# Check memory usage
free -h- Vagrant with VirtualBox/VMware
- Quick setup for testing and development
- AWS - Deploy with Terraform
- Azure - Terraform + Ansible
- ESXi - Terraform + Ansible
- Proxmox - Terraform + Ansible
- HyperV - Windows Server environments
- Custom - Packer templates for custom builds
Contributions are welcome! Please follow these steps:
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Use descriptive commits
- Test your changes before submitting
- Keep documentation updated
- Follow existing code conventions
This project is licensed under the MIT License - see the LICENSE file for details.
This project is based on the original DetectionLab by Chris Long, with significant improvements and modifications for modern SOC operations.
- Chris Long - Original DetectionLab creator
- Palantir - Windows Event Forwarding configurations
- Splunk - Enterprise SIEM platform
- osquery - Cross-platform endpoint visibility
- Suricata - Intrusion detection system
- Zeek - Network analysis framework
- Velociraptor - Digital forensics platform
For support and questions:
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π Wiki: Complete Documentation
SOC Detection Laboratory - Building the future of cybersecurity threat detection π‘οΈ
Developed with β€οΈ by Uniao-Geek