Creare Processi con Token: Create Process with Token (T1134.002)

Gli avversari possono creare nuovi processi utilizzando token di sicurezza esistenti per escalare i privilegi e aggirare i controlli di accesso. Questa tecnica sfrutta funzionalità native di Windows come CreateProcessWithTokenW e il comando runas per avviare processi nel contesto di sicurezza di un altro utente.

Il processo creato eredita completamente l'identità e i privilegi dell'utente associato al token, permettendo operazioni che normalmente sarebbero negate. Per utilizzare questa tecnica, l'attaccante deve già possedere credenziali valide dell'utente target, privilegi specifici per l'impersonazione, o accesso diretto al token da utilizzare.

La tecnica si colloca nelle tattiche TA0004 (Privilege Escalation) e TA0005 (Defense Evasion) della kill chain. Nel primo caso permette di ottenere privilegi elevati come SYSTEM o amministratore locale, mentre nel secondo consente di mascherare le attività malevole eseguendole sotto l'identità di utenti legittimi.

2 gruppi APT documentati utilizzano attivamente questa tecnica, insieme a 11 famiglie di malware che la implementano nei loro arsenali offensivi.

Per replicare questa tecnica in laboratorio, inizia con il comando Windows più semplice: runas /user:DOMAIN\Administrator cmd.exe. Questo richiede la password dell'utente target e apre una nuova shell con i suoi privilegi.

Se hai già un token duplicato o rubato tramite altre tecniche, puoi utilizzare l'API CreateProcessWithTokenW direttamente. Tool come Empire forniscono il modulo Invoke-RunAs che automatizza questo processo, mentre PoshC2 offre funzionalità simili per creare token e avviare processi.

Un approccio più sofisticato prevede l'uso di AdvancedRun.exe, come dimostrato dal malware WhisperGate: %TEMP%\AdvancedRun.exe" /EXEFilename "C:\Windows\System32\sc.exe" /WindowState 0 /CommandLine "stop WinDefend" /RunAs 8 /Run. Questo comando esegue operazioni nel contesto del gruppo TrustedInstaller, ottenendo privilegi massimi sul sistema.

Per testare la catena completa dell'attacco:

  1. Duplica un token esistente usando tecniche di token theft
  2. Utilizza CreateProcessAsUserA per creare il nuovo processo
  3. Verifica che il processo figlio abbia ereditato il contesto di sicurezza desiderato controllando il suo Security Identifier (SID)

Il malware Bankshot dimostra un'implementazione pratica chiamando prima WTSQueryUserToken per ottenere il token di una sessione interattiva, poi CreateProcessAsUserA per eseguire codice in quel contesto. Azorult utilizza la stessa sequenza per ottenere privilegi di sistema locale.

Tool specializzati come ZxShell includono comandi dedicati (RunAs) che semplificano l'intero processo, mentre REvil utilizza questa tecnica per rilanciarsi con diritti amministrativi quando necessario per la cifratura dei file.

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

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.