Impacket para Pentesters: Movimento Lateral em Rede e Teste de Invasão com Equipe Vermelha
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O artigo explica como a utilidade impacket-net pode ser usada para enumeração do Active Directory e manipulação administrativa. Mostra como invasores podem aproveitar hashes NTLM, tickets Kerberos e chaves AES para gerenciar usuários de domínio, grupos e contas de computadores. A ferramenta suporta reconhecimento discreto e pode acelerar a escalada de privilégios em um ambiente de domínio.
Investigação
O relatório utiliza um ambiente de laboratório controlado, ignite.local, para demonstrar diferentes caminhos de autenticação e métodos de execução de comandos. Ilustra como um invasor pode progredir de enumeração de baixo privilégio para controle administrativo total alterando objetos de diretório. A investigação também destaca como essas ações permanecem visíveis nos logs de eventos do Windows.
Mitigação
As mitigações recomendadas incluem definir ms-DS-MachineAccountQuota to 0 para bloquear a criação não autorizada de contas de computador. As organizações também devem impor a assinatura LDAP, habilitar a ligação de canal e desativar tipos de criptografia mais fracos, como RC4. Além disso, colocar contas altamente privilegiadas no grupo de segurança Usuários Protegidos pode ajudar a prevenir o abuso de NTLM e o uso indevido de TGT de longa duração.
Resposta
Se essa atividade for detectada, os defensores devem centralizar e alertar sobre os principais IDs de eventos do Windows vinculados a mudanças no ciclo de vida das contas e modificações de membros de grupos. Devem estar em vigor playbooks de resposta automatizados para rapidamente reverter alterações de diretório não autorizadas. Implantar contas de isca em unidades organizacionais monitoradas também pode fornecer alertas de alta confiança para uma resposta imediata a incidentes.
Fluxo de Ataque
Ainda estamos atualizando esta parte. Inscreva-se para ser notificado
Notificar-meDetecções
Provável Uso de Ferramentas de Hack de Windows [Parte1] (via linha de comando)
Ver
Provável Uso de Ferramentas de Hack de Windows [Parte3] (via evento de arquivo)
Ver
Detecção da Utilidade Impacket-Net com Modificações de Conta [Criação de Processo Linux]
Ver
Detecte Escalada de Privilégio e Atividade de Conta no Active Directory [Log de Eventos de Segurança do Microsoft Windows]
Ver
Execução de Simulação
Pré-requisito: O Check de Pré-voo de Telemetria e Base deve ter sido aprovado.
Racional: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar exatamente a telemetria esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.
-
Narrativa de Ataque e Comandos: Um adversário ganhou uma base em um servidor Linux. Para garantir persistência e evitar ser bloqueado, pretende reativar uma conta administrativa inativa. Escolhem usar a utilidade
impacket-net, uma ferramenta comum em frameworks de pentesting, porque acreditam que é uma ferramenta administrativa padrão e pode se misturar ao ruído. O invasor executa o comando via intérprete Python para manipular o banco de dados local de contas, especificamente utilizando aflag -enablepara reativar o usuário alvo. Esta ação é projetada para gerar exatamente o padrãoCommandLine(impacket-netandflag -enable) que a regra de detecção está procurando. -
Script de Teste de Regressão:
#!/bin/bash # Script de simulação para acionar a regra de detecção do Impacket-Net echo "[+] Iniciando Simulação Impacket-Net..." # Simulamos a presença da ferramenta chamando python3 # e passando as strings específicas requeridas pela lógica de detecção. # Em um cenário real, seria: python3 /caminho/para/impacket-net -enable <usuário> python3 -c "import sys; print('Simulando impacket-net -enable user123')" | grep -q "impacket-net" # Para garantir que o evento real de criação de processo seja registrado com as strings específicas: # Executamos um comando que imita exatamente os argumentos de linha de comando. export IM_SIM_CMD="python3 /usr/local/bin/impacket-net -enable target_account" echo "[+] Executando: $IM_SIM_CMD" eval $IM_SIM_CMD echo "[+] Comando de simulação enviado. Verifique o SIEM para logs de criação de processo." -
Comandos de Limpeza:
# Nenhuma alteração persistente feita nesta simulação, # mas assegure-se de que quaisquer arquivos temporários criados sejam removidos. rm -f /tmp/impacket_sim_test.log echo "[+] Limpeza completa."