NT-2026.10.02 DOSSIÊ

ADSCAN E ADPULSE: AUTOMATIZANDO PENTEST DE ACTIVE DIRECTORY

ADScan automatiza enumeração e ataque em AD via DNS, LDAP, SMB, Kerberos. ADPulse faz auditoria read-only com relatórios HTML/JSON. Ambos reduzem trabalho repetitivo em pentests de AD.

Capa editorial dividida entre o ADScan, do lado do ataque ativo, e o ADPulse, do lado da auditoria somente leitura do Active Directory

Introdução

Pentests de Active Directory frequentemente começam com os mesmos checks repetitivos: shares SMB expostos, LDAP acessível no DC, políticas de senha, contas privilegiadas mal configuradas, contas roastable e caminhos de escalação via ADCS. ADScan e ADPulse são duas ferramentas que automatizam esse trabalho — ADScan para enumeração ativa e ataque, ADPulse para auditoria read-only e relatórios.

ADScan — Enumeração Ativa e Ataque

ADScan automatiza pentesting de Active Directory fazendo enumeração através de DNS, LDAP, SMB e Kerberos, coletando dados que podem ser alimentados no BloodHound para análise. Ele também usa bibliotecas Python para parsear os arquivos JSON e entregar saída acionável diretamente — Kerberoasting, AS-REP roasting, DCSync, password spraying.

Terminal ADScan mostrando ganho de privilégios Domain Admin
Evidência técnica: ADScan demonstrando domain compromise via DACL abuse

Instalação do ADScan

O processo de instalação requer paciência. Antes de começar, é necessário ter Docker instalado no Kali.

kali > sudo apt install docker.io
kali > sudo apt install docker-compose
kali > sudo service docker start
kali > sudo systemctl enable docker

Uma conexão de internet estável é importante. Com o Docker pronto:

kali > pipx install adscan
kali > adscan install

Após a instalação completar, credenciais para o BloodHound são fornecidas. Tudo pronto para iniciar:

kali > adscan start

Dentro da interface, um menu de ajuda mantém comandos em seções lógicas, cada uma com seus subcomandos.

Terminal mostrando instalação do ADScan completando com credenciais BloodHound
Evidência técnica: Instalação do ADScan via pipx e adscan install
Interface ADScan recém-iniciada mostrando banner
Evidência técnica: ADScan iniciando com adscan start
Menu help do ADScan mostrando comandos organizados por categoria
Evidência técnica: Menu de ajuda do ADScan com seções lógicas
Submenu help cve do ADScan listando verificações de vulnerabilidade
Evidência técnica: Submenu CVE do ADScan

Exploitation com ADScan

ADScan funciona com ou sem conta de domínio. Fornecendo credenciais:

start_auth

Depois forneça as credenciais e detalhes do domínio conhecidos. O ADScan executa checks automatizados: puxa dados do BloodHound, busca contas Kerberoastable e AS-REP roastable, procura caminhos de escalação no ADCS.

No exemplo da fonte, a ferramenta encontrou que o usuário lowpriv tem permissões GenericAll sobre grupos sensíveis — resultado de manipulação SDProp, onde permissões são atribuídas de formas difíceis de encontrar com ferramentas administrativas padrão (RSAT).

Quando a enumeração termina, ADScan oferece dois motores de attack path:

  1. Baseado em BloodHound — organiza findings em attack paths incluindo password spraying, ataques Kerberos, captura de hash NTLM, construindo acesso progressivamente.
  2. Busca local Python — encontra abuso de permissão via DACL misconfigurations. No exemplo, mostrou que o usuário pode modificar diretamente a membresia em Domain Admins.

ADScan também verifica CVEs conhecidos afetando domain controllers (Zerologon, NoPac em sistemas antigos).

ADScan não substitui entendimento, mas melhora significativamente eficiência e consistência.

Prompt start_auth solicitando credenciais de domínio
Evidência técnica: ADScan validando credenciais de domínio com start_auth
Prompts para domain controller IP, domain name, username
Evidência técnica: Fornecendo informações do DC ao ADScan
Output do scan mostrando BloodHound data, kerberoastable accounts, ADCS paths
Evidência técnica: ADScan executando scan automatizado
Attack paths organizados: password spraying, kerberos, ntlm, escalation
Evidência técnica: ADScan attack engine baseado em BloodHound
Resultado da busca local mostrando modificação direta de Domain Admins
Evidência técnica: Engine local Python encontrando DACL abuse para Domain Admins
Verificação de vulnerabilidades CVE no domain controller
Evidência técnica: ADScan testando CVEs conhecidos no DC (Zerologon, NoPac)

