top of page
Foto do escritorKelvem Sousa

Simulação de ataque com Atomic Red Team - Windows

Atualizado: 25 de dez. de 2024

Introdução


Com a constante evolução das ameaças, tornou-se inviável simular manualmente todas as técnicas de ataques existentes, mesmo mapeando as principais, ainda nos deparamos com uma série de desafios, seja para preparar um laboratório de simulação, realizar uma série de ataques, coletar evidências, e tudo isso em uma janela de tempo que, por vezes, não é grande. Para nos auxiliar com a simulação de ameaças, a Red Canary desenvolveu um projeto de código aberto, o Atomic Red Team. Com ele, podemos testar diversos cenários mapeados de acordo com o MITRE ATT&CK® ou podemos criar nossos próprios testes automatizados.


Nesta postagem, vamos abordar como utilizar o Atomic Red Team para realizar simulações de ataques em ambiente Windows.


Nota


A simulação de ataques é uma atividade de suma importância. Ao finalizar uma simulação, faça-se as seguintes perguntas:

  • Minha ferramenta de antimalware foi capaz de detectar e/ou bloquear?

  • Minha equipe de SOC (Security Operations Center) identificou?

  • Se eu desativar o antimalware, ainda serei capaz de detectar?

  • Quais logs me ajudam a identificar esse comportamento? O SOC está recebendo esses logs?


Pré-requisitos


Os requisitos listados aqui não interferem nos testes realizados pelo Atomic Red Team. Entretanto, como um bom analista de segurança, é importante termos logs para identificar incidentes e entender melhor o comportamento de cada ameaça. Nos próximos tópicos, vamos habilitar os logs do Sysmon e do PowerShell para enriquecer as informações de logs do Windows, o que ajudar a entender melhor o comportamento de cada teste executado.


Para a realização desta postagem, vamos utilizar uma máquina virtual com Windows 11.



Desabilitar Windows Defender


Em alguns casos, você pode querer se aprofundar mais no ataque e entender o que está acontecendo. Para isso, você não vai querer que o Defender bloqueie as simulações. Temos uma postagem falando sobre como desabilitar o Defender de forma persistente aqui.



Instalação do Sysmon (Opcional)


O Sysmon é uma ferramenta poderosa do Windows que nos permite ter visibilidade de uma série de eventos que, por padrão, não são habilitados no sistema operacional.


Para instalá-lo, acesse a página do Sysmon - Sysinternals e realize o download



Acesse o arquivo baixado e extraia-o



Após a extração, você deverá ver os arquivos



Abra o PowerShell no modo administrador e navegue até a pasta onde está o Sysmon. Em seguida, execute o seguinte comando

.\sysmon64.exe -accepteula -i 

Feito isso, podemos visualizar os eventos gravados pelo Sysmon em "Applications and Services Logs" -> "Microsoft" -> "Windows" -> "Sysmon" -> "Operational".


Logs de PowerShell (Opcional)


O PowerShell é uma das ferramentas preferidas dos atacantes, e ter visibilidade das ações realizadas com ele é extremamente útil na detecção de ataques.

Para habilitar os logs, abra o "Local Group Policy Editor" pressionando "Windows" + "R", digite "gpedit.msc" e pressione "Enter"




Navegue até "Administrative Templates" -> "Windows Components" -> "Windows PowerShell" -> "Turn on PowerShell Script Block Logging" e altere para "Enabled"



Feito isso, os logs serão gravados todas as vezes que um script PowerShell for executado.


Os eventos poderão ser encontrados em "Applications and Services Logs" -> "Microsoft" -> "Windows" -> "PowerShell" -> "Operational" (Event ID 4104)


Atomic Red Team


Preparação


Para configurar o Atomic Red Team, abra o PowerShell como administrador e execute os seguintes comandos

powershell -ExecutionPolicy bypass
Install-Module -Name invoke-atomicredteam,powershell-yaml -Scope CurrentUser  

Escolha "y" nas opções apresentadas




Em seguida, execute os comandos


IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing);

Install-AtomicRedTeam

Install-AtomicRedTeam -getAtomics -Force

Ao executar todos os comandos com sucesso, você deve ver uma pasta chamada "AtomicRedTeam" no diretório C:\



Uma vez instalado, podemos verificar se está funcionando utilizando o comando

help Invoke-AtomicTest

Sucesso, está funcionado!!


Simulação de ataque


Para o nosso teste, vamos simular a técnica "T1136.001 - Create Account: Local Account".


Execute o seguinte comando para listar as técnicas atômicas disponíveis para T1136.001.

invoke-atomictest T1136.001 -ShowDetails


O comando retorna os detalhes dos testes existentes e os comandos que serão executados em cada teste.


Temos algumas formas de executar esse teste. Por exemplo, podemos executar um teste específico, onde apenas o teste indicado será executado, no caso o 4

invoke-atomictest T1136.001 -TestNumbers 4

Podemos executar diversos testes de uma única vez, no caso o 4 e 5

invoke-atomictest T1136.001 -TestNumbers 4,5

Podemos executar pelo nome do teste

invoke-atomictest T1136.001 -TestNames "Create a new user in a command prompt"

Ou podemos simplesmente executar todos os testes de uma determinada técnica

invoke-atomictest T1136.001

Em todos os casos, podemos ver que os comandos foram executados com sucesso e os usuários criados. Podemos confirmar isso observando os usuários existentes



Com isso, assumo que a partir daqui você consiga realizar outros testes baseados nos testes atômicos e gerar insumos para sua equipe.

Essas ações geraram logs, e deixo aqui o desafio para identificar nos logs os comportamentos. Existem eventos de criação de usuário? Há algum log de criação de processo e linha de comando que execute a criação dos usuários? Existem logs de PowerShell que mostrem a criação do usuário via PowerShell?


Limpeza


Depois de executar os testes, algumas "sujeiras" podem permanecer no sistema operacional. O indicado em casos de laboratório é realizar um snapshot antes de executar os testes e depois restaurar esse snapshot. Entretanto, existem cenários em que isso pode não ser possível. Para esses casos, você pode executar o comando abaixo para realizar a limpeza dos artefatos deixados pelos testes.

invoke-atomictest T1136.001 -Cleanup


Extra


Alguns testes atômicos podem necessitar de dependências. Para verificar se as dependências são atendidas, podemos executar o seguinte comando

Invoke-AtomicTest TXXXX -GetPrereqs


ou

Invoke-AtomicTest T1053.005-5 -checkPrereqs


Por exemplo, o teste "T1053.005-5 Task Scheduler via VBA" necessita do Microsoft Word instalado na máquina.



1.102 visualizações0 comentário

Posts recentes

Ver tudo

Comments


bottom of page