RDP
EVENT 4624 TYPE 10
EVENT 1149
TSCON
DetectionBlue TeamSOCOctober 12, 2026•9 min read

Detecting RDP Lateral Movement and Session Hijacking

Most RDP in an enterprise should flow from a handful of jump hosts. Everything else is either a mistake or an intrusion.

Scroll

RDP is the most common interactive lateral movement path because it is allowed almost everywhere. It also produces some of the best-structured Windows telemetry: logon events, a pre-logon network authentication event and session lifecycle events. Detection comes from the source-to-destination pair, not from RDP itself.

Signals at a Glance

SignalWhereATT&CK
Type 10 (RemoteInteractive) logon from a workstation or server that is not an admin hostEvent 4624T1021.001
Network authentication succeeded with source address, before the logonTerminalServices-RemoteConnectionManager 1149T1021.001
Session logon, shell start and reconnectLocalSessionManager 21, 22, 25T1021.001
tscon.exe with /dest: run as SYSTEM to take over another sessionSysmon 1, Event 4688T1563.002
One source opening RDP to many hosts, or RDP through a port forward or tunnelZeek conn.log, firewallT1572

Source and Destination Pairs

Event 4624 type 10 on the destination carries the source address; Event 1149 in the TerminalServices-RemoteConnectionManager log records the user, domain and source address of the network authentication even when the logon later fails. Join those with a list of approved sources (jump hosts, PAWs) and alert on everything else:

index=wineventlog EventCode=4624 Logon_Type=10
| lookup rdp_approved_sources ip AS Source_Network_Address OUTPUT ip AS approved
| where isnull(approved)
| stats dc(ComputerName) AS dest_count values(ComputerName) AS dests
        earliest(_time) AS first latest(_time) AS last
        by Account_Name, Source_Network_Address
| eval severity=if(dest_count >= 3, "high", "medium")
| sort - dest_count
# tune/validate: rdp_approved_sources is a lookup you own; exclude 127.0.0.1 and ::1 as a separate
# hunt because a loopback source can indicate an RDP tunnel.

A loopback or the destination’s own address as the RDP source suggests a tunnel (SSH, chisel, ngrok-style) forwarding traffic. Treat it as a separate, high-confidence hunt.

tscon Session Hijacking

The built-in tscon.exe lets a SYSTEM-level process attach to another user’s session without that user’s password. Attackers obtain SYSTEM through a temporary service, then run tscon <id> /dest:<session>. Legitimate use is rare, so the rule is simple:

title: tscon Session Hijack
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    Image|endswith: '\tscon.exe'
    CommandLine|contains: '/dest:'
  system_user:
    User|contains:
      - 'AUTHORITY\SYSTEM'
      - 'AUTORITE NT\Système'
  condition: selection and system_user
level: high
# tune/validate: confirm your process-creation source populates the User field.
Vetted sources

Use the SigmaHQ RDP, tscon and RDP-tunnelling rules, Elastic and Splunk ESCU remote-desktop content and MITRE CAR analytics for RDP. Zeek ships an rdp.log that covers hosts without full Windows auditing, and Atomic Red Team includes RDP hijack tests. Baseline your own environment: helpdesk and server-administration teams legitimately RDP broadly.

Build Detections That Fire

Mjolnir Security helps blue teams turn threat intelligence into high-fidelity detections across endpoint, network, identity and cloud telemetry.

Detection EngineeringManaged Detection & ResponseThreat HuntingIncident ResponsePurple Teaming
  • Detection Engineering We build and tune detections mapped to ATT&CK from your own telemetry.
  • Threat Hunting as a Service Hypothesis-driven hunts for the behaviours on this page.
  • 24/7 Incident Response Containment when a detection fires. Call +1 833 403 5875.
Written by: Mjolnir Threat Research (MTAC)  |  Published: October 12, 2026  |  Last reviewed: October 12, 2026