Auto-Elevate
Questo strumento dimostra la potenza dei bypass UAC e delle funzionalità integrate di Windows. Questa utility individua automaticamente winlogon.exe, ruba e impersona il suo TOKEN di processo, e genera un nuovo processo a livello SYSTEM con il token rubato. Combinato con il metodo di bypass UAC #41 (ICMLuaUtil UAC bypass) dall'utility UACME di hfiref0x, questa utility può auto-elevare un account amministrativo con privilegi limitati a NT AUTHORITY\SYSTEM.
L'immagine seguente dimostra l'uso di UACME combinato con Auto-Elevate per passare da un account amministratore con privilegi limitati a NT AUTHORITY\SYSTEM su Windows 10 21H1.

L'immagine seguente dimostra l'escalation da un account amministratore con privilegi elevati a SYSTEM senza un bypass UAC

Spiegazione tecnica
I seguenti passaggi vengono eseguiti da Auto-Elevate per effettuare l'escalation da un amministratore con privilegi limitati a SYSTEM:

Auto-Elevate
- Il processo winlogon.exe viene individuato enumerando i processi in esecuzione nel sistema con CreateToolhelp32Snapshot, Process32First e Process32Next
- SeDebugPrivilege viene abilitato per il processo corrente tramite una chiamata a AdjustTokenPrivileges, poiché è necessario per aprire un HANDLE a winlogon.exe
- Un handle al processo winlogon.exe viene aperto chiamando OpenProcess; per questa chiamata viene utilizzato PROCESS_ALL_ACCESS (tuttavia, è eccessivo)
- Un handle al token di processo di winlogon viene recuperato chiamando OpenProcessToken combinato con l'handle del processo precedentemente ottenuto
- L'utente (SYSTEM) di winlogon viene impersonato chiamando ImpersonateLoggedOnUser
- L'handle del token impersonato viene duplicato chiamando DuplicateTokenEx con SecurityImpersonation; ciò crea un token duplicato che possiamo utilizzare
- Utilizzando il token duplicato e impersonato, viene generata una nuova istanza di CMD chiamando CreateProcessWithTokenW
Da fare
Mapping MITRE ATT&CK
- Manipolazione dei token: T1134
- Manipolazione dei token di accesso: Impersonazione/furto di token: T1134.001
- Manipolazione dei token di accesso: Creazione di processo con token: T1134.002
- Manipolazione dei token di accesso: Creare e impersonare token: T1134.003