Lateral Movement (TA0008)

Sub-technique: T1021.001 - Remote Desktop Protocol (RDP)

Objective: Detect lateral movement using RDP.

  1. Monitor RDP Connections from Unusual IPs

DeviceNetworkEvents
| where RemotePort == 3389
| summarize ConnectionCount = count() by RemoteIP, LocalIP
| where ConnectionCount > 5
| project RemoteIP, LocalIP, ConnectionCount
| order by ConnectionCount desc

Purpose: Detect RDP connections from unknown IP addresses.

  1. Identify Multiple Failed RDP Login Attempts

DeviceLogonEvents
| where LogonType == "RemoteInteractive" and ActionType == "LogonFailed"
| summarize FailedLogonCount = count() by AccountName, DeviceName
| join kind=leftouter (
    DeviceNetworkEvents
    | where RemotePort == 3389
    | summarize ConnectionCount = count() by DeviceName
) on DeviceName
| project AccountName, DeviceName, FailedLogonCount, ConnectionCount
| order by FailedLogonCount desc

Purpose: Monitor failed RDP login attempts.

  1. Detect RDP Connections During Off-Hours

Purpose: Identify RDP sessions initiated during unusual hours.

  1. Monitor for Suspicious RDP Session Creation

Purpose: Detect multiple RDP sessions created by the same user.

  1. Detect RDP Session Disconnections

Purpose: Monitor for frequent disconnections of RDP sessions.

  1. Monitor RDP Access to Administrative Shares

Purpose: Detect RDP sessions accessing administrative shares.

  1. Detect RDP Connections from Multiple Locations

Purpose: Identify users connecting via RDP from multiple locations.

  1. Monitor for RDP Session Hijacking

Purpose: Detect hijacking of active RDP sessions.

  1. Detect RDP Brute Force Attempts

Purpose: Identify brute force attempts targeting RDP.

  1. Monitor RDP Connection with Elevated Privileges

Purpose: Detect RDP sessions initiated with elevated privileges.

Last updated