APTSimulator - Um conjunto de ferramentas para criar um sistema como se fosse vítima de um ataque APT
O Simulador de APT é um script de lote do Windows que usa um conjunto de ferramentas e arquivos de saída para fazer com que um sistema pareça estar comprometido.
Casos de uso
Casos de uso
- POCs: agentes de detecção de ponto final / ferramentas de avaliação de compromisso
- Teste as capacidades de detecção de seu monitoramento de segurança
- Teste sua resposta SOCs em uma ameaça que não é EICAR ou uma varredura de porta
- Prepare um ambiente para aulas de forense digital
Motivos
Os clientes testaram nossos scanners em um POC e nos enviaram uma queixa de que nossos scanners não relataram programas que eles instalaram em seus sistemas de teste. Eles instalaram um Nmap, derrubaram um PsExec.exe na pasta Downloads e colocaram no vírus de teste EICAR na área de trabalho do usuário. Esse foi o momento em que eu decidi construir uma ferramenta que simule uma ameaça real de forma mais apropriada.
Por que lote?
Foco
O foco desta ferramenta é simular atividades adversárias, não malware.
Começando
Evitando a detecção precoce
O script em lote extrai as ferramentas e os shells de um arquivo criptografado 7z em tempo de execução. Não faça o download do repo mestre usando o botão "baixar como ZIP". Em vez disso, use a versão oficial daseção de lançamento .
Estendendo o Conjunto de Teste
Desde a versão 0.4, é muito fácil estender os conjuntos de teste adicionando um único
Por exemplo, se você quiser escrever um caso de uso simples para "escalonamento de privilégios", que usa uma ferramenta chamada "privesc.exe", clone o repo e faça o seguinte:
Extração de ferramentas e arquivos
Se o script incluir uma ferramenta, shell web, arquivo auxiliar ou de saída, coloque-as nas pastas
Extrair uma ferramenta
Extrair um arquivo
Detecção
A tabela a seguir mostra os diferentes casos de teste e os resultados de detecção esperados.
Casos de teste
1. Dumps
2. Recon
3. DNS
4. Eventlog
5. Hosts
6. Porta-a-porta de Sticky Key
7. Obfuscação
8. Web Shells
9. Ncat Alternative
10. Ferramenta de Execução Remota
11. Mimikatz
12. PsExec
13. Em Job
14. Tecla RUN
15. Arquivo Sistível de Arquivo
16. Usuário convidado
17. LSASS DUMP
18. Solicitações C2
19. Agentes de usuários mal-intencionados
20. Criação de tarefas agendadas
21. Nbtscan Discovery
Aviso
Este repo contém ferramentas e executáveis que podem prejudicar a integridade e a estabilidade do seu sistema. Apenas use-os em sistemas de teste ou de demonstração não produtivos.
Capturas de tela
Soluções avançadas
O sistema automatizado de emulação de adversários CALDERA https://github.com/mitre/caldera
Infection Monkey - Uma ferramenta automática pentest https://github.com/guardicore/monkey
Flightsim - Um utilitário para gerar tráfego de rede malicioso e avaliar controles https : //github.com/alphasoc/flightsim
Projetos / Software Integrados
Os clientes testaram nossos scanners em um POC e nos enviaram uma queixa de que nossos scanners não relataram programas que eles instalaram em seus sistemas de teste. Eles instalaram um Nmap, derrubaram um PsExec.exe na pasta Downloads e colocaram no vírus de teste EICAR na área de trabalho do usuário. Esse foi o momento em que eu decidi construir uma ferramenta que simule uma ameaça real de forma mais apropriada.
Por que lote?
- Porque é simples: todos podem ler, modificá-lo ou estendê-lo
- Ele é executado em todos os sistemas Windows sem pré-requisitos
- É mais próximo de um atacante real trabalhando na linha de comando
Foco
O foco desta ferramenta é simular atividades adversárias, não malware.
Começando
- Baixe a versão mais recente da seção "release"
- Extraia o pacote em um sistema de demonstração (Senha: apt)
- Inicie um cmd.exe como Administrador
- Navegue até a pasta de programa extraída e execute APTSimulator.bat
Evitando a detecção precoce
O script em lote extrai as ferramentas e os shells de um arquivo criptografado 7z em tempo de execução. Não faça o download do repo mestre usando o botão "baixar como ZIP". Em vez disso, use a versão oficial daseção de lançamento .
Estendendo o Conjunto de Teste
Desde a versão 0.4, é muito fácil estender os conjuntos de teste adicionando um único
.bat
arquivo a uma das pastas de categoria de conjunto de teste. Por exemplo, se você quiser escrever um caso de uso simples para "escalonamento de privilégios", que usa uma ferramenta chamada "privesc.exe", clone o repo e faça o seguinte:
- Adicione sua ferramenta à
toolset
pasta - Escreva um novo script de lote
privesc-1.bat
e adicione-o à./test-sets/privilege-escalation
pasta - Corre
build_pack.bat
- Adicione seu teste à tabela e à lista de ações no README.md
- Criar um pedido de puxar
Extração de ferramentas e arquivos
Se o script incluir uma ferramenta, shell web, arquivo auxiliar ou de saída, coloque-as nas pastas
./toolset
ou./workfiles
. A execução do script de compilaçãobuild_pack.bat
os incluirá nos arquivos criptografadosenc-toolset.7z
eenc-files.7z
. Extrair uma ferramenta
%ZIP% e -p%PASS% %TOOLARCH% -aoa -o%APTDIR% toolset\tool.exe > NUL
Extrair um arquivo
%ZIP% e -p%PASS% %FILEARCH% -aoa -o%APTDIR% workfile\tool-output.txt > NUL
Detecção
A tabela a seguir mostra os diferentes casos de teste e os resultados de detecção esperados.
- AV = Antivírus
- NIDS = Rede de Detecção de Intrusão Sistema
- EDR = Detecção e resposta do ponto final
- SM = Monitoramento de segurança
- CA = Avaliação de Compromisso
Caso de teste | AV | NIDS | EDR | SM | CA |
---|---|---|---|---|---|
Dumps (Pwdump, Dir Listing) | X | ||||
Actividade Recon (comandos típicos) | X | X | X | ||
DNS (Cache Injection) | (X) | X | X | X | |
Eventlog (entradas WCE) | X | X | X | ||
Arquivo Hosts (blocos de atualização AV / Win) | (X) | X | X | ||
Backdoor (arquivo / depurador de StickyKey) | X | X | |||
Obfuscação (RAR com JPG ext) | (X) | ||||
Web Shells (uma boa seleção) | X | (X) | X | ||
Native Alternative (Drop & Exec) | X | X | X | X | |
Ferramenta de Execução Remota (Drop) | (X) | X | |||
Mimikatz (Drop & Exec) | X | X | X | X | |
PsExec (Drop & Exec) | X | X | X | ||
Em Job Creation | X | X | X | ||
Criação de entrada de chave RUN | X | X | X | ||
Arquivo de sistema no Susp Loc (Drop & Exec) | X | X | X | ||
Usuário convidado (Ativação e administração) | X | X | X | ||
LSASS Dump (com Procdump) | X | X | X | ||
Solicitações C2 | (X) | X | X | X | |
Agente de usuário mal-intencionado (Malware, RATs) | X | X | X | ||
Criação de tarefa agendada | X | X | X | ||
Nbtscan Discovery (Scan & Output) | X | X | (X) | X |
Casos de teste
1. Dumps
- cai pwdump saída para o diretório de trabalho
- deixa o diretório de diretório no diretório de trabalho
2. Recon
- Executa o comando usado por atacantes para obter informações sobre um sistema alvo
3. DNS
- Olha vários conhecidos endereços C2 para causar pedidos DNS e obter os endereços no cache DNS local
4. Eventlog
- Cria entradas Windwows Eventlog que parecem como se WCE tivesse sido executado
5. Hosts
- Adiciona entradas ao arquivo de hosts locais (bloqueador de atualizações, entradas causadas por malware)
6. Porta-a-porta de Sticky Key
- Tenta substituir sethc.exe por cmd.exe (um arquivo de backup é criado)
- Tenta registrar cmd.exe como depurador para sethc.exe
7. Obfuscação
- Drops um arquivo RAR coberto com extensão JPG
8. Web Shells
- Cria um diretório raiz da web padrão
- Drops shells padrão para esse diretório
- Drops GIF obfuscated web shell para esse diretório
9. Ncat Alternative
- Drops uma alternativa do PowerShell Ncat para o diretório de trabalho
10. Ferramenta de Execução Remota
- Larga uma ferramenta de execução remota para o diretório de trabalho
11. Mimikatz
- Descarrega a saída mimikatz para o diretório de trabalho (retorno se outras execuções falharem)
- Execute a versão especial da saída mimikatz e dump para o diretório de trabalho
- Execute Invoke-Mimikatz na memória (github download, reflection)
12. PsExec
- Descarregue uma versão renomeada do PsExec para o diretório de trabalho
- Execute o PsExec para iniciar uma linha de comando no contexto LOCAL_SYSTEM
13. Em Job
- Cria um no trabalho que executa mimikatz e despeja credenciais para arquivar
14. Tecla RUN
- Crie uma nova entrada de chave RUN suspeita que descarrega a saída do "usuário líquido" para um arquivo
15. Arquivo Sistível de Arquivo
- Deixa um executável suspeito com o nome do arquivo do sistema (svchost.exe) na pasta% PUBLIC%
- Executa esse programa suspeito em% PUBLIC% pasta
16. Usuário convidado
- Ativa o usuário convidado
- Adiciona usuário convidado aos administradores locais
17. LSASS DUMP
- Descarrega a memória do processo LSASS para uma pasta suspeita
18. Solicitações C2
- Utiliza Curl para acessar servidores C2 bem conhecidos
19. Agentes de usuários mal-intencionados
- Usa agentes de usuários mal-intencionados para acessar sites
20. Criação de tarefas agendadas
- Cria uma tarefa agendada que executa mimikatz e despeja a saída para um arquivo
21. Nbtscan Discovery
- Escaneando 3 sub-redes classe-C de endereço IP privado e despejando a saída para o diretório de trabalho
Aviso
Este repo contém ferramentas e executáveis que podem prejudicar a integridade e a estabilidade do seu sistema. Apenas use-os em sistemas de teste ou de demonstração não produtivos.
Capturas de tela
Soluções avançadas
O sistema automatizado de emulação de adversários CALDERA https://github.com/mitre/caldera
Infection Monkey - Uma ferramenta automática pentest https://github.com/guardicore/monkey
Flightsim - Um utilitário para gerar tráfego de rede malicioso e avaliar controles https : //github.com/alphasoc/flightsim
Projetos / Software Integrados