Creazione Processo con Token: Create Process with Token (T1134.002)
La tecnica T1134.002 — Create Process with Token descrive l'abuso di API Windows come CreateProcessWithTokenW e CreateProcessAsUserA/W, oltre al comando runas, per avviare un nuovo processo nel contesto di sicurezza di un altro utente. L'attaccante ottiene così l'esecuzione di codice con un'identità diversa dalla propria, tipicamente più privilegiata, sfruttando token duplicati, rubati o creati ex novo.
La sotto-tecnica è mappata a due tattiche complementari: TA0004 (Privilege Escalation), perché consente il salto da un contesto a media integrità verso SYSTEM o TrustedInstaller, e TA0005 (Defense Evasion), perché il processo figlio appare legittimamente associato a un utente diverso, confondendo la correlazione parent/child nei SIEM.
Nella kill chain si colloca dopo l'accesso iniziale e la raccolta di credenziali o handle privilegiati, spesso in combinazione con T1134.001 (Token Impersonation/Theft) o T1134.003 (Make and Impersonate Token). I dati MITRE censiscono 2 gruppi APT (Turla e Lazarus Group), 11 famiglie di software offensivo — tra cui Bankshot, Azorult, KONNI, REvil e WhisperGate — e 2 mitigazioni basate su gestione dei privilegi. L'impatto operativo è significativo: un token duplicato di lsass.exe o di un processo TrustedInstaller consente controllo totale su servizi di sicurezza, disattivazione di Defender e movimenti laterali silenziosi.
Sul piano offensivo, la creazione di processi con token altrui è un pilastro delle catene di privilege escalation post-exploitation. In un ingaggio red team la sequenza tipica prevede tre fasi: enumerazione dei processi ad alta integrità, ottenimento di un handle con PROCESS_QUERY_INFORMATION e TOKEN_DUPLICATE, infine spawn del processo figlio con il token duplicato.
In ambiente Windows lo strumento di riferimento è Cobalt Strike (a pagamento) con il comando steal_token PID seguito da spawnas o runu, che internamente invoca CreateProcessWithTokenW. In alternativa Meterpreter (open source) del framework Metasploit espone incognito con list_tokens -u e impersonate_token DOMAIN\user, mentre il post-module getsystem tenta la named-pipe impersonation.
Per operatori PowerShell, PoshC2 (open source) e Empire (open source, fork BC-Security) implementano il cmdlet Invoke-RunAs che accetta credenziali cleartext e produce un processo nel contesto target. Un esempio didattico in laboratorio:
Invoke-RunAs -User "lab\svcadmin" -Password 'P@ssw0rd' -Binary "C:\Windows\System32\cmd.exe"
Per manipolazione a basso livello incognito2 (open source) e la libreria SharpToken (open source) permettono di enumerare token disponibili con whoami /priv e di richiamare direttamente le API tramite P/Invoke. La combinazione classica è: dump di un token SYSTEM da un servizio con OpenProcessToken, duplicazione con DuplicateTokenEx a livello SecurityImpersonation, quindi CreateProcessWithTokenW verso cmd.exe.
Un payload noto per la scalata a TrustedInstaller è AdvancedRun (gratuito, NirSoft), usato da WhisperGate. La sintassi documentata è:
AdvancedRun.exe /EXEFilename "C:\Windows\System32\sc.exe" /CommandLine "stop WinDefend" /RunAs 8 /Run
Dove RunAs 8 indica esecuzione come TrustedInstaller. È una scorciatoia elegante per disabilitare EDR e servizi di protezione senza scrivere codice custom.
Per simulare i comportamenti dei gruppi tracciati, Atomic Red Team (open source) fornisce test dedicati a T1134.002 che invocano runas /user:administrator e verificano la creazione del child process con SID diverso. In laboratorio è utile abbinare Process Hacker (open source) o Process Explorer (gratuito, Sysinternals) per osservare in tempo reale il cambio di Integrity Level e Logon Session del processo figlio, validando la riuscita dell'operazione prima di procedere con il lateral movement.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo