# T1550.002 - Pass the Hash ## Técnica Pai Sub-técnica de [[t1550-use-alternate-authentication-material|T1550 - Use Alternaté Authentication Material]]. ## Descrição *Pass the Hash* (PtH) é uma técnica de autenticação que permite a adversários se autenticarem em sistemas Windows utilizando o hash NTLM de uma senha, sem necessidade de conhecer a senha em texto claro. O protocolo de autenticação NTLM foi projetado para transmitir o hash da senha diretamente durante o handshake de autenticação - o que significa que, em muitos contextos, o hash é funcionalmente equivalente à senha em si. O fluxo de ataque começa com a captura de hashes de senhas a partir da memória do processo `lsass.exe`, do banco de dados SAM local ou de caches de domínio. Ferramentas como [[mimikatz|Mimikatz]] e [[s0154-cobalt-strike|Cobalt Strike]] automatizam essa extração. Uma vez de posse de um hash NTLM válido, o adversário o injeta diretamente na sessão de autenticação - tipicamente via APIs como `sekurlsa::pth` - criando um processo que carrega as credenciais da vítima sem que a senha precise ser descriptografada ou conhecida. Uma variação sofisticada é o **Overpass the Hash** (também chamado Pass the Key): em vez de usar o hash apenas para autenticação NTLM, o adversário o utiliza para solicitar um Ticket Granting Ticket (TGT) Kerberos legítimo ao controlador de domínio. Esse TGT pode então ser usado para se movimentar lateralmente via [[t1550-003-pass-the-ticket|Pass the Ticket]], eliminando completamente o tráfego NTLM - o que dificulta ainda mais a detecção em ambientes monitorados por anomalias de protocolo. ## Como Funciona **Fase 1 - Captura do hash** O adversário extrai hashes NTLM de uma das seguintes fontes: - Memória do processo `lsass.exe` (requer privilégio SYSTEM ou SeDebugPrivilege) - Banco de dados SAM local (`C:\Windows\System32\config\SAM`) - Arquivo de banco de dados do Active Directory (`ntds.dit`) em controladores de domínio - Tráfego de rede capturado durante autenticação NTLM (ataque relay) **Fase 2 - Injeção do hash** Com o hash em mãos, o adversário usa ferramentas especializadas para: 1. Criar um novo processo (`cmd.exe`, `powershell.exe`) injetando o hash como credencial de autenticação 2. Estabelecer conexões remotas autenticadas via SMB, WMI, RDP (com configurações específicas) ou WinRM 3. Executar comandos remotos em nome da conta comprometida sem alertar mecanismos de válidação de senha **Fase 3 - Movimentação lateral** Autenticado como a conta-alvo (frequentemente uma conta de serviço ou administrador de domínio), o adversário se move lateralmente para outros sistemas, acessa compartilhamentos de rede, instala malware adicional ou eleva privilégios através da hierarquia de domínio. **Overpass the Hash - fluxo alternativo** ``` Hash NTLM capturado → Solicitação de TGT via AS-REQ com hash como chave de sessão → TGT Kerberos emitido pelo KDC → Uso do TGT para solicitar Service Tickets (ST) → Acesso a recursos como usuário legítimo via Kerberos ``` ## Attack Flow ```mermaid graph TB A[Comprometimento inicial do endpoint] --> B[Escalada de privilégios local] B --> C{Captura de credenciais} C --> C1[Dump de lsass.exe] C --> C2[Extração do banco SAM] C --> C3[NTDS.dit via DCSync] C1 --> D[Hash NTLM obtido] C2 --> D C3 --> D D --> E{Modalidade de ataque} E --> E1[Pass the Hash clássico] E --> E2[Overpass the Hash] E1 --> F1[Autenticação NTLM com hash] E2 --> F2[Solicitação de TGT Kerberos] F1 --> G[Movimentação lateral via SMB/WMI/WinRM] F2 --> H[Pass the Ticket - acesso Kerberos] G --> I[Comprometimento de outros sistemas do domínio] H --> I I --> J[Persistência e exfiltração] ``` ## Exemplos de Uso **APT28 (Fancy Bear)** - grupo russo vinculado ao GRU - utiliza PtH extensivamente em operações de espionagem contra governos e organizações da OTAN. Após comprometimento inicial via phishing, usa [[mimikatz|Mimikatz]] para extrair hashes e move-se lateralmente por redes internas de ministérios-alvo. **APT29 (Cozy Bear)** - também russo, vinculado ao SVR - incorporou PtH em múltiplas campanhas, incluindo operações contra partidos políticos americanos. Combina PtH com técnicas de evasão de logs para dificultar atribuição forense. **Lazarus Group** - APT norte-coreano - emprega PtH em campanhas de ataque a instituições financeiras, especialmente no roubo de fundos via sistemas SWIFT. O malware [[s0376-hoplight|HOPLIGHT]] inclui capacidades nativas de PtH. **FIN13** - grupo de ameaça financeira com foco no México - utiliza PtH como técnica central de movimentação lateral em ataques prolongados (dwell time médio de 13 meses) contra bancos e varejistas mexicanos. **Wizard Spider** - operador do ransomware Ryuk/Conti - usa PtH via [[s0154-cobalt-strike|Cobalt Strike]] e [[s0488-crackmapexec|CrackMapExec]] para mapear e comprometer a totalidade de domínios Active Directory antes de acionar o ransomware. **Ferramentas associadas:** - [[mimikatz|Mimikatz]]: a ferramenta de referência para extração de hashes e execução de PtH (`sekurlsa::pth`) - [[s0154-cobalt-strike|Cobalt Strike]]: framework C2 com módulo PtH integrado via Beacon - [[s0488-crackmapexec|CrackMapExec]]: ferramenta de auditoria/ataque que automatiza PtH em larga escala - [[s0363-empire|Empire]]: framework pós-exploração com módulos de PtH para PowerShell - [[s0378-poshc2|PoshC2]]: C2 em Python/PowerShell com suporte a PtH - [[badhatch|BADHATCH]]: backdoor do FIN8 com capacidades de PtH integradas ## Detecção ```yaml title: Detecção de Pass the Hash via Logon Suspeito status: experimental logsource: category: authentication product: windows service: security detection: selection: EventID: 4624 LogonType: 3 # Network logon AuthenticationPackage: NTLM KeyLength: 0 # Indica ausência de senha em texto claro filter_legitimate: SubjectUserName|endswith: ' # Excluir contas de máquina condition: selection and not filter_legitimate level: medium tags: - attack.defense_evasion - attack.lateral_movement - attack.t1550.002 falsepositives: - Aplicações legítimas usando autenticação NTLM - Scripts de automação com credenciais de serviço ``` ```yaml title: Detecção de Overpass the Hash via Kerberos com NTLM status: experimental logsource: category: authentication product: windows service: security detection: selection: EventID: 4768 # TGT solicitado TicketEncryptionType: '0x17' # RC4-HMAC - associado a hash NTLM como chave Status: '0x0' # Sucesso filter_computer: AccountName|endswith: ' condition: selection and not filter_computer level: high tags: - attack.defense_evasion - attack.t1550.002 - attack.t1550.003 ``` **Indicadores comportamentais adicionais:** - Logons NTLM a partir de contas administrativas que normalmente usam Kerberos - Acesso a múltiplos sistemas em sequência rápida com a mesma conta (Event ID 4624, LogonType 3) - Criação de processos com token de usuário diferente do usuário logado (Event ID 4648) - Dump de memória do processo `lsass.exe` (Sysmon Event ID 10 com acesso de leitura a lsass) ## Mitigação | ID | Mitigação | Descrição | |----|-----------|-----------| | M1051 | [[m1051-update-software\|M1051 - Updaté Software]] | Manter sistemas atualizados para eliminar vulnerabilidades que facilitam o dump de credenciais; aplicar patches do KB2871997 que restringem autenticação NTLM com hashes | | M1052 | [[m1052-user-account-control\|M1052 - User Account Control]] | UAC limita o escopo de tokens de administração local, dificultando o uso de hashes de contas locais para acesso remoto - manter UAC habilitado em todos os endpoints | | M1018 | [[m1018-user-account-management\|M1018 - User Account Management]] | Implementar princípio do menor privilégio; separar contas administrativas de contas de uso diário; nunca usar a mesma conta de administrador em múltiplos sistemas | | M1026 | [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Adotar solução PAM (Privileged Access Management) com rotação automática de senhas; implementar Microsoft LAPS para senhas únicas de administrador local em cada máquina | **Controles adicionais de alto impacto:** - Habilitar **Credential Guard** no Windows 10/11 e Windows Server 2016+ - isola `lsass.exe` em um enclave virtualizado (VSM), impossibilitando extração de hashes da memória - Configurar política de rede para **restringir autenticação NTLM** em domínios modernos (GPO: Network Security: Restrict NTLM) - Implementar **Protected Users Security Group** para contas privilegiadas - impede uso de NTLM e força Kerberos - Adotar **Tiered Administration Model** (Microsoft) para segmentar acesso administrativo por camadas ## Contexto Brasil/LATAM Pass the Hash é uma das técnicas mais recorrentes em incidentes de ransomware e espionagem corporativa no Brasil. Grupos como o **Lapsus$** - com membros identificados no Brasil - utilizaram variantes de PtH em ataques contra grandes corporações globais, combinando com engenharia social para comprometimento inicial. No setor financeiro brasileiro, FIN13 e grupos afins empregam PtH sistematicamente em ataques contra bancos regionais e fintechs que mantêm infraestrutura Windows sem Credential Guard habilitado. O [[sources|CERT.br]] e o BACEN (Banco Central do Brasil) emitiram alertas específicos sobre movimentação lateral via NTLM em infraestrutura financeira. A técnica também é amplamente utilizada em ataques a prefeituras e secretarias estaduais no Brasil - alvos com infraestrutura Active Directory legada, frequentemente sem patches do KB2871997 e sem Credential Guard. Ransomwares como **BlackCat/ALPHV** e **LockBit** documentaram uso de PtH via CrackMapExec em incidentes contra entidades governamentais brasileiras, permitindo comprometimento total de domínios AD em poucas horas após o acesso inicial. ## Referências - [[t1550-use-alternate-authentication-material|T1550 - Use Alternaté Authentication Material]] (técnica pai) - [[t1550-003-pass-the-ticket|T1550.003 - Pass the Ticket]] - [[ta0006-credential-access|TA0006 - Credential Access]] - [[mimikatz|Mimikatz]] - [[s0154-cobalt-strike|Cobalt Strike]] - [[s0488-crackmapexec|CrackMapExec]] - [[g0007-apt28|APT28]] - [[g0102-conti-group|Wizard Spider]] - [[m1026-privileged-account-management|M1026 - Privileged Account Management]] - [[m1052-user-account-control|M1052 - User Account Control]] *Fonte: MITRE ATT&CK - T1550.002*