# 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: '