🕸️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

Imagem 1 - Topologia do laboratório

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

Simulação de adversários

Configurações necessárias

1. Instalar Elasticsearch e Kibana no servidor Ubuntu
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 WINSERVER a Controlador de Domínio

  • Ingressar o WINCLIENT no 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