Saltearse al contenido

Bypass de UAC

UAC (User Account Control) hace que, incluso siendo administrador, los procesos corran por defecto con un token de integridad media; para operaciones privilegiadas aparece el prompt de consentimiento. Un bypass de UAC consiste en obtener un proceso de integridad alta sin ese prompt, partiendo de una cuenta que ya es miembro de Administradores. No es una escalada de usuario a admin: es pasar de “admin limitado” a “admin pleno” silenciosamente.

Microsoft es explícito en que UAC no es un límite de seguridad, sino una conveniencia para reducir ejecución privilegiada accidental. Por eso los bypasses son abundantes y a menudo no se parchean como vulnerabilidades. El atacante que ya controla una sesión de admin usa UAC bypass para auto-elevarse sin alertar al usuario con un prompt, como paso previo a volcar credenciales o persistir.

  • La cuenta debe pertenecer al grupo Administrators (token dividido). Si no, no es UAC lo que necesitas sino privesc real (ver Escalada de privilegios en Windows).
  • El nivel de UAC importa: en el máximo (“Always notify”) muchos bypasses fallan.

Técnicas clásicas (auto-elevación de binarios + hijack)

Sección titulada «Técnicas clásicas (auto-elevación de binarios + hijack)»

Windows tiene binarios firmados que auto-elevan sin prompt (autoElevate=true en su manifiesto). Si uno de ellos lee una ruta/registro que el usuario controla, se cuela código a integridad alta:

  • fodhelper.exe — lee HKCU\Software\Classes\ms-settings\Shell\Open\command; plantas tu comando ahí y lo ejecuta elevado (el clásico, sin fichero en disco necesario).
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /ve /d "cmd.exe /c start cmd.exe" /f
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /v DelegateExecute /f
fodhelper.exe
  • computerdefaults.exe — misma técnica que fodhelper con otra clave.
  • eventvwr.exe — hijack de HKCU\Software\Classes\mscfile\shell\open\command (histórico).
  • sdclt.exe, slui.exe, wsreset.exe — variantes de registry hijack.
  • DLL hijacking en IFEO / rutas de auto-elevados y mock trusted directories (C:\Windows \System32\ con espacio) para saltar comprobaciones de ruta.
  • Token manipulation: duplicar el token de integridad alta de otro proceso elevado (COM moniker Elevation:Administrator).

El catálogo vivo y clasificado está en UACME (decenas de métodos numerados).

  • UACME — colección de referencia de bypasses numerados y mantenidos.
  • Metasploit bypassuac_* módulos.
  • SharpBypassUAC, scripts PowerShell (Invoke-EventVwrBypass, etc.).

Proceso a integridad alta sin prompt: ya puedes volcar LSASS/SAM, deshabilitar defensas con derechos plenos, instalar servicios y persistir. Es el peldaño silencioso entre el acceso inicial de admin y el control total del host.

  • Procesos auto-elevados (fodhelper.exe, computerdefaults.exe, eventvwr.exe, sdclt.exe) lanzando cmd.exe/powershell.exe → cadena padre-hijo anómala.
  • Escrituras en HKCU\Software\Classes\...\shell\open\command y claves ms-settings/mscfile.
  • Procesos a integridad alta sin el consentimiento registrado.

Sysmon event 1 (process create con parent) y 13 (registry set en las claves de hijack); monitoriza las Run/Classes keys de HKCU.

  • Sube UAC a “Always notify” (reduce muchos bypasses de auto-elevación).
  • Aplica AppLocker/WDAC para restringir qué binarios se ejecutan, cortando LOLBins de bypass.
  • No uses cuentas de administrador para el día a día: si la sesión no es admin, UAC bypass no aplica.
  • Elimina derechos de admin local redundantes; monitoriza las claves de registro de hijack.

Asume compromiso a integridad alta: trata el host como totalmente comprometido, rota secretos y revisa persistencia; corrige la práctica de usar cuentas admin interactivas.

  • La mayoría de bypasses no reciben CVE porque Microsoft no considera UAC un límite de seguridad; se catalogan en UACME (método #33 fodhelper, etc.).
  • Usados por malware real: Dridex, TrickBot, Emotet, Lokibot emplean fodhelper/eventvwr para auto-elevar (MITRE T1548.002).
  • CMSTP, DiskCleanup, ICMLuaUtil entre los COM/LOLBins explotados en campañas documentadas.
  • ¿La cuenta es miembro de Administrators (token dividido)?
  • ¿Nivel de UAC por debajo de “Always notify”?
  • fodhelper / computerdefaults vía ms-settings registry hijack
  • eventvwr / sdclt / wsreset variantes de hijack
  • ¿AppLocker/WDAC bloquea los LOLBins de bypass?
  • Token duplication desde proceso elevado (COM elevation moniker)
  • ¿UACME método X funciona en esta build?