Movimento Laterale via RDP: Remote Desktop Protocol (T1021.001)

Il Remote Desktop Protocol è il coltellino svizzero del movimento laterale. Nato come strumento legittimo per l'amministrazione remota, RDP consente una sessione interattiva completa — desktop grafico, mouse, tastiera — su un sistema remoto. Microsoft lo implementa attraverso i Remote Desktop Services (RDS), attivi di default su molte installazioni Server e abilitabili con un click su qualsiasi workstation Windows.

Dal punto di vista offensivo, questa tecnica si colloca nella fase di Lateral Movement (TA0008), quella in cui l'avversario ha già un punto d'appoggio nella rete e cerca di espandersi verso sistemi di maggior valore. RDP è perfetto per questo scopo: usa credenziali valide, attraversa la rete su una porta nota (TCP 3389), e produce sessioni interattive indistinguibili da quelle di un amministratore legittimo.

I numeri raccontano la popolarità di questa tecnica: 35 gruppi APT, 17 software, 7 campagne documentate e 8 mitigazioni raccomandate. Dai gruppi ransomware come Wizard Spider e Akira fino ad attori nation-state come Volt Typhoon e APT41, RDP rimane il metodo preferito per spostarsi lateralmente senza scaricare tool aggiuntivi, sfruttando ciò che il sistema operativo già offre. La combinazione con credenziali rubate tramite tecniche di Credential Access lo rende un vettore estremamente efficace e silenzioso.


La simulazione di un attacco RDP in laboratorio richiede due fasi distinte: la ricognizione dei servizi esposti e l'accesso effettivo con credenziali compromesse. Il punto di partenza è sempre l'enumerazione: bisogna sapere quali host hanno la porta 3389 aperta e quali accettano connessioni.

Per la scansione iniziale, Nmap (open source) è lo strumento naturale. Un comando mirato sulla porta RDP restituisce rapidamente lo stato del servizio:

nmap -p 3389 --open -sV 192.168.1.0/24

Il flag -sV identifica la versione del servizio, utile per capire se NLA (Network Level Authentication) è abilitato. Se la scansione rivela host con RDP attivo, il passo successivo è testare le credenziali disponibili.

Con credenziali valide già ottenute (simulando una fase di Credential Access), il client nativo di Windows è sufficiente:

mstsc.exe /v:192.168.1.50

Questo è esattamente il comando documentato nelle operazioni di Medusa Group, che lo utilizzava per le sessioni RDP laterali. Per un approccio da linea di comando senza GUI, xfreerdp (open source), parte del progetto FreeRDP, permette connessioni scriptabili:

xfreerdp /u:admin /p:Password123 /v:192.168.1.50 /cert:ignore

In un esercizio red team più avanzato, vale la pena replicare la tecnica di tunneling usata da Agrius e OilRig: incapsulare RDP dentro un tunnel SSH o attraverso web shell. Plink (open source), il client SSH a riga di comando di PuTTY, crea un tunnel locale che mappa una porta arbitraria verso la 3389 del target:

plink.exe -ssh -L 13389:10.0.0.5:3389 user@pivot-host

Una volta stabilito il tunnel, basta puntare mstsc.exe verso localhost:13389 per raggiungere il target attraverso il pivot. Questa tecnica riproduce esattamente l'approccio documentato per Agrius, che tunnelizzava traffico RDP attraverso web shell deployate nell'ambiente vittima.

Per testare scenari di hijacking di sessioni RDP già attive — una tecnica particolarmente insidiosa — il comando nativo tscon.exe consente, con privilegi SYSTEM, di agganciare una sessione disconnessa senza conoscere la password dell'utente:

tscon <session_id> /dest:console

L'ID di sessione si ottiene con query user o qwinsta. Questo scenario dimostra perché le sessioni disconnesse rappresentino un rischio concreto, ed è direttamente collegato alla mitigazione che raccomanda timeout aggressivi sulle sessioni RDS.

Per ambienti dove si vuole simulare l'abilitazione remota di RDP (come faceva APT3 per la persistenza), il registro di sistema si modifica con:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

seguito dall'apertura della porta nel firewall locale:

netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes


Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo