RDP Hijacking and Credential Reuse
RDP lateral movement covers two distinct techniques: authenticating to RDP with valid credentials or hashes, and hijacking existing RDP sessions belonging to other users without needing their credentials. Session hijacking requires SYSTEM-level access on the target host and works regardless of whether the session owner is actively connected.
RDP access with credentials
Standard RDP access from Linux using valid credentials. The most straightforward path when you have credentials and port 3389 is reachable.
Pass-the-Hash over RDP only works when Restricted Admin Mode is enabled on the target. Check with: reg query HKLM\System\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin — a value of 0 means it is enabled. If it is not enabled and you have admin access, you can enable it: reg add HKLM\System\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /t REG_DWORD /d 0.
RDP session hijacking
From a SYSTEM shell on a Windows host, you can take over any disconnected RDP session belonging to any user without knowing their password. This works by creating a new service that runs tscon to connect your current session to the target session.
Once you run tscon, your RDP session transitions to the hijacked session and you are now operating as that user with their full desktop. No re-authentication occurs. Clean up the service after use: sc delete hijack.
Enabling RDP remotely
When RDP is disabled on a target you can reach via another method, enable it through the registry or firewall rules.
RDP port forwarding when 3389 is not directly reachable
When the target's RDP port is only reachable from the internal network, forward it through your existing shell session.
For the broader pivoting and tunneling workflow when multiple network segments are involved see WinRM and PowerShell Remoting. For using recovered RDP credentials for persistence see Windows Account and Backdoor Creation.
References
-
xfreerdp — FreeRDP GitHubgithub.com/FreeRDP/FreeRDP (opens in new tab)
Full xfreerdp parameter reference
-
Chisel — GitHubgithub.com/jpillora/chisel (opens in new tab)
TCP tunneling tool for port forwarding through firewalls
Was this helpful?
Your feedback helps improve this page.