Lateral Movement (TA0008)
Sub-technique: T1021.001 - Remote Desktop Protocol (RDP)
Objective: Detect lateral movement using RDP.
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 descPurpose: Detect RDP connections from unknown IP addresses.
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 descPurpose: Monitor failed RDP login attempts.
Detect RDP Connections During Off-Hours
Purpose: Identify RDP sessions initiated during unusual hours.
Monitor for Suspicious RDP Session Creation
Purpose: Detect multiple RDP sessions created by the same user.
Detect RDP Session Disconnections
Purpose: Monitor for frequent disconnections of RDP sessions.
Monitor RDP Access to Administrative Shares
Purpose: Detect RDP sessions accessing administrative shares.
Detect RDP Connections from Multiple Locations
Purpose: Identify users connecting via RDP from multiple locations.
Monitor for RDP Session Hijacking
Purpose: Detect hijacking of active RDP sessions.
Detect RDP Brute Force Attempts
Purpose: Identify brute force attempts targeting RDP.
Monitor RDP Connection with Elevated Privileges
Purpose: Detect RDP sessions initiated with elevated privileges.
Last updated