🕸️Elastic Purple Team Lab
Olá, terráqueo! Neste artigo, trago um laboratório para simulação e detecção de ataques conhecidos, baseados em táticas e técnicas do MITRE ATT&CK. Enjoy!
Objetivo
A proposta desse lab é simular um ambiente com a cultura Purple Team: desde a execução do ataque até a regra de detecção que captura rastros referentes a esse mesmo ataque.
Primariamente, eu utilizei o Wazuh como motor principal de detecção. Porém, como ele só nos envia um alerta quando dá match com alguma regra, decidi tentar utilizar o Winlogbeat para enviar todos os logs diretamente ao Elastic SIEM.
Topologia

Hardware
Elastic - 8 GB RAM / 4 vCPU / 80 GB HDD
WinClient - 8 GB RAM / 4 vCPU / 80 GB HDD
WinServer - 8 GB RAM / 4 vCPU / 80 GB HDD
Ferramentas
Monitoramento
Elastic Stack - https://www.elastic.co/downloads
Winlogbeat - https://www.elastic.co/beats/winlogbeat
Simulação de adversários
Atomic Red Team - https://www.atomicredteam.io/
MITRE Caldera - https://caldera.mitre.org/
Configurações necessárias
2. Configurar arquivos elasticsearch.yml e kibana.yml
O arquivo /etc/elasticsearch/elasticsearch.yml só precisa de uma alteração simples:
network.host: <IP_ELASTICSEARCH>
Para o arquivo /etc/kibana/kibana.yml, antes de editá-lo, precisamos gerar as chaves de criptografia para o Kibana. Esse passo é necessário para que as regras de detecção e alertas funcionem. Execute o seguinte binário:
Capture as três últimas linhas - após a linha Settings - e cole no final do arquivo kibana.yml. Além disso, altere o campo server.host para o IP do Elasticsearch:
server.host: "<IP_ELASTICSEARCH>"
Após isso, podemos iniciar os serviços:
3. Gerar enrollment token para o Kibana
Após instalar e configurar os serviços, precisamos gerar o token para associar as duas instâncias. Para isso, execute o seguinte binário:
Capture o token gerado e cole na tela de enrollment do Kibana.
4. Instalar máquinas Windows e preparar Active Directory
Agora que já instalamos o Elastic Stack, precisamos instalar e configurar o Active Directory em nosso lab. Após realizar a instalação das máquinas, precisamos:
Promover o
WINSERVERa Controlador de DomínioIngressar o
WINCLIENTno domínio criado
5. Instalação e configuração do Sysmon nos ativos a serem monitorados
Já provisionamos toda a infraestrutura, precisamos agora começar a enxergar os eventos nos ativos. Para isso, precisamos instalar o Sysmon, uma das ferramentas mais utilizadas do mundo (e gratuita!) para monitoramento de endpoints.
Nas máquinas WINCLIENTe WINSERVER, executar os seguintes comandos como Administrador:
6. Configuração do Winlogbeat
Para que o Winlogbeat possa se comunicar com o Elasticsearch, precisamos realizar a seguinte alteração no arquivo winlogbeat.yml:
output.elasticsearch.hosts: <IP_ELASTICSEARCH>
Após isso, salvar o arquivo e reiniciar o serviço.
7. Desativação de proteções do Windows
Para conseguirmos instalar corretamente o Atomic Red Team, precisamos desativar as defesas do Windows. Para isso, nas máquinas WINCLIENT e WINSERVER, precisamos executar os seguintes comandos como Administrador:
8. Instalação do Atomic Red Team
Por fim, para termos as ferramentas do ofício em mãos, precisamos baixar o Atomic Red Team e seus atomics. Para isso, nas máquinas WINCLIENT e WINSERVER, execute os seguintes comandos como Administrador:
Alright! Agora, podemos partir para a execução dos testes. Todos os que eu realizar serão registrados na seção Simulações :)
Last updated