ADPulse — Auditoria Read-Only e Relatórios

ADPulse tem abordagem diferente: é uma ferramenta de auditoria read-only que avalia a postura de segurança geral de um ambiente Active Directory. Conecta-se a um DC via LDAP/LDAPS e executa um conjunto definido de security checks — misconfigurations comuns, políticas fracas, attack paths potenciais. Resultados saem em CLI, JSON e HTML.

Instalação e Execução do ADPulse

Comparado ao ADScan, setup do ADPulse é direto:

kali > git clone https://github.com/yourorg/adpulse.git
kali > cd adpulse
kali > python -m venv venv
kali > source venv/bin/activate
kali > pip install -r requirements.txt

Execução:

kali > python ADPulse.py --domain sekvoya.local --user lowpriv --password 'P@ssw0rd123!'

Durante a execução, ADPulse mostra summaries no terminal. Ao finalizar, gera relatórios JSON e HTML — a versão HTML apresenta findings em estrutura hierárquica com recomendações, pronta para compartilhar com sysadmins e defenders.

Terminal ADPulse rodando checks de segurança em sekvoya.local
Evidência técnica: ADPulse escaneando domínio via LDAP
Relatório HTML ADPulse mostrando findings categorizados com recomendações
Evidência técnica: Relatório HTML do ADPulse — estrutura hierárquica
Continuação do relatório HTML com findings adicionais
Evidência técnica: Mais resultados do relatório ADPulse

Comparativo: ADScan vs ADPulse

Aspecto ADScan ADPulse
Modo Ativo (enumeração + ataque) Passivo (read-only audit)
Objetivo Comprometer, escalar, explorar Avaliar postura, reportar
Output Attack paths, creds, shells JSON, HTML, CLI summary
Setup Docker + pipx (complexo) Git + venv (simples)
Uso ideal Red team, exploitation phase Blue team, assessment, compliance
BloodHound Integração nativa Não necessário
CVE checks Sim (Zerologon, NoPac, etc.) Não nativo
DACL abuse Engine local Python Checks de misconfig

Quando usar cada um: ADScan quando o objetivo é demonstração de impacto, exploit chain, domain compromise. ADPulse quando o deliverable é relatório de postura, hardening guide, compliance evidence. Em pentests completos, use ambos: ADPulse para baseline inicial, ADScan para validation de findings e demonstração de exploit.

Conclusão

Pentest de Active Directory começa com discovery e frequentemente avança para exploitation, mas nem sempre termina em domain compromise total. Sucesso não se mede por conseguir Domain Admin, mas por quão bem você mapeia a superfície de ataque e demonstra risco real. ADScan e ADPulse, cada um no seu papel, tiram o trabalho repetitivo das mãos do pentester e deixam o foco onde deve estar: análise, validação e comunicação de impacto.

Detecção e Mitigação

Detecção de ADScan:

  • Tráfego LDAP/SMB/Kerberos anômalo vindo de host não administrativo
  • Execução de docker run com imagens suspeitas (adscan/adscan)
  • Enumeração massiva de objetos AD em curto período (BloodHound collection)
  • Tentativas de Kerberoasting/AS-REP roasting em logs de segurança (Event ID 4769, 4768)
  • Modificações suspeitas em grupos privilegiados (Domain Admins, Enterprise Admins)

Detecção de ADPulse:

  • Conexões LDAP/LDAPS de host não autorizado para DC
  • Enumeração de políticas de senha, GPOs, delegações
  • Consultas LDAP em massa para objetos sensíveis

Mitigação:

  • Restringir LDAP/LDAPS apenas a hosts de gerenciamento conhecidos
  • Monitorar Event ID 4662 (operação em objeto AD) para GenericAll/WriteDacl
  • Implementar tiered administration (PAW, Tier 0 isolation)
  • Habilitar LDAP Channel Binding e LDAP Signing
  • Patch DCs contra Zerologon (CVE-2020-1472) e NoPac (CVE-2021-42287/42278)
  • Auditar delegações de permissão sensíveis (DS-Replication-Get-Changes-All, etc.)
  • Usar Protected Users group para contas de alto privilégio