# T1134.002 - Creaté Process with Token
## Descrição
A técnica **T1134.002** consiste na criação de novos processos utilizando tokens de acesso roubados ou duplicados de outros usuários ou processos, permitindo ao adversário **impersonar identidades privilegiadas** e escalar privilégios sem explorar vulnerabilidades no kernel. Classificada como sub-técnica de [[t1134-access-token-manipulation|T1134 - Access Token Manipulation]], atua simultaneamente nas táticas de [[_defense-evasion|Defense Evasion]] e [[privilege-escalation|Privilege Escalation]].
O mecanismo central é a API do Windows **`CreateProcessWithTokenW`**, que cria um novo processo cujo token de segurança pertence a outro usuário. O adversário primeiro obtém um handle para um token de acesso de alto privilégio (tipicamente de uma conta de serviço, SYSTEM ou administrador de domínio), e então utiliza esse token para lançar processos que herdam aquele contexto de segurança - efetivamente operando como o usuário legítimo sem conhecer sua senha.
Do ponto de vista defensivo, a técnica é sofisticada porque o processo malicioso aparece nos logs de auditoria sob a identidade do usuário legítimo impersonado, não do adversário, tornando a investigação forense e a atribuição significativamente mais difíceis.
> **Técnica pai:** [[t1134-access-token-manipulation|T1134 - Access Token Manipulation]]
> **Táticas:** [[_defense-evasion|Defense Evasion]] · [[privilege-escalation|Privilege Escalation]]
> **Plataformas:** Windows
> **Pré-requisitos:** Privilégio `SeImpersonatePrivilege` ou `SeAssignPrimaryTokenPrivilege`; handle para token de alto privilégio (obtido via T1134.001 ou T1134.003)
---
## Como Funciona
### 1. Obtenção do token-alvo
O adversário precisa de um handle para o token que desejá usar. Há três caminhos principais:
- **Roubo via T1134.001** ([[Theft]]): usar `OpenProcessToken()` + `DuplicateTokenEx()` para duplicar o token de um processo privilegiado já em execução (ex: `winlogon.exe`, `lsass.exe`, processo de serviço rodando como SYSTEM)
- **Criação via T1134.003** ([[t1134-003-make-and-impersonate-token|Make and Impersonaté Token]]): usar `LogonUser()` com credenciais capturadas para obter um novo token de logon
- **Token de serviço IIS/WCF**: explorar `SeImpersonatePrivilege` (concedido por padrão a contas de serviço IIS, SQL Server, etc.) para capturar tokens de clientes que se conectam ao serviço
### 2. Duplicação do token (se necessário)
Tokens primários requerem `DuplicateTokenEx()` com `SecurityImpersonation` ou `SecurityDelegation` antes de serem usados em `CreateProcessWithTokenW`. Tokens de impersonação precisam ser convertidos em tokens primários com `TokenPrimary`.
### 3. Criação do processo com o token
```
CreateProcessWithTokenW(
hToken, // handle para o token duplicado
LOGON_WITH_PROFILE,
NULL, // nome do aplicativo
"cmd.exe", // linha de comando a executar
...
)
```
O processo filho (`cmd.exe`, `powershell.exe`, ou qualquer payload) é criado com o contexto de segurança do token fornecido. Todos os acessos a recursos realizados por esse processo usam as credenciais do usuário impersonado.
### 4. Execução mascarada
O processo resultante aparece nos logs do Windows com o **SID do usuário impersonado** - não do atacante. Event logs de criação de processo (Event ID 4688) mostrarão o contexto de segurança do usuário legítimo, confundindo investigações.
### Privilégios necessários
| Privilégio | Descrição | Concedido por padrão a |
|-----------|-----------|------------------------|
| `SeImpersonatePrivilege` | Permite impersonar clientes após autenticação | Contas de serviço, IIS, SQL, LocalService |
| `SeAssignPrimaryTokenPrivilege` | Permite atribuir token primário a processo | LocalSystem, NetworkService |
| `SeTcbPrivilege` | Atua como parte do sistema operacional | Apenas SYSTEM |
---
## Attack Flow
```mermaid
graph TB
A([Acesso inicial - execução como usuário comum ou conta de serviço]) --> B{Possui SeImpersonatePrivilege?}
B -->|Sim - conta de serviço IIS/SQL| C[Captura token de cliente via named pipe ou RPC]
B -->|Não| D[Explora vulnerabilidade local para obter privilégio]
D --> C
C --> E{Tipo de token disponível}
E -->|Token de impersonation| F[DuplicateTokenEx - converte para token primário]
E -->|Token primário de processo privilegiado| G[OpenProcessToken em winlogon/lsass/serviço SYSTEM]
G --> F
F --> H{Credenciais de domínio disponíveis?}
H -->|Sim| I[LogonUser - cria token via T1134.003]
H -->|Não| J[Usa token duplicado direto]
I --> K[CreateProcessWithTokenW com token privilegiado]
J --> K
K --> L([Novo processo criado com identidade SYSTEM ou admin de domínio])
L --> M{Objetivo}
M -->|Persistência| N[Instala backdoor ou scheduled task como SYSTEM]
M -->|Lateral movement| O[Acessa compartilhamentos de rede com credenciais de domínio]
M -->|Credential dumping| P[Executa lsass dump como SYSTEM - T1003]
M -->|Exfiltração| Q[Acessa dados restritos com contexto de admin]
N --> R([Persistência de alto privilégio estabelecida])
O --> S([Propagação para outros hosts do domínio])
P --> T([Credenciais adicionais comprometidas])
style A fill:#c0392b,color:#fff
style L fill:#e67e22,color:#fff
style R fill:#8e44ad,color:#fff
style S fill:#8e44ad,color:#fff
style T fill:#8e44ad,color:#fff
```
---
## Exemplos de Uso
### Turla (APT29 - Rússia)
O grupo [[g0010-turla|Turla]], vinculado ao FSB russo, utiliza T1134.002 extensivamente em operações de espionagem de longo prazo contra governos, embaixadas e organizações de defesa. O malware **[[s0265-kazuarv2|Kazuar]]** e o **[[s0335-carbon|Carbon]]** do Turla implementam rotinas de token manipulation para elevar privilégios em máquinas comprometidas e acessar sistemas de arquivos restritos sem acionar alertas de escalada de privilégio convencional. O Turla tem histórico documentado de operações contra entidades governamentais em países da Europa Oriental, com potencial impacto em representações diplomáticas latino-americanas.
### Lazarus Group (DPRK)
O [[g0032-lazarus-group|Lazarus Group]], operando em nome da Coreia do Norte, utiliza T1134.002 como parte de suas cadeias de pós-exploração em ataques financeiros e de espionagem. O malware [[s0239-bankshot|Bankshot]] (usado contra o sistema [[swift|SWIFT]] bancário) e o [[konni|KONNI]] RAT (campanhas contra governos e organizações de defesa) implementam variantes dessa técnica para manter acesso persistente com altos privilégios em redes corporativas.
### REvil (Ransomware-as-a-Service)
O ransomware [[s0496-revil|REvil]] utiliza token manipulation (T1134.002) como parte da fase de propagação lateral - após comprometer um servidor com conta de serviço privilegiada, cria processos com tokens de administrador de domínio para distribuir o ransomware para todos os sistemas da rede Active Directory. Essa abordagem maximiza o impacto do ataque e foi documentada em grandes incidentes como o ataque à JBS Foods (2021) e Kaseya VSA (2021).
### Ferramentas de Red Team e Post-Exploitation
| Ferramenta | Mecanismo | Uso |
|------------|-----------|-----|
| [[s0154-cobalt-strike\|Cobalt Strike]] | `steal_token` + `spawnas` | Token theft + processo privilegiado |
| [[s0378-poshc2\|PoshC2]] | `Invoke-TokenManipulation` | PowerShell token manipulation |
| [[metasploit\|Metasploit]] | `getsystem` (via token) | Módulo incognito |
| Mimikatz | `token::elevaté` + `misc::cmd` | Elevação para SYSTEM via token |
---
## Detecção
### Regra Sigma - Criação de Processo com Token Suspeito
```yaml
title: Suspicious CreateProcessWithToken for Privilege Escalation
id: c3d4e5f6-a7b8-9012-cdef-345678901234
status: experimental
description: >
Detecta criação de processos com token diferente do usuário atual,
especialmente quando o processo pai não é um serviço legítimo ou
ferramenta administrativa conhecida. Pode indicar T1134.002.
references:
- https://attack.mitre.org/techniques/T1134/002/
- https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createprocesswithtokenw
author: RunkIntel
daté: 2026-03-24
tags:
- attack.defense_evasion
- attack.privilege_escalation
- attack.t1134.002
logsource:
product: windows
service: security
detection:
selection_process_creation:
EventID: 4688
TokenElevationType: '%%1937' # TokenElevationTypeFull
selection_suspicious_parent:
ParentProcessName|endswith:
- \cmd.exe
- \powershell.exe
- \wscript.exe
- \cscript.exe
- \mshta.exe
- \rundll32.exe
filter_legitimate:
SubjectUserName|endswith:
- '