| name | T1134.001_token-impersonationtheft |
| description | Adversaries may duplicate then impersonate another user's existing token to escalate privileges and bypass access controls. |
| category | configuration |
| version | 18.1 |
| author | cyberstrike-official |
| tags | ["mitre-attack","enterprise","t1134.001","defense-evasion","privilege-escalation","windows","sub-technique"] |
| technique_id | T1134.001 |
| tactic | defense-evasion |
| all_tactics | ["defense-evasion","privilege-escalation"] |
| platforms | ["Windows"] |
| mitre_url | https://attack.mitre.org/techniques/T1134/001 |
| tech_stack | ["windows"] |
| cwe_ids | ["CWE-693"] |
| chains_with | ["T1134","T1134.002","T1134.003","T1134.004","T1134.005"] |
| prerequisites | ["T1134"] |
| severity_boost | {"T1134":"Chain with T1134 for deeper attack path","T1134.002":"Chain with T1134.002 for deeper attack path","T1134.003":"Chain with T1134.003 for deeper attack path"} |
T1134.001 Token Impersonation/Theft
Sub-technique of: T1134
High-Level Description
Adversaries may duplicate then impersonate another user's existing token to escalate privileges and bypass access controls. For example, an adversary can duplicate an existing token using DuplicateToken or DuplicateTokenEx. The token can then be used with ImpersonateLoggedOnUser to allow the calling thread to impersonate a logged on user's security context, or with SetThreadToken to assign the impersonated token to a thread.
An adversary may perform Token Impersonation/Theft when they have a specific, existing process they want to assign the duplicated token to. For example, this may be useful for when the target user has a non-network logon session on the system.
When an adversary would instead use a duplicated token to create a new process rather than attaching to an existing process, they can additionally Create Process with Token using CreateProcessWithTokenW or CreateProcessAsUserW. Token Impersonation/Theft is also distinct from Make and Impersonate Token in that it refers to duplicating an existing token, rather than creating a new one.
Kill Chain Phase
- Defense Evasion (TA0005)
- Privilege Escalation (TA0004)
Platforms: Windows
What to Check
How to Test
Atomic Red Team Tests
The following tests are from Atomic Red Team and provide actionable ways to test this technique:
Atomic Test 1: Named pipe client impersonation
Uses PowerShell and Empire's GetSystem module. The script creates a named pipe, and a service that writes to that named pipe. When the service connects to the named pipe, the script impersonates its security context.
When executed successfully, the test displays the domain and name of the account it's impersonating (local SYSTEM).