🎯 **Guida Completa all’Exploitation di RDP**
Remote Desktop Protocol RDP è un protocollo proprietario sviluppato da Microsoft che consente il controllo remoto di un sistema Windows tramite una GUI. Per impostazione predefinita, RDP ascolta sulla
🎯 Guida Completa all’Exploitation di RDP
🔍 Cos’è RDP?
Remote Desktop Protocol (RDP) è un protocollo proprietario sviluppato da Microsoft che consente il controllo remoto di un sistema Windows tramite una GUI. Per impostazione predefinita, RDP ascolta sulla porta TCP 3389.
RDP è un bersaglio comune nei penetration test, soprattutto quando è esposto pubblicamente e protetto da credenziali deboli.
🛠️ Obiettivi del pentest
1. Identificare host con RDP attivo. 2. Eseguire un attacco brute-force per ottenere accesso. 3. Verificare l’accesso e interagire tramite un client RDP. 4. Post-exploitation del sistema compromesso.
🔎 1. Scansione RDP con Metasploit
🎯 Verifica presenza del servizio
Per capire se l'host ha RDP attivo, puoi usare il modulo:
use auxiliary/scanner/rdp/rdp_scanner⚙️ Parametri:
set RHOSTS <target_ip/subnet> set RPORT <porta> # default 3389 run✅ Il modulo restituisce se RDP è abilitato e disponibile.
🔐 2. Brute Force di RDP con Hydra
🔧 Sintassi base:
hydra -L <user_wordlist> -P <password_wordlist> rdp://<target_ip> -s <porta>🧪 Esempio pratico:
hydra -L /usr/share/metasploit-framework/data/wordlists/common_users.txt \ -P /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt \ rdp://demo.ine.local -s 3333📌 Note importanti:
- Hydra sfrutta freerdp in background.
- Assicurati che l'host supporti autenticazione classica (NLA o non-NLA), altrimenti il brute force potrebbe fallire.
- In caso di Account Lockout Policy, evita brute-force aggressivi o lavora su wordlist mirate.
🔑 3. Verifica delle credenziali con xfreerdp
Una volta ottenute credenziali valide, puoi connetterti via RDP utilizzando xfreerdp:
⚙️ Sintassi:
xfreerdp /u:<user> /p:<password> /v:<ip>[:porta]✅ Esempi:
xfreerdp /u:administrator /p:qwertyuiop /v:demo.ine.local
xfreerdp /u:administrator /p:qwertyuiop /v:demo.ine.local:3333🔒 Opzioni avanzate:
/cert:ignore→ ignora certificati autofirmati.
/dynamic-resolution→ si adatta alla risoluzione della finestra.
/clipboard→ abilita il copia/incolla tra sistemi.
/drive:share,/home/user/share→ mappa cartelle locali.
🧠 Considerazioni Tecniche
🔐 Autenticazione NLA
Se la macchina target richiede Network Level Authentication (NLA), il brute force è notevolmente più difficile perché l'autenticazione avviene prima dell'avvio della GUI. Non tutti i tool gestiscono bene l'NLA.
Verifica presenza NLA:
nmap -p 3389 --script rdp-ntlm-info <target>📤 Post-Exploitation
Se ottieni l'accesso con RDP:
- Esplora il sistema con privilegi utente o admin.
- Dump credenziali con Mimikatz (se possibile).
- Utilizza strumenti come SharpHound per la raccolta dati in ambienti Active Directory.
- Carica strumenti tramite condivisioni RDP o clipboard.
- Crea persistence (es. utente nascosto, scheduled task, registry backdoor).
🛡️ Contromisure e Difesa
Da red teamer (o pentester etico) è fondamentale conoscere anche i contromisure:
- Disabilita RDP se non necessario.
- Applica policy di lockout sugli account dopo un certo numero di tentativi.
- Abilita autenticazione a due fattori per RDP.
- Usa VPN o tunneling per isolare RDP dalla rete pubblica.
- Monitora i log (
Event ID 4625per login falliti,4624per successi).
📚 Risorse utili
- Nmap NSE Script: rdp-ntlm-info