# Impacket > [!warning] Toolkit de Duplo Uso - Essencial em Post-Exploitation > Impacket e o toolkit Python de protocolos Windows mais utilizado tanto por pentesters quanto por atacantes em operações de pos-exploração. Sua versatilidade para execução remota, dump de credenciais e ataques Kerberos sem precisar de um ambiente Windows dedicado o torna indispensavel. O [[g1016-fin13|FIN13]] usou Impacket extensivamente em operações de intrusão prolongada contra organizacoes financeiras no Mexico e LATAM. ## Visão Geral [[s0357-impacket|Impacket]] e uma coleção de módulos Python de código aberto para construcao e manipulação programatica de protocolos de rede Windows - SMB, WMI, Kerberos, MSRPC, LDAP, DCERPC e mais. Originalmente desenvolvida pela Core Security (2012), agora mantida pela **Fortra** no GitHub (`fortra/impacket`). A diferenca critica do Impacket para outras ferramentas e que opera em **Python puro**, independente de Windows. Um atacante em uma maquina Linux pode executar comandos remotos em um Windows alvo, despejar o Active Directory inteiro, ou realizar ataques Kerberos sem precisar de uma estacao Windows de salto. Isso torna o Impacket particularmente valioso em operações de red team e extremamente popular entre grupos de APT e ransomware em pos-exploração. Em 2024, o secretsdump.py recebeu uma atualização importante: suporte a **criação de VSS (Volume Shadow Copy) via WMI remotamente**, permitindo dump do NTDS.dit sem passar pelo LSASS - técnica que evade alguns controles de detecção voltados para acesso direto ao LSASS. | Campo | Detalhe | |-------|---------| | **Tipo** | Post-Exploitation Toolkit / Protocol Library | | **Linguagem** | Python | | **Desenvolvedor** | Fortra (ex-Core Security) | | **MITRE ID** | S0357 | | **Plataformas** | Linux, macOS, Windows | | **Repositorio** | github.com/fortra/impacket | ## Scripts Principais ### secretsdump.py - Dump de Credenciais O script mais impactante do Impacket. Despejá credenciais de múltiplas fontes remotamente: ```bash # DCSync - sem arquivo, extrai via replicacao de AD secretsdump.py domain/admin:[email protected] # Via VSS (2024+) - cria shadow copy via WMI e extrai NTDS.dit secretsdump.py domain/admin:[email protected] -use-vss # Com hash NTLM (pass-the-hash) secretsdump.py -hashes :a9fdfa038c4b75ebc76dc855dd74f0da domain/[email protected] ``` Extrai: hashes LSASS, SAM, NTDS.dit, segredos LSA (senhas de servico, credenciais de dominio cached). ### psexec.py - Execução Remota via SMB ```bash # Upload de executavel anonimo em ADMIN$ e criação de servico Windows psexec.py domain/admin:password@target cmd.exe ``` Comportamento: cria um executavel com nome aleatorio em `C:\Windows`, registra como servico, executa, remove. Gera Event ID 7045 (servico criado) - fortemente monitorado por EDRs. ### wmiexec.py - Execução via WMI (stealth) ```bash # Nenhum arquivo gravado em disco, nenhum servico criado wmiexec.py domain/admin:password@target ``` Mais stealth que psexec: usa WMI para execução de comandos via shell semi-interativo. Saida redirecionada para arquivo temporario em ADMIN$ que e lido e deletado. Gera Event ID 5857/5858 (WMI activity). ### GetUserSPNs.py - Kerberoasting ```bash # Lista SPNs registrados e solicita TGS tickets para cracking offline GetUserSPNs.py -request domain/user:password -dc-ip <DC_IP> ``` Kerberoasting (T1558.003): qualquer usuario autenticado pode solicitar tickets de servico (TGS) para contas com SPN. Os tickets podem ser quebrados offline para obter a senha da conta de servico. ### smbclient.py - Cliente SMB ```bash # Enumeracao e transferencia de arquivos via SMB smbclient.py domain/user:password@target ``` Usado para enumeracao de compartilhamentos, transferencia de ferramentas para sistemas alvo e configuração de ataques de relay. ## Attack Flow - Uso em Intrusão ```mermaid graph TB A["🔓 Acesso com Credencial<br/>Usuario de dominio obtido<br/>via phishing / spray"] --> B["🔍 Enumeracao LDAP<br/>GetUserSPNs.py<br/>Contas de servico com SPN"] B --> C["🎫 Kerberoasting<br/>TGS tickets solicitados<br/>Cracking offline"] C --> D["⬆️ Escalada de Privilegio<br/>Conta de servico com DA<br/>ou acesso privilegiado"] D --> E["💾 DCSync / NTDS Dump<br/>secretsdump.py<br/>Todos os hashes do dominio"] E --> F["↔️ Movimento Lateral<br/>psexec.py / wmiexec.py<br/>Pass-the-Hash"] F --> G["💀 Impacto<br/>Ransomware / Exfiltração<br/>Controle total do dominio"] classDef initial fill:#e74c3c,stroke:#c0392b,color:#fff classDef recon fill:#f39c12,stroke:#d68910,color:#fff classDef cred fill:#2980b9,stroke:#1a5276,color:#fff classDef priv fill:#8e44ad,stroke:#7d3c98,color:#fff classDef lateral fill:#27ae60,stroke:#1e8449,color:#fff classDef impact fill:#c0392b,stroke:#922b21,color:#fff class A initial class B recon class C,D,E cred class F lateral class G impact ``` ## Timeline ```mermaid timeline title Impacket - Adocao e Evolução 2012 : Lancamento pela Core Security : Foco inicial em protocolos SMB/MSRPC 2014 : Kerberoasting implementado via GetUserSPNs : Adocao crescente em red team 2016 : DCSync via secretsdump : Alternativa ao Mimikatz para dump de AD 2018 : Adocao por APTs - APT41, Dragonfly : Impacket aparece em investigacoes de IR 2020 : FIN13 usa Impacket em operacoes LATAM : Elephant Beetle abusa por meses sem detecção 2022 : Storm-0501 e Storm-1811 adotam toolkit : Paired com Cobalt Strike em ransomware 2024 : secretsdump + VSS via WMI (evasão EDR) : Ainda top ferramenta em Red Canary reports 2025 : Persistência como standard de pos-exploração : Preferido sobre Cobalt Strike em ambientes EDR ``` ## TTPs Mapeados | Tática | Técnica | Script / Uso | |--------|---------|-------------| | Acesso a Credenciais | [[t1003-003-ntds\|T1003.003]] | `secretsdump.py` - extrai NTDS.dit via DCSync ou VSS | | Acesso a Credenciais | [[t1003-001-lsass-memory\|T1003.001]] | `secretsdump.py` - dump remoto de LSASS | | Acesso a Credenciais | [[t1003-002-security-account-manager\|T1003.002]] | `secretsdump.py` - extrai SAM remotamente | | Acesso a Credenciais | [[t1003-004-lsa-secrets\|T1003.004]] | `secretsdump.py` - segredos LSA (senhas de servico) | | Acesso a Credenciais | [[t1558-003-kerberoasting\|T1558.003]] | `GetUserSPNs.py` - solicita TGS para cracking offline | | Acesso a Credenciais | [[t1558-005-ccache-files\|T1558.005]] | Manipulação de ccache para importar tickets | | Execução | [[t1569-002-service-execution\|T1569.002]] | `psexec.py` / `smbexec.py` - execução via servico SMB | | Execução | [[t1047-windows-management-instrumentation\|T1047]] | `wmiexec.py` - execução via WMI remoto | | Movimento Lateral | [[t1021-002-smbwindows-admin-shares\|T1021.002]] | Acesso a ADMIN$ e IPC$ para execução remota | | Movimento Lateral | [[t1570-lateral-tool-transfer\|T1570]] | Transferencia de ferramentas via SMB entre hosts | | Sniffing | [[t1040-network-sniffing\|T1040]] | `sniffer6.py` - captura de trafego de rede | | NTLM Relay | [[t1557-001-llmnrnbt-ns-poisoning-and-smb-relay\|T1557.001]] | `ntlmrelayx.py` - relay de autenticação NTLM | ## Relevância LATAM/Brasil O [[g1016-fin13|FIN13]] (também conhecido como Elephant Beetle, G1016) e um grupo criminoso financeiramente motivado com foco extensivo no Mexico e LATAM desde 2016. O FIN13 **utilizou extensivamente o Impacket** em operações de intrusão prolongada, permanecendo em redes de organizacoes financeiras e de varejo por meses ou anos: - `secretsdump.py` para extrair NTDS.dit de Domain Controllers e descriptografar localmente - Combinado com [[mimikatz|Mimikatz]], ProcDump e PWdump7 para extração de LSASS/SAM - `wmiexec.py` para execução remota de comandos sem criar arquivos em disco - Transacoes financeiras fraudulentas via acesso a sistemas POS e ATM O Impacket foi central para o modus operandi do FIN13: **intrusão silenciosa e longa duracao** antes de qualquer acao de impacto, aproveitando credenciais de dominio para movimento lateral progressivo por toda a infraestrutura financeira alvo. Alem do FIN13, grupos de ransomware que operam no [[financial|setor financeiro]] e [[government|governamental]] brasileiro usam Impacket como parte padrao do playbook de pos-comprometimento junto com [[s0154-cobalt-strike|Cobalt Strike]] ou [[brute-ratel-c4|Brute Ratel C4]]. ## Detecção e Defesa **Event IDs prioritarios:** - **Windows Event ID 7045 (New Service Installed):** Servico com nome aleatorio criado por `psexec.py` ou `smbexec.py` - nome de executavel em `C:\Windows` com caracteres aleatorios. - **Windows Event ID 5145 (Network Share Object Access):** Acesso a `IPC
seguido de criação de servico - padrao de psexec. Acesso a `ADMIN
por Python.exe ou processos inesperados. - **Windows Event ID 4769 (Kerberos Service Ticket):** Solicitacoes TGS com tipo de criptografia `0x17` (RC4-HMAC) oriundo de conta de usuario (nao de computador) - Kerberoasting via `GetUserSPNs.py`. - **Windows Event ID 8222 (VSS Shadow Copy):** Criação de shadow copy remotamente seguida de acesso a `\Volume{...}\Windows\NTDS\ntds.dit` - secretsdump via VSS (update 2024). - **Sysmon Event ID 3 (NetworkConnect):** Conexoes SMB (porta 445) ou WMI (porta 135) originadas de `python.exe` ou `python3.exe` - uso direto do Impacket sem wrapper. **Regras Sigma:** - `proc_creation_win_impacket_tools.yml` - detecta execução de ferramentas Impacket via IMPHASH e padroes de command-line. - `win_susp_smb_impacket_secretsdump.yml` - acesso remoto a registro SAM/LSA via SMB. - Correlação: Event ID 4769 com tipo RC4 para SPNs de servico - Kerberoasting indicator. **Mitigacoes:** - Implementar **Kerberos AES** e desabilitar RC4-HMAC para contas de servico (elimina Kerberoasting eficaz). - Habilitar **SMB Signing** obrigatorio para bloquear NTLM relay via `ntlmrelayx.py`. - Configurar **Protected Users Security Group** para contas administrativas - previne delegacao Kerberos e WDigest. - Monitorar acesso a ADMIN$ e IPC$ de fontes nao-administrativas; alertar em criação de servico por processos Python. ## Referências - [1](https://attack.mitre.org/software/S0357) MITRE ATT&CK S0357 - [2](https://github.com/fortra/impacket) GitHub fortra/impacket - repositorio oficial - [3](https://redcanary.com/threat-detection-report/threats/impacket/) Red Canary - Impacket Threat Report 2024 - [4](https://cloud.google.com/blog/topics/threat-intelligence/fin13-cybercriminal-mexico/) Mandiant - FIN13 uso de Impacket no Mexico - [5](https://attack.mitre.org/groups/G1016/) MITRE ATT&CK - FIN13 (G1016) - [6](https://reliaquest.com/blog/exploring-impacket-abuse/) ReliaQuest - Impacket Abuse Patterns 2024 - [7](https://neil-fox.github.io/Impacket-usage-&-detection/) Neil Fox - Impacket Usage and Detection - [8](https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-038a) CISA AA24-038A - Impacket em operações APT iraniano