Detecting Lateral Movement with Splunk
When to Use
- When hunting for adversary movement between compromised systems
- After detecting credential theft to trace subsequent lateral activity
- When investigating unusual authentication patterns across the network
- During incident response to scope the breadth of compromise
- When proactively hunting for TA0008 (Lateral Movement) techniques
Prerequisites
- Splunk Enterprise or Splunk Cloud with Windows event data ingested
- Windows Security Event Logs forwarded (4624, 4625, 4648, 4672, 4768, 4769)
- Sysmon deployed for process creation and network connection data
- Network flow data or firewall logs for SMB/RDP/WinRM correlation
- Active Directory user and group membership reference data
Workflow
-
Define Lateral Movement Scope: Identify which lateral movement techniques to hunt (RDP, SMB/Admin Shares, WinRM, PsExec, WMI, DCOM, SSH).
-
Query Authentication Events: Use SPL to search for Type 3 (Network) and Type 10 (RemoteInteractive) logons across the environment.
-
Build Authentication Graphs: Map source-to-destination authentication relationships to identify unusual connection patterns.
-
Detect First-Time Relationships: Identify new source-destination pairs that have not been seen in the historical baseline.
-
Correlate with Process Activity: Link authentication events to subsequent process creation on destination hosts.
-
Identify Anomalous Patterns: Flag lateral movement to sensitive servers, unusual hours, service account misuse, or rapid multi-host access.
-
Report and Contain: Document lateral movement path, affected systems, and coordinate containment response.
Key Concepts
| Concept |
Description |
| T1021 |
Remote Services (parent technique) |
| T1021.001 |
Remote Desktop Protocol (RDP) |
| T1021.002 |
SMB/Windows Admin Shares |
| T1021.003 |
Distributed COM (DCOM) |
| T1021.004 |
SSH |
| T1021.006 |
Windows Remote Management (WinRM) |
| T1570 |
Lateral Tool Transfer |
| T1047 |
Windows Management Instrumentation |
| T1569.002 |
Service Execution (PsExec) |
| Logon Type 3 |
Network logon (SMB, WinRM, mapped drives) |
| Logon Type 10 |
Remote Interactive (RDP) |
| Event ID 4624 |
Successful logon |
| Event ID 4648 |
Explicit credential logon (runas, PsExec) |
Tools & Systems
| Tool |
Purpose |
| Splunk Enterprise |
SIEM for log aggregation and SPL queries |
| Splunk Enterprise Security |
Threat detection and notable events |
| Windows Event Forwarding |
Centralize Windows logs |
| Sysmon |
Detailed process and network telemetry |
| BloodHound |
AD attack path analysis |
| PingCastle |
AD security assessment |
Common Scenarios
-
PsExec Lateral Movement: Adversary uses PsExec to execute commands on remote systems via SMB, generating Type 3 logon with ADMIN$ share access.
-
RDP Pivoting: Attacker RDPs to internal systems using stolen credentials, creating Type 10 logon events.
-
WMI Remote Execution: Adversary uses WMIC process call create to spawn processes on remote hosts.
-
WinRM PowerShell Remoting: Attacker uses Enter-PSSession or Invoke-Command to execute code on remote systems.
-
Pass-the-Hash via SMB: Compromised NTLM hashes used to authenticate to remote systems without knowing the plaintext password.
Output Format
Hunt ID: TH-LATMOV-[DATE]-[SEQ]
Movement Type: [RDP/SMB/WinRM/WMI/DCOM/PsExec]
Source Host: [Hostname/IP]
Destination Host: [Hostname/IP]
Account Used: [Username]
Logon Type: [3/10/other]
First Seen: [Timestamp]
Event Count: [Number of events]
Risk Level: [Critical/High/Medium/Low]
Lateral Movement Path: [A -> B -> C -> D]