Um laboratório moderno de detecção de segurança cibernética para caça a ameaças, simulação de adversários e treinamento SOC
English (en-US): README.md · CONTRIBUTING.md · CODE_OF_CONDUCT.md · Wiki
O SOC Detection Laboratory é um ambiente completo e moderno de laboratório de segurança cibernética projetado para:
- 🔍 Detecção de Ameaças - Análise avançada de logs e monitoramento de eventos de segurança
- 🎯 Threat Hunting - Investigação proativa de ameaças cibernéticas
- ⚔️ Simulação de Adversários - Simulação de ataques para teste de detecção
- 🎓 Treinamento SOC - Treinamento de analistas de Security Operations Center
- 🔴 Exercícios Red Team - Exercícios de equipe vermelha e purple team
Uniao-Geek - Pesquisa e Desenvolvimento em Segurança Cibernética
- mrhenrike - Desenvolvedor Líder e Pesquisador de Segurança
- bhbrandon - Contribuidor
| VM | Sistema Operacional | Endereço IP | Função Principal |
|---|---|---|---|
| logger | Ubuntu 22.04 LTS | 192.168.56.105 | SIEM, Logging Centralizado, Análise |
| 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 | Workstation de Teste |
- 🔍 Splunk Enterprise - SIEM principal e análise de logs
- 🌐 Zeek (Bro) - Análise avançada de tráfego de rede
- 🛡️ Suricata - Sistema de detecção de intrusão (IDS/IPS)
- 📊 Fleet (osquery) - Monitoramento de endpoints
- 🔬 Velociraptor - Forensics digitais e resposta a incidentes
- 🖥️ Apache Guacamole - Gateway de desktop remoto
- 🔗 OpenVSwitch - Virtual switching avançado
- 📝 Windows Event Logging - Logs de sistema e aplicações
- 👁️ Sysmon - Monitoramento avançado de processos
- 📡 osquery - Telemetria de endpoints
- 🔬 Velociraptor Client - Cliente de forensics
- ⚔️ Red Team Tools - Ferramentas de teste e simulação
- VirtualBox 7.2.0+ (recomendado) ou VMware Workstation
- Vagrant 2.3+
- 8GB+ RAM (16GB recomendado)
- 50GB+ espaço em disco
- Windows 10/11 ou Linux como sistema host
-
Clone o repositório:
git clone https://github.com/Uniao-Geek/SOC-Detection-Lab.git cd SOC-Detection-Lab/Vagrant -
Execute o script de rebuild limpo:
chmod +x rebuild-logger.sh ./rebuild-logger.sh
-
Aguarde a instalação completa (30-60 minutos)
-
Acesse o Splunk:
- URL: https://192.168.56.105:8000
- Usuário: admin
- Senha: changeme
O sistema é configurado automaticamente com:
- ✅ GRUB timeout: 5 segundos (boot rápido)
- ✅ Hostname: logger
- ✅ IP estático: 192.168.56.105
- ✅ DNS: 8.8.8.8, 8.8.4.4, 192.168.56.102
- ✅ Timezone: UTC
- ✅ Network: Configuração otimizada para lab
scripts/initial-system-config.sh- Configuração inicial do sistemascripts/configure-grub.sh- Configuração do GRUB bootloaderrebuild-logger.sh- Rebuild limpo da VM logger
logger_bootstrap_enhanced.sh- Instalação completa da VM logger
Modos disponíveis:
main- Instalação completa (padrão)splunk_only- Apenas Splunk Enterprisezeek_only- Apenas Zeek Network Monitorsuricata_only- Apenas Suricata IDSfleet_only- Apenas Fleet osqueryguacamole_only- Apenas Apache Guacamolevelociraptor_only- Apenas Velociraptorfix_network_only- Apenas correção de rede
| Serviço | URL | Credenciais |
|---|---|---|
| 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 | admin@detectionlab.network/Fl33tpassword! |
| Apache Guacamole | http://192.168.56.105:8080/guacamole | vagrant/vagrant |
| Porta Host | Porta Guest | Serviço |
|---|---|---|
| 5625 | 22 | SSH Logger |
| 8000 | 8000 | Splunk Web UI |
| 8089 | 8089 | Splunk Management API |
/var/log/logger_provision_report.log- Relatório completo de provisionamento/var/log/soc-detection-lab-initial-config.log- Configuração inicial do sistema/opt/splunk/var/log/splunk/- Logs do Splunk Enterprise/opt/zeek/logs/- Logs do Zeek Network Monitor/var/log/suricata/- Logs do Suricata IDS
# Status dos serviços principais
systemctl status splunkd zeek suricata fleet
# Verificar conectividade entre 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
# Verificar configurações do sistema
hostname
ip addr show eth1
grep GRUB_TIMEOUT /etc/default/grub
# Monitorar logs em tempo real
tail -f /var/log/logger_provision_report.log
journalctl -f-
VM não inicia:
- Verificar se VirtualBox está funcionando corretamente
- Executar
vagrant destroy -fevagrant upnovamente - Verificar logs do VirtualBox
-
Problemas de rede:
- Verificar se o IP 192.168.56.105 está livre na rede
- Executar
./rebuild-logger.shpara rebuild limpo - Verificar configurações de firewall
-
Splunk não acessível:
- Aguardar 5-10 minutos após o boot completo
- Verificar logs:
journalctl -u splunkd - Verificar se o serviço está rodando:
systemctl status splunkd
-
Timeout no GRUB:
- Executar
scripts/configure-grub.shmanualmente - Verificar configuração:
cat /etc/default/grub
- Executar
# Logs do Vagrant em tempo real
vagrant ssh logger -c "tail -f /var/log/logger_provision_report.log"
# Logs do sistema
journalctl -f
# Status de todos os serviços
systemctl list-units --failed
# Verificar espaço em disco
df -h
# Verificar uso de memória
free -h- Vagrant com VirtualBox/VMware
- Setup rápido para testes e desenvolvimento
- AWS - Deploy com Terraform
- Azure - Terraform + Ansible
- ESXi - Terraform + Ansible
- Proxmox - Terraform + Ansible
- HyperV - Ambientes Windows Server
- Custom - Templates Packer para builds customizados
Contribuições são bem-vindas! Por favor, siga estes passos:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
- Use commits descritivos
- Teste suas mudanças antes de submeter
- Mantenha a documentação atualizada
- Siga as convenções de código existentes
- Uso — Conteúdo para educação, pesquisa e testes explicitamente autorizados. Não utilize contra sistemas, redes ou dados sem permissão formal do responsável; cumpra leis e políticas aplicáveis.
- Sem garantia — Fornecido “no estado em que se encontra” (AS IS). Não há garantias de qualquer tipo (expressas ou implícitas), incluindo comercialização, adequação a um fim específico ou não violação de direitos.
- Limitação de responsabilidade — Na medida máxima permitida pela lei aplicável, o(s) autor(es) não respondem por danos diretos ou indiretos, perdas, uso indevido, reclamações de terceiros ou violação de termos de produtos de terceiros. O uso é por sua conta e risco.
- Atribuição e comunidade — Preserve avisos de copyright e créditos ao projeto original (incluindo o DetectionLab e outros upstreams). Contribuições via pull requests, melhorias e issues são bem-vindas.
- Licença — Consulte o ficheiro
LICENSEna raiz do repositório para os termos completos (MIT).
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
Este projeto é baseado no original DetectionLab por Chris Long, com significativas melhorias e modificações para operações SOC modernas.
- Chris Long - Criador original do DetectionLab
- Palantir - Configurações de Windows Event Forwarding
- Splunk - Plataforma SIEM enterprise
- osquery - Visibilidade cross-platform de endpoints
- Suricata - Sistema de detecção de intrusão
- Zeek - Framework de análise de rede
- Velociraptor - Plataforma de forensics digitais
Para suporte e dúvidas:
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📚 Wiki: Documentação Completa
SOC Detection Laboratory - Construindo o futuro da detecção de ameaças cibernéticas 🛡️
Desenvolvido com ❤️ pela Uniao-Geek