# T1134.003 - Make and Impersonaté Token
## Descrição
A subtécnica **T1134.003 - Make and Impersonaté Token** descreve o abuso da API do Windows para criar um token de acesso sintético associado a outro usuário e, em seguida, impersonar esse usuário dentro do contexto do processo malicioso. Diferente de [[Theft]], que rouba ou duplica um token já existente na memória do sistema, esta técnica **cria um novo logon session** a partir de credenciais conhecidas (usuário e senha), sem que a vítima precise estar autenticada na máquina.
O adversário com acesso a credenciais válidas - obtidas via [[t1003-os-credential-dumping|credential dumping]], [[t1110-brute-force|força bruta]], ou [[t1552-unsecured-credentials|credenciais expostas]] - pode elevar seus privilégios ou mover-se lateralmente para recursos de rede sem disparar alertas de autenticação interativa. A técnica é especialmente eficaz em ambientes Active Directory onde contas de serviço e administradores locais compartilham senhas.
> **Técnica pai:** [[t1134-access-token-manipulation|T1134 - Access Token Manipulation]]
> **Tática MITRE:** Defense Evasion, Privilege Escalation
> **Plataformas:** Windows
---
## Como Funciona
O fluxo de execução envolve três funções primárias da Win32 API:
### 1. Criação do Logon Session - `LogonUser()`
```
BOOL LogonUser(
LPCWSTR lpszUsername,
LPCWSTR lpszDomain,
LPCWSTR lpszPassword,
DWORD dwLogonType, // LOGON32_LOGON_NEW_CREDENTIALS (9) ou LOGON32_LOGON_INTERACTIVE (2)
DWORD dwLogonProvider,
PHANDLE phToken // Handle do novo token retornado aqui
);
```
A chamada `LogonUser()` cria uma sessão de logon completa para o usuário específicado. O tipo de logon mais utilizado em ataques é `LOGON32_LOGON_NEW_CREDENTIALS` (tipo 9), que cria um token "clonado" que usa as novas credenciais apenas para acesso à rede, mantendo o contexto local do processo original - ideal para movimentação lateral silenciosa.
### 2. Atribuição ao Thread - `SetThreadToken()` ou `ImpersonateLoggedOnUser()`
Após obter o handle do novo token, o adversário tem duas opções:
- **`ImpersonateLoggedOnUser(hToken)`** - associa o token ao thread atual do processo. A partir deste ponto, toda operação de acesso ao sistema feita por esse thread ocorre sob o contexto do novo usuário.
- **`SetThreadToken(NULL, hToken)`** - equivalente ao anterior, mas com controle mais granular sobre qual thread recebe o token.
### 3. Execução sob contexto impersonado
Com o token ativo, o adversário pode:
- Acessar compartilhamentos de rede (`\\servidor\share
) com as credenciais do usuário impersonado
- Criar processos filhos que herdam o token via `CreateProcessWithTokenW()`
- Ler/escrever recursos protegidos por DACLs configuradas para o usuário alvo
- Acessar APIs do Active Directory como o usuário impersonado
### 4. Revogação da impersonação - `RevertToSelf()`
Após concluir a operação, o atacante tipicamente chama `RevertToSelf()` para restaurar o contexto original do processo, reduzindo a jánela de exposição nos logs.
---
## Attack Flow
```mermaid
graph TB
A([Adversário com Credenciais]) --> B[Chama LogonUser<br/>com usuário + senha alvo]
B --> C{Tipo de Logon}
C -->|LOGON_NEW_CREDENTIALS| D[Token para acesso à rede<br/>contexto local preservado]
C -->|LOGON_INTERACTIVE| E[Token interativo completo<br/>cria sessão Windows]
D --> F[ImpersonateLoggedOnUser<br/>ou SetThreadToken]
E --> F
F --> G{Operação Maliciosa}
G -->|Movimento Lateral| H[Acesso a SMB/ADMINlt;br/>em outros hosts]
G -->|Escalada de Privilégio| I[Acesso a recursos<br/>restritos a admins]
G -->|Persistência| J[CreateProcessWithTokenW<br/>processo filho com token elevado]
H --> K[RevertToSelf<br/>Restaura contexto original]
I --> K
J --> K
K --> L([Evasão concluída<br/>Sem autenticação interativa])
style A fill:#d63031,color:#fff
style L fill:#00b894,color:#fff
style F fill:#fdcb6e,color:#000
style G fill:#6c5ce7,color:#fff
```
---
## Exemplos de Uso
### BlackByte Ransomware
O grupo [[g1043-blackbyte|BlackByte]] utiliza T1134.003 como parte de sua cadeia de movimentação lateral em ambientes corporativos Windows. Após comprometer uma estação de trabalho com acesso limitado, o ransomware obtém credenciais de administrador de domínio via [[t1003-os-credential-dumping|LSASS dumping]] e cria tokens sintéticos para se propagar silenciosamente aos servidores de backup e controladores de domínio antes de acionar a criptografia. Isso impede que o movimento lateral apareça nos logs de autenticação interativa do Active Directory.
### FIN13 (Grupo Focado em LATAM)
O [[g1016-fin13|FIN13]] - grupo financeiramente motivado com operações documentadas contra instituições no **México e Brasil** - utiliza esta técnica durante a fase de reconhecimento interno. Após acesso inicial via [[t1190-exploit-public-facing-application|exploração de aplicações expostas]], o grupo utiliza ferramentas customizadas que chamam `LogonUser()` com credenciais de contas de serviço SAP e Oracle (frequentemente com senhas padrão em ambientes LATAM) para mapear o ambiente financeiro sem gerar eventos de logon interativo. O FIN13 também usa [[s0154-cobalt-strike|Cobalt Strike]] com o módulo `make_token` que implementa exatamente esta técnica.
### SILENTTRINITY / Mafalda
O framework [[s0692-silenttrinity|SILENTTRINITY]] e o implante [[s1060-mafalda|Mafalda]] (atribuído ao grupo DSIRF/Subzero) implementam `make_token` como comando nativo. O operador fornece `domain\user:password` diretamente no console C2 e o implante executa `LogonUser()` + `ImpersonateLoggedOnUser()` remotamente, habilitando acesso a recursos de rede sob o contexto do usuário alvo sem reabrir uma nova conexão C2.
### Cobalt Strike - Comando `make_token`
O [[s0154-cobalt-strike|Cobalt Strike]] expõe esta técnica via o comando `make_token DOMAIN\user password`. Internamente, o Beacon chama `LogonUserW()` com `LOGON32_LOGON_NEW_CREDENTIALS` e `LOGON32_PROVIDER_WINNT50`. O token resultante é usado para operações de rede subsequentes (ex: `ls \\dc01\c
). Após uso, `rev2self` reverte ao token original - correspondente exato à chamada `RevertToSelf()`.
---
## Detecção
### Eventos Windows recomendados
| Event ID | Provedor | Descrição |
|----------|---------|-----------|
| **4648** | Security | Logon com credenciais explícitas - gerado por `LogonUser()` com tipo 9 |
| **4624** | Security | Logon bem-sucedido - tipo 9 (NewCredentials) é suspeito se fora de horário comercial |
| **4656** | Security | Handle de objeto solicitado - acesso a token de processo |
| **10** | Sysmon | ProcessAccess - acesso a LSASS antes da criação do token |
| **1** | Sysmon | ProcessCreaté com token elevado (`IntegrityLevel: High`) por processo não privilegiado |
### Regra Sigma
```yaml
title: Suspicious LogonUser API Call - Make and Impersonaté Token
id: a3f7c891-2e4b-4d8f-b123-7c9e1a2d3f45
status: experimental
description: >
Detecta criação de token sintético via LogonUser() seguida de ImpersonateLoggedOnUser()
ou SetThreadToken() - padrão de T1134.003 Make and Impersonaté Token.
references:
- https://attack.mitre.org/techniques/T1134/003/
- https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-logonuserw
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.privilege_escalation
- attack.t1134.003
logsource:
product: windows
service: security
detection:
selection_logon_explicit:
EventID: 4648
LogonType: 9
filter_expected:
# Processos legítimos conhecidos que usam LogonType 9
SubjectUserName|endswith:
- ' # contas de máquina
ProcessName|contains:
- 'svchost.exe'
- 'services.exe'
- 'lsass.exe'
condition: selection_logon_explicit and not filter_expected
fields:
- SubjectUserName
- TargetUserName
- TargetDomainName
- ProcessName
- IpAddress
falsepositives:
- Aplicações legítimas que usam Run As ou autenticação delegada
- Tarefas agendadas com credenciais alternativas
level: medium
```
### Detecção comportamental complementar
Monitorar sequências de API via EDR:
1. `LogonUser()` chamada por processo não-sistema
2. Seguida de `ImpersonateLoggedOnUser()` ou `SetThreadToken()` no mesmo processo
3. Seguida de acesso a `\\[host_remoto]\[share]` ou chamadas LDAP
Ferramentas como **Microsoft Defender for Endpoint** e **CrowdStrike Falcon** detectam esta cadeia via análise comportamental de sequências de API (`LogonUser` → `ImpersonateLoggedOnUser` → operação de rede).
---
## Mitigação
| ID | Mitigação | Ação Recomendada |
|----|-----------|-----------------|
| [[m1026-privileged-account-management\|M1026]] | Privileged Account Management | Limitar quais contas possuem o privilégio `SE_IMPERSONATE_NAME` (SeImpersonatePrivilege). Apenas contas de serviço essenciais devem tê-lo. Auditar via `whoami /priv` em contas de serviço. |
| [[m1018-user-account-management\|M1018]] | User Account Management | Implementar senhas únicas e complexas por host (LAPS - Local Administrator Password Solution) para eliminar o reuso de credenciais que viabiliza o ataque. |
| - | Monitoramento de LogonType 9 | Alertar sobre eventos 4648 com LogonType=9 originados de processos que não sejam serviços Windows legítimos, especialmente fora do horário comercial. |
| - | Segmentação de credenciais | Isolar contas de serviço por função. Uma conta de serviço SAP não deve ter permissões em compartilhamentos de arquivos. Princípio do menor privilégio aplicado a service accounts. |
| - | MFA para contas privilegiadas | Mesmo que o adversário possua a senha, MFA em contas administrativas evita logons sintéticos bem-sucedidos via `LogonUser()` com credenciais roubadas (quando integrado a provedores de autenticação MFA). |
---
## Contexto Brasil/LATAM
O uso de T1134.003 é particularmente relevante no contexto brasileiro por três razões:
**1. Alta prevalência de reuso de senhas em ambientes corporativos**
Auditorias de segurança conduzidas em empresas brasileiras frequentemente revelam senhas de administrador local idênticas entre centenas de estações de trabalho - exatamente o cenário que torna T1134.003 trivialmente eficaz. O atacante compromete uma única máquina, extrai a senha local via [[t1003-os-credential-dumping|LSASS dumping]], e replica o acesso para toda a rede.
**2. FIN13 e operações financeiras no Brasil**
O [[g1016-fin13|FIN13]] possui histórico documentado de ataques a bancos, processadoras de pagamento e varejistas no **México e Brasil** usando exatamente esta técnica. O grupo foca em contas de serviço SAP - abundantes em grandes corporações brasileiras - cujas senhas raramente são rotacionadas e frequentemente seguem padrões previsíveis (`SAP[nome_empresa]2024`).
**3. Grupos de ransomware ativos no Brasil**
Operadores do [[g1043-blackbyte|BlackByte]] e outros grupos de ransomware como [[lockbit|LockBit]] e [[royal-ransomware|Royal]] - todos com vítimas documentadas no Brasil - utilizam token manipulation como passo padrão na cadeia de movimentação lateral antes da criptografia em massa. Organizações dos setores [[_sectors|financeiro, industrial e saúde]] são os alvos mais frequentes.
**Recomendação para SOCs brasileiros:** Implementar LAPS imediatamente em todo o parque de estações Windows. Monitorar Event ID 4648 com LogonType=9 como alta prioridade. Inventariar contas com `SeImpersonatePrivilege` - qualquer conta de usuário comum com este privilégio é sinal de comprometimento ou misconfiguration.
---
## Referências
- [MITRE ATT&CK - T1134.003](https://attack.mitre.org/techniques/T1134/003/)
- [Microsoft Docs - LogonUser function](https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-logonuserw)
- [Microsoft Docs - ImpersonateLoggedOnUser](https://docs.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-impersonateloggedonuser)
- [Cobalt Strike Docs - make_token](https://hstechdocs.helpsystems.com/manuals/cobaltstrike/current/userguide/content/topics/post-exploitation_token-impersonation.htm)
- [Mandiant - FIN13 Threat Actor Profile](https://www.mandiant.com/resources/blog/fin13-cybercriminal-mexico)
- [BlackByte Ransomware TTPs - Microsoft MSTIC](https://www.microsoft.com/en-us/security/blog/2022/05/09/blackbyte-ransomware/)
## Software Associado
- [[s1060-mafalda|Mafalda]] (malware)
- [[s0692-silenttrinity|SILENTTRINITY]] (ferramenta)
- [[s0154-cobalt-strike|Cobalt Strike]] (framework C2)
## Técnicas Relacionadas
- [[t1134-access-token-manipulation|T1134 - Access Token Manipulation]] (técnica pai)
- [[Theft]] (subtécnica relacionada)
- [[t1003-os-credential-dumping|T1003 - OS Credential Dumping]] (técnica precursora comum)
- [[t1550-use-alternate-authentication-material|T1550 - Use Alternaté Authentication Material]] (técnica relacionada)
- [[t1078-valid-accounts|T1078 - Valid Accounts]] (frequentemente combinada)
---
*Fonte: [MITRE ATT&CK - T1134.003](https://attack.mitre.org/techniques/T1134/003)*