Creazione Token di Impersonificazione: Make and Impersonate Token (T1134.003)

La tecnica T1134.003 — Make and Impersonate Token descrive la creazione di un nuovo token di accesso Windows a partire da credenziali note, seguita dall'assegnazione di tale token a un thread per eseguire azioni nel contesto di sicurezza di un altro utente. A differenza del furto o duplicazione di token esistenti, qui l'attaccante genera ex novo una sessione di logon invocando la funzione LogonUser (o varianti come LogonUserEx) e attacca il token risultante al thread corrente tramite SetThreadToken o ImpersonateLoggedOnUser.

MITRE ATT&CK la colloca a cavallo di due tattiche: TA0004 Privilege Escalation, poiché consente di operare con privilegi diversi (spesso più elevati) da quelli del processo padre, e TA0005 Defense Evasion, perché maschera l'origine reale delle azioni sotto l'identità del titolare delle credenziali fornite. La tecnica presuppone il possesso di credenziali valide — ottenute tramite dumping, phishing o brute force — e, per lo sfruttamento pieno, privilegi amministrativi locali che concedano il diritto SeCreateTokenPrivilege o SeImpersonatePrivilege.

I dati MITRE censiscono 2 gruppi APT noti (FIN13 e BlackByte), 3 famiglie di malware/tool (Cobalt Strike, SILENTTRINITY, Mafalda) e 2 mitigazioni ufficiali. Il posizionamento nella kill chain è tipicamente post-exploitation: dopo l'accesso iniziale e la raccolta credenziali, prima dei movimenti laterali o dell'esecuzione di comandi privilegiati.

In un ingaggio red team, la simulazione di Make and Impersonate Token parte dall'assunzione di aver già acquisito credenziali valide — via Rubeus (open source), Mimikatz (open source) o dump di LSASS con nanodump (open source). L'obiettivo è dimostrare l'escalation orizzontale o verticale senza richiamare l'attenzione dei controlli su Kerberos o su NTLM relay.

Lo strumento nativo di Windows più immediato è runas /netonly /user:DOMINIO\utente cmd.exe: crea una sessione con LogonType 9 (NewCredentials) in cui il processo locale gira come utente corrente ma le connessioni di rete presentano le credenziali fornite. È utile per accedere a share o servizi remoti senza modificare il contesto locale. Per un impersonation completo lato locale, il pattern classico è invocare LogonUser con LOGON32_LOGON_INTERACTIVE (o LOGON32_LOGON_NEW_CREDENTIALS) e poi ImpersonateLoggedOnUser sul token restituito.

Gli operatori usano frequentemente Cobalt Strike (a pagamento) con i comandi make_token DOMINIO\utente password e pth per pass-the-hash su token forgiati, entrambi implementati appoggiandosi a LogonUserA. In alternativa SILENTTRINITY (open source), framework .NET post-exploitation, espone il modulo boo/make_token che replica il comportamento tramite P/Invoke di advapi32!LogonUserA, evitando la CLI di Windows e riducendo la telemetria di processo.

Un esempio PowerShell didattico per laboratorio si basa su Add-Type con firma P/Invoke di LogonUser, chiamata con LOGON32_LOGON_NEW_CREDENTIALS e LOGON32_PROVIDER_WINNT50, seguita da ImpersonateLoggedOnUser. Verificare l'esito con whoami /user eseguito dal thread impersonato: mostrerà il SID del nuovo contesto.

Per la parte di Incognito citata nei dati MITRE come strumento usato da FIN13, la reimplementazione moderna è disponibile come modulo di Meterpreter (open source, in Metasploit Framework) con i comandi list_tokens -u e impersonate_token DOMINIO\\utente: pur essendo Incognito storicamente orientato al furto di token esistenti, i porting recenti includono anche la creazione tramite credenziali note.

Checklist operativa per un lab realistico: eseguire il payload da un processo con integrità Medium per osservare il salto a High/System dopo l'impersonation; loggare SeCreateTokenPrivilege, SeImpersonatePrivilege, SeAssignPrimaryTokenPrivilege nel token risultante con whoami /priv; correlare con Event ID 4624 generato lato Security log per verificare la visibilità che avrà il SOC.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.