Auto-Elevate
Esta ferramenta demonstra o poder de contornos de UAC e funcionalidades integradas do Windows. Este utilitário localiza automaticamente o winlogon.exe, rouba e impersona seu TOKEN de processo e cria um novo processo em nível de SYSTEM com o token roubado. Combinado com o método de bypass de UAC #41 (bypass de UAC ICMLuaUtil) do utilitário UACME de hfiref0x, este utilitário pode auto-elevar uma conta Administrativa com privilégios baixos para NT AUTHORITY\SYSTEM.
A imagem a seguir demonstra o uso do UACME combinado com o Auto-Elevate para ir de uma conta Administrador com privilégios baixos para NT AUTHORITY\SYSTEM no Windows 10 21H1.

A imagem a seguir demonstra a escalada de uma conta Administrador com privilégios altos para SYSTEM sem um bypass de UAC

Explicação Técnica
Os seguintes passos são executados pelo Auto-Elevate para escalar de um Administrador com privilégios baixos para SYSTEM:

Auto-Elevate
- O processo winlogon.exe é localizado enumerando os processos em execução do sistema com CreateToolhelp32Snapshot, Process32First e Process32Next
- SeDebugPrivilege é habilitado para o processo atual por meio de uma chamada a AdjustTokenPrivileges, pois é necessário para abrir um HANDLE para winlogon.exe
- Um identificador para o processo winlogon.exe é aberto chamando OpenProcess; para esta chamada é usado PROCESS_ALL_ACCESS (embora seja excessivo)
- Um identificador para o token de processo do winlogon é recuperado chamando OpenProcessToken combinado com o identificador de processo obtido anteriormente
- O usuário (SYSTEM) do winlogon é impersonado chamando ImpersonateLoggedOnUser
- O identificador de token impersonado é duplicado chamando DuplicateTokenEx com SecurityImpersonation, criando um token duplicado que podemos usar
- Usando o token duplicado e impersonado, uma nova instância do CMD é criada chamando CreateProcessWithTokenW
A Fazer
Mapeamento MITRE ATT&CK
- Manipulação de Token: T1134
- Manipulação de Token de Acesso: Impersonação/Roubo de Token: T1134.001
- Manipulação de Token de Acesso: Criar Processo com Token: T1134.002
- Manipulação de Token de Acesso: Criar e Impersonar Token: T1134.003