Remote Service Session Hijacking: RDP Hijacking
Adversaries may hijack a legitimate user’s remote desktop session to move laterally within an environment. Remote desktop is a common feature in operating systems. It allows a user to log into an interactive session with a system desktop graphical user interface on a remote system. Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS).
Adversaries may perform RDP session hijacking which involves stealing a legitimate user's remote session. Typically, a user is notified when someone else is trying to steal their session. With System permissions and using Terminal Services Console,
c:\windows\system32\tscon.exe [session number to be stolen], an adversary can hijack a session without the need for credentials or prompts to the user. This can be done remotely or locally and with active or disconnected sessions. It can also lead to Remote System Discovery and Privilege Escalation by stealing a Domain Admin or higher privileged account session. All of this can be done by using native Windows commands, but it has also been added as a feature in red teaming tools.
Audit the Remote Desktop Users group membership regularly. Remove unnecessary accounts and groups from Remote Desktop Users groups.
|M1042||Disable or Remove Feature or Program||
Disable the RDP service if it is unnecessary.
|M1035||Limit Access to Resource Over Network||
Use remote desktop gateways.
Enable firewall rules to block RDP traffic between network security zones within a network.
|M1028||Operating System Configuration||
Change GPOs to define shorter timeouts sessions and maximum amount of time any single session can be active. Change GPOs to specify the maximum amount of time that a disconnected session stays active on the RD session host server.
|M1026||Privileged Account Management||
Consider removing the local Administrators group from the list of groups allowed to log in through RDP.
|M1018||User Account Management||
Limit remote user permissions if remote access is necessary.
Consider monitoring processes for
tscon.exe usage and monitor service creation that uses
cmd.exe /k or
cmd.exe /c in its arguments to detect RDP session hijacking.
Use of RDP may be legitimate, depending on the network environment and how it is used. Other factors, such as access patterns and activity that occurs after a remote login, may indicate suspicious or malicious behavior with RDP.
- Microsoft. (n.d.). Remote Desktop Services. Retrieved June 1, 2016.
- Korznikov, A. (2017, March 17). Passwordless RDP Session Hijacking Feature All Windows versions. Retrieved December 11, 2017.
- Beaumont, K. (2017, March 19). RDP hijacking — how to hijack RDS and RemoteApp sessions transparently to move through an organisation. Retrieved December 11, 2017.
- NCC Group PLC. (2016, November 1). Kali Redsnarf. Retrieved December 11, 2017.
- Noerenberg, E., Costis, A., and Quist, N. (2017, May 16). A Technical Analysis of WannaCry Ransomware. Retrieved March 25, 2019.
- Microsoft. (n.d.). Configure Timeout and Reconnection Settings for Remote Desktop Services Sessions. Retrieved December 11, 2017.