# 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)*