UAC Bypass
El Control de cuentas de usuario (UAC) es la razón por la que, aun siendo miembro del grupo de administradores, un proceso normal arranca con un token filtrado (sin los privilegios de administrador) hasta que el usuario aprueba la elevación en el diálogo de consentimiento. Un bypass de UAC no explota una vulnerabilidad de memoria: aprovecha binarios firmados por Microsoft que se autoelevan sin mostrar el diálogo y que, por diseño, leen una ruta o una clave de registro que el usuario sí puede controlar. El resultado es pasar de un token de administrador filtrado (medium integrity) a uno completo (high integrity) sin tocar la contraseña.
Requisitos
El bypass no convierte a un usuario raso en administrador: solo sirve cuando ya se pertenece al grupo de administradores pero se opera con el token filtrado. Es el paso que va de "soy admin pero UAC me limita" a "tengo un proceso high integrity", imprescindible antes de volcar la SAM, tocar HKLM o instalar un servicio.
Mecanismo
El patrón más conocido es el de fodhelper.exe, un binario auto-elevado que, al arrancar, consulta una clave de registro bajo HKCU (que el usuario sí puede escribir) para decidir qué abrir. Sembrando ahí nuestro comando, fodhelper lo lanza ya elevado:
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /ve /d "cmd.exe /c C:\Temp\rev.exe" /f
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /v "DelegateExecute" /f
fodhelper.exefodhelper arranca en high integrity, lee la clave envenenada y ejecuta rev.exe con integridad alta. La misma idea, con distinta clave, funciona con eventvwr.exe (mscfile), sdclt.exe, computerdefaults.exe y una larga lista que recopila el proyecto UACME. Metasploit trae varios de estos como módulos exploit/windows/local/bypassuac_*.
Cómo detectarlo
Antes de intentarlo, confirmar la integridad actual y el nivel de UAC:
whoami /groups | findstr /i "Mandatory Level"
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v ConsentPromptBehaviorAdminUn Medium Mandatory Level con pertenencia a Administrators es la señal de que el token está filtrado y el bypass tiene sentido. Con EnableLUA a 0 no hay UAC que saltar (ya se está elevado).
Defensa. Poner UAC en su nivel máximo (Always notify), que obliga al diálogo incluso para binarios auto-elevados; no usar cuentas de administrador para el trabajo diario; y vigilar escrituras anómalas en HKCU\Software\Classes\...\shell\open\command, que casi siempre son un bypass en curso. Relacionado con RunAs con credenciales y SeImpersonate + Potato.