Remote Desktop Protocol

From enterprise
Jump to: navigation, search
Remote Desktop Protocol
Technique
ID T1076
Tactic Lateral Movement
Platform Windows
System Requirements RDP service enabled, account in the Remote Desktop Users group.
Permissions Required User, Remote Desktop Users
Data Sources Authentication logs, Netflow/Enclave netflow, Process monitoring
CAPEC ID CAPEC-555
Contributors Matthew Demaske, Adaptforward

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).1 There are other implementations and third-party tools that provide graphical access Remote Services similar to RDS.

Adversaries may connect to a remote system over RDP/RDS to expand access if the service is enabled and allows access to accounts with known credentials. Adversaries will likely use Credential Access techniques to acquire credentials to use with RDP. Adversaries may also use RDP in conjunction with the Accessibility Features technique for Persistence.2

Adversaries may also 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 and prompted with a question. 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.3 This can be done remotely or locally and with active or disconnected sessions.4 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 RedSnarf.5

Examples

  • The APT1 group is known to have used RDP during operations.6
  • APT3 enables the Remote Desktop Protocol for persistence. 7
  • APT34 uses Remote Desktop Protocol for lateral movement. The group has also used tunneling tools to tunnel RDP into the environment.8
  • The Axiom group is known to have used RDP during operations.9
  • Dragonfly used RDP to connect to additional victims.10
  • FIN10 has used RDP to move laterally to systems in the victim environment.11
  • FIN6 used RDP to move laterally in victim networks.12
  • FIN8 has used RDP for Lateral Movement.13
  • Lazarus Group malware SierraCharlie uses RDP for propagation.14
  • OilRig has used Remote Desktop Protocol to access compromised systems.15
  • Patchwork attempted to use RDP to move laterally.16
  • menuPass has used RDP connections to move across the victim network.17
  • Cobalt Strike can start a VNC-based remote desktop server and tunnel the connection through the already established C2 channel.
  • Pupy can enable/disable RDP connection and can start a remote desktop session using a browser web socket client.18

Mitigation

Disable the RDP service if it is unnecessary, remove unnecessary accounts and groups from Remote Desktop Users groups, and enable firewall rules to block RDP traffic between network security zones. Audit the Remote Desktop Users group membership regularly. Remove the local Administrators group from the list of groups allowed to log in through RDP. Limit remote user permissions if remote access is necessary. Use remote desktop gateways and multifactor authentication for remote logins.19 Do not leave RDP accessible from the internet. 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. 20

Detection

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. Monitor for user accounts logged into systems they would not normally access or access patterns to multiple systems over a relatively short period of time.

Also, set up process monitoring for tscon.exe usage and monitor service creation that uses cmd.exe /k or cmd.exe /c in its arguments to prevent RDP session hijacking.

References