Dados de um Exercício BRAWL de Emulação Automatizada de Adversários
Um dos problemas desafiadores para pesquisadores de segurança cibernética que desenvolvem capacidades de detecção e resposta é encontrar um ambiente realista para testar suas hipóteses e capacidades.
O método mais barato é testar capacidades em uma pequena rede de laboratório. Mas esse ambiente carece da escala de uma rede empresarial real e do ruído de ambientes reais que torna a detecção muito mais difícil. Em muitos aspectos, o melhor ambiente seria testar em múltiplas redes de escala empresarial com um atacante controlado, mas realista, e ruído real de usuários, administradores de sistema e software/dispositivos de terceiros. O desafio de testar neste ambiente é que é caro e, em alguns cenários, de alto risco.
O BRAWL busca criar um compromisso ao gerar um sistema para criar automaticamente uma rede empresarial dentro de um ambiente de nuvem. OpenStack é o único ambiente atualmente suportado, mas está sendo projetado de forma a suportar facilmente outros ambientes de nuvem no futuro. O BRAWL também constrói uma rede de análise contendo um pipeline de ingestão e processamento de dados usando LogStash e Kafka. Como parte da rede de análise, ele cria um sistema de armazenamento e pesquisa de eventos usando Elasticsearch e Kibana. O BRAWL inicia um "Tabuleiro de Jogo" de rede empresarial com imagens Windows. Essas imagens têm o Microsoft Sysmon e outros sensores já instalados e configurados para encaminhar logs para o framework de ingestão de dados.
O BRAWL também possui um conceito de bots, que podem ser Vermelhos, Azuis ou Cinzas. Os bots Vermelhos são ofensivos, os Azuis são defensivos e os Cinzas emulam comportamento legítimo de usuário para fornecer ruído, tornando a detecção mais difícil. Quando um usuário deseja testar hipóteses de pesquisa, ele implementa um bot BRAWL. O bot BRAWL se registra no Controlador BRAWL, que então orquestra jogos entre bots BRAWL no Tabuleiro de Jogo.
Nota: Devido a problemas com tamanhos de arquivos e cotas do GitHub, estamos colocando todos os arquivos em um arquivo zip em vez de mantê-los como texto simples no repositório git. Todos os dados estão no arquivo
Este lançamento consiste em alguns dados de um protótipo do BRAWL. Criamos uma pequena rede empresarial, descrita abaixo. Em seguida, executamos um único jogo usando o projeto de pesquisa CALDERA da MITRE como um bot vermelho.
O CALDERA é um projeto de pesquisa relacionado da MITRE que automatiza atividades de emulação de adversários com base nas informações do modelo Táticas, Técnicas e Conhecimento Comum do Adversário (ATT&CK). Ele implementa um conjunto de táticas e técnicas ATT&CK e usa um sistema de planejamento (https://dl.acm.org/citation.cfm?id=2991111) para automatizar a atuação dessas técnicas e gerar comportamento adversário pós-comprometimento dentro de uma rede empresarial.
Estes dados são lançados sob a Licença Creative Commons BY
Nossa pequena rede empresarial é uma rede plana que consiste em um Controlador de Domínio (dc.brawlco.com) e 16 estações de trabalho. Cada PC tem o nome do usuário principal no nome do PC (por exemplo, o usuário beane normalmente faz login em beane-pc). Esse usuário tem privilégios de Administrador Local no computador.
Todos os PCs estão executando Windows 8.1. O Controlador de Domínio está executando Windows Server 2012 R2.
Nos PCs com Windows 8, fizemos alterações para habilitar o WDigest para manter senhas em texto simples na memória do LSASS usando o seguinte comando de registro: reg ADD HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\ /v UseLogonCredential /t REG_DWORD /d 1 /F
Para este exercício, o CALDERA foi o único bot BRAWL participante. Embora conceitualmente o BRAWL possa ser usado para testar uma variedade de comportamentos de atacantes e detecções, muitos dos esforços de pesquisa da MITRE seguem uma filosofia de "assumir violação". Portanto, damos ao CALDERA um ponto de partida como Administrador Local em uma máquina na rede no início do exercício.
Além disso, sem um bot Cinza realizando logon em diferentes hosts, o Tabuleiro de Jogo do BRAWL é estéril da perspectiva de credenciais que podem ser roubadas e usadas por bots Vermelhos. Para permitir movimento lateral, o Controlador BRAWL usa psexec para criar eventos de logon em hosts com as credenciais de outros usuários da rede.
O CALDERA executou as seguintes técnicas ATT&CK durante o exercício:
Existem cinco tipos de dados neste repositório. Cada um está contido em seu próprio arquivo na pasta data/.
| Tipo de Dado | Descrição |
|---|---|
| game_metadata | Dados descrevendo o cenário BRAWL |
| sysmon | Dados coletados do Sysmon em execução em cada uma das estações de trabalho |
| win_event | Logs de Eventos do Windows |
| computer_properties | Dados coletados de scripts personalizados que fornecem algumas informações sobre os computadores na rede |
| bsf | Ações do bot Vermelho no Formato Compartilhado BRAWL (BSF) |
Bots Vermelhos e bots Azuis são incentivados a registrar informações sobre suas atividades ou detecções no Formato Compartilhado BRAWL (BSF). O objetivo disso é facilitar a comparação entre detecções/ações do bot Azul e ações do bot Vermelho.
O formato está atualmente em desenvolvimento e pode mudar em conjuntos de dados futuros.
Os campos para BSF são descritos abaixo na seção Detalhes das Fontes de Dados.
Diferentes fontes de eventos no BRAWL lidam com o tempo de forma diferente. O tempo é ou o momento em que um evento atingiu nosso framework de ingestão de logs, o momento em que o evento foi gerado no host/endpoint, ou o momento registrado por um bot na rede. Em geral, esses tempos devem estar dentro de alguns milissegundos uns dos outros. Quando possível, o framework de ingestão de logs usa o tempo do evento armazenado no evento em vez do tempo do evento ao atingir os nós de ingestão. A tabela abaixo detalha o método usado para cada tipo de dado.