
Ferramenta
Impacket: o canivete suíço de ataques ao Active Directory
O que é
O Impacket é uma suíte de código aberto escrita em Python que dá acesso de baixo nível aos protocolos de rede do Windows — SMB (protocolo de compartilhamento de arquivos e execução remota), MS-RPC (chamadas de procedimento remoto usadas por serviços Windows), Kerberos (protocolo de autenticação por tickets), LDAP (protocolo de consulta a diretórios) e NetBIOS — com implementações completas desses protocolos, e não apenas pacotes avulsos. Criado originalmente pela Core Security e mantido hoje pela Fortra, o projeto reúne mais de 68 scripts prontos que transformam a biblioteca em um canivete suíço para pentest, pós-exploração e avaliação de segurança em ambientes Active Directory (serviço de diretórios da Microsoft que gerencia usuários, computadores e permissões de uma rede corporativa). O mesmo poder que o torna indispensável em testes de invasão o torna um dos conjuntos de ferramentas mais abusados por grupos de ransomware e APTs (Advanced Persistent Threats, ameaças persistentes e sofisticadas): o MITRE ATT&CK, a base de conhecimento de táticas de ataque, cataloga o Impacket como software malicioso sob o código S0357, associado a grupos como APT41, Ember Bear e Scattered Spider.
Principais características
| Característica | Detalhe |
|---|---|
| Protocolos | SMB 1/2/3, MS-RPC (DCE/RPC), Kerberos v5, LDAP, NetBIOS, TDS (MSSQL) |
| Autenticação | NTLM e Kerberos, com senha, hash, ticket ou chave AES |
| Linguagem | Python 3.9 a 3.13, instalável via pip ou pipx |
| Licença | Apache (modificada), open source |
| Scripts inclusos | 68+ exemplos, de extração de credenciais a ataques Kerberos |
| Manutenção | Fortra (ex-Core Security / SecureAuth) |
Os scripts mais conhecidos formam um mapa das fases de um ataque a redes Windows:
| Script | Função principal | Técnica ATT&CK |
|---|---|---|
| secretsdump.py | Extrai hashes e segredos remotos (SAM, NTDS.dit, LSA) | T1003 (dumping de credenciais) |
| psexec.py, smbexec.py, wmiexec.py, atexec.py | Execução remota de comandos | T1021.002, T1047 |
| GetUserSPNs.py | Kerberoasting (coleta de tickets de serviço) | T1558.003 |
| GetNPUsers.py | AS-REP Roasting (contas sem pré-autenticação) | T1558.004 |
| ntlmrelayx.py | Relay de autenticação NTLM (SMB, HTTP, LDAP) | T1557, T1021 |
| ticketer.py, getST.py, getTGT.py | Criação e manipulação de tickets Kerberos | T1558.001, T1558.005 |
| smbserver.py | Servidor SMB para transferir arquivos | T1570 (transferência lateral) |
| GetADUsers.py, net.py | Enumeração de usuários e grupos via LDAP/SAMR | T1087 |
Casos de uso práticos
A instalação é direta e funciona em qualquer distribuição Linux, inclusive no Kali Linux, que já empacota os scripts no metapacote impacket-scripts:
python3 -m pipx install impacket
# ou via pip
python3 -m pip install impacketExtração de credenciais com secretsdump
O secretsdump.py é o script mais famoso da suíte. Com credenciais de um usuário com privilégios, ele consegue despejar hashes (impressões digitais criptográficas da senha) do SAM (banco de senhas locais do Windows), do NTDS.dit (banco de credenciais do Active Directory) e dos segredos LSA (segredos de serviços e contas do sistema) diretamente pela rede — incluindo o ataque DCSync, que simula uma réplica do controlador de domínio para extrair todas as senhas do domínio:
secretsdump.py dominio/usuario:senha@192.168.1.10
# pass-the-hash: autenticar com o hash NTLM, sem saber a senha
secretsdump.py -hashes :aad3b435b51404eeaad3b435b51404ee dominio/administrador@192.168.1.10Kerberoasting com GetUserSPNs
O Kerberoasting explora contas de serviço com Service Principal Names (SPNs) — identificadores que associam um serviço a uma conta no domínio. O script solicita um ticket de serviço (TGS) criptografado com a senha da conta de serviço; esse ticket sai da rede e é quebrado offline com ferramentas de força bruta:
GetUserSPNs.py dominio/usuario:senha -dc-ip 192.168.1.10 -request -outputfile kerberoast.txtAS-REP Roasting com GetNPUsers
Contas com a opção "não exigir pré-autenticação Kerberos" — o primeiro passo de autenticação no protocolo — devolvem um ticket criptografado com a própria senha do usuário, sem necessidade de senha para solicitá-lo. O GetNPUsers lista essas contas e exporta os tickets para quebra offline:
GetNPUsers.py dominio/ -usersfile usuarios.txt -dc-ip 192.168.1.10 -format john -outputfile asrep.txtExecução remota e movimentação lateral
Com credenciais válidas — senha ou hash, em um movimento conhecido como pass-the-hash (autenticação usando o hash NTLM em vez da senha) — os scripts de execução remota entregam um shell sem precisar de um agente instalado. O psexec.py cria um serviço temporário via SMB, o wmiexec.py usa WMI (Windows Management Instrumentation, a interface de gerenciamento do Windows) e o smbexec.py executa por meio de um share administrativo:
psexec.py dominio/usuario:senha@192.168.1.50
wmiexec.py dominio/usuario:senha@192.168.1.50
smbexec.py -hashes :hash_nth dominio/administrador@192.168.1.50Relay de autenticação com ntlmrelayx
O ntlmrelayx.py intercepta tentativas de autenticação NTLM capturadas na rede — por exemplo, pelo Responder (ferramenta que envenena consultas de resolução de nomes para capturar credenciais) — e as retransmite para outros servidores. Se a máquina alvo não exigir assinatura SMB (validação criptográfica das mensagens), o atacante autentica nela com as credenciais da vítima sem nunca conhecer a senha:
ntlmrelayx.py -t 192.168.1.50 -smb2support
# relay para LDAP, permitindo abusar de permissões de delegação
ntlmrelayx.py -t ldap://192.168.1.10 --delegate-accessServidor SMB para transferência de arquivos
Durante a pós-exploração, o smbserver.py monta um compartilhamento SMB no host do atacante para servir payloads e coletar arquivos da vítima:
smbserver.py SHARE /tmp/payloadsO Impacket no Brasil: o caso BREEZE COMET
O Impacket não é só teoria de laboratório — ele apareceu recentemente em uma campanha contra bancos brasileiros. Segundo o Google Cloud Threat Intelligence, o grupo hacker BREEZE COMET baixou o Impacket e outras ferramentas do GitHub e as executou em memória via PowerShell para reconhecimento, enumeração e escalonamento de privilégios dentro das redes de instituições financeiras no Brasil (veja a análise da campanha BREEZE COMET). Esse padrão — ferramentas legítimas de pentest usadas como armas — é o mesmo observado em operações do grupo russo Ember Bear, da APT41 e do Scattered Spider, todos com uso de Impacket documentado pelo MITRE ATT&CK.
Como se defender e riscos
Assinatura SMB obrigatória. Exigir assinatura SMB em todos os clientes e servidores neutraliza a maioria dos ataques de relay do ntlmrelayx, incluindo o relay para o próprio controlador de domínio. No Windows 11 24H2 e no Windows Server 2025 a assinatura já é obrigatória por padrão — mantenha essa configuração.
Monitoramento de eventos Windows. Grande parte do uso do Impacket deixa rastros em logs: criação de serviços (eventos 7045 e 4697), execução de processos incomuns via WMI (evento 4688 com linha de comando), solicitações de tickets Kerberos com criptografia RC4 (evento 4769 com tipo de criptografia 0x7) e conexões SMB em shares administrativos (evento 5145). Um SOC que correlaciona esses eventos detecta movimentação lateral antes que ela vire domínio comprometido.
Regras Sigma e SIEM. Existem regras Sigma públicas — formato aberto de regras de detecção para SIEMs — específicas para os padrões do Impacket: a assinatura de serviço do smbexec, a execução via WMI e os requests RC4 de Kerberoasting. Importá-las no SIEM dá detecção imediata sem esperar um EDR.
Mitigações de Kerberos. Desativar o RC4-HMAC (algoritmo de criptografia legado do Kerberos) inviabiliza boa parte do Kerberoasting, e usar contas gMSA (Group Managed Service Accounts, contas de serviço com senha rotacionada automaticamente) elimina as senhas fracas de serviço que o ataque explora. Exigir pré-autenticação em todas as contas de usuário encerra o AS-REP Roasting.
Menor privilégio e segmentação. Contas com privilégios administrativos locais em várias máquinas dão ao Impacket um raio de movimentação enorme. Segmentar a rede, usar contas dedicadas para administração e aplicar LAPS (solução que rotaciona a senha do administrador local de cada máquina) limitam o que um único hash comprometido permite fazer.
Proteção das bases de credenciais. O DCSync depende de uma conta com permissões de replicação do domínio — restrinja esse direito e monitore quem o possui. No caso de comprometimento, trate os hashes extraídos como senhas em texto puro: todos precisam ser rotacionados.
Risco de falso positivo. O Impacket é dual-use: mais da metade das detecções registradas pelo Red Canary foram marcadas pelos próprios clientes como testes legítimos de segurança. Antes de investigar um incidente a fundo, correlacione os alertas com janelas de pentest autorizadas e contas de serviço conhecidas — caçar Impacket sem esse contexto gera ruído e cansa a equipe.
Conclusão
O Impacket é a prova de que ferramentas de pentest e armas de APTs são frequentemente as mesmas: o que dá a um testador de invasão acesso a um Active Directory inteiro dá a um grupo de ransomware o mesmo caminho. Dominar seus scripts é essencial para quem atua em segurança ofensiva — e conhecer seus padrões de comportamento é igualmente essencial para quem defende, porque o mesmo conhecimento que permite usar psexec e secretsdump permite reconhecê-los nos logs antes que a rede inteira seja comprometida.
Fontes e leituras adicionais
- GitHub (Fortra) — Impacket: coleção de classes Python para protocolos de rede — 04/09/2026
- Documentação oficial — Impacket Documentation — 04/09/2026
- MITRE ATT&CK — Impacket, Software S0357 — 12/05/2026
- Kali Linux — impacket-scripts: ferramentas e binários — 04/09/2026
- Black Hills Information Security — Impacket Cheatsheet — 04/09/2026
- Hacking Articles — Active Directory Penetration Testing Using Impacket — 04/09/2026
- Micah Babinski (Medium) — Brace for Impacket! — detecção via Sigma — 04/09/2026
- Red Canary — Impacket Threat Detection Report — 04/09/2026
- The Hacker Recipes — GetNPUsers.py e relay NTLM — 04/09/2026
- Google Cloud Threat Intelligence — BREEZE COMET: grupo financeiramente motivado mira o Brasil — 04/09/2026