AlwaysInstallElevated Abuse

Windows Privilege Escalation

AlwaysInstallElevated es una configuración de política en Windows que permite a los usuarios sin privilegios administrativos instalar paquetes de Windows Installer (.msi) con permisos elevados (de nivel de sistema). Esta opción equivale a otorgar derechos administrativos completos, lo que puede suponer un grave riesgo de seguridad. Microsoft desaconseja encarecidamente su uso.

Para que funcione AlwaysInstallElevated es necesario que sea configurado antes, las 2 claves del registro necesarias deben estar ya habilitadas (valor = 1), cabe aclarar que solo se pueden configurar si tienes los permisos suficientes (administrativos), del lado del HKCU si, pero es necesario tener las 2 actividades para que funcione:

HCKU

HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer

Nombre: AlwaysInstallElevated

Tipo: REG_DWORD

Valor: 1

HKLM

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer

Nombre: AlwaysInstallElevated

Tipo: REG_DWORD

Valor: 1

HCKU y HKLM desde CMD

# Habilitar en HKCU (sin privilegios admin)
reg add "HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer" /v AlwaysInstallElevated /t REG_DWORD /d 1

# Habilitar en HKLM (privilegios de admin)
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v AlwaysInstallElevated /t REG_DWORD /d 1

# Deshabilitar en HKCU
reg delete "HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer" /v AlwaysInstallElevated /f

# Deshabilitar en HKLM (requiere privilegio de admin)
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" /v AlwaysInstallElevated /f

recordemos que ambas claves debe tener valor de 1 para que la funcionalidad este activa.

También todo esto nos indica que para poder escalar privilegios abusando de AlwaysInstallElevated, debe de estar configurado desde antes

Verificar si AlwaysInstallElevated esta habilitado (Recon)

si están activados, estos deberían estar al valor de 1 como vimos anteriormente, para verificarlo al ejecutar los comandos nos podemos basar en el siguiente output:

cualquiera de los 2 comandos nos puede devolver el mismo output. si en vez de uno marca 0 (0x0) significa que no esta activado, o si no existe la clave valor veremos un error como el siguiente:

recordemos que los 2 deben estar marcados como 1, ya que si solo es uno o ninguno marcado como 1 el ataque no funcionara.

Creando MSIs maliciosos básicos para abusar de AlwaysInstallElevated

  • Un archivo MSI (Microsoft Software Installer) es un tipo de archivo de instalación para sistemas Windows que contiene toda la información necesaria para instalar, mantener y desinstalar un programa de forma automática. Utiliza el servicio Windows Installer para garantizar que la instalación sea consistente y eficiente. Los paquetes MSI son útiles para entornos corporativos debido a su capacidad de gestión y control.

si ya enumeramos la configuración de AlwaysInstallElevated y esta nos dio un resultado positivo (las 2 llaves de registro con permiso de 1) significa que podemos empezar a planificar un ataque.

en este caso usaremos Metasploit, específicamente la funcionalidad de msfvenom para generar un MSI malicioso

  • aprende a usar metasploit dando click aquí

ya en la maquina Windows ejecutamos el siguiente comando para ejecutar nuestro MSI con privilegios elevados:

si tenemos éxito, el MSI se ejecutara con privilegios SYSTEM o administrador, proporcionándonos una shell con privilegios elevados.

Last updated