Detecting Pass The Hash Attacks
When to Use
- When proactively hunting for indicators of detecting pass the hash attacks in the environment
- After threat intelligence indicates active campaigns using these techniques
- During incident response to scope compromise related to these techniques
- When EDR or SIEM alerts trigger on related indicators
- During periodic security assessments and purple team exercises
Detection Gaps & Validation
- NTLM logging is the blind spot: PtH surfaces as Security EID 4624 Type 3 with
Authentication Package = NTLMandLogon Process = NtLmSspon a host/account that normally uses Kerberos. If NTLM auditing (Restrict NTLM: Audit NTLM authentication) and DC EID 4776 are not enabled, the hash use is invisible — confirm both are on. - Local-account hashes (RID 500) skip DC logs: lateral movement with a local admin hash only logs on the destination, not the DC. Hunt 4624 Type 3 where
TargetUserNameis a local account andLogonGuidis all-zero (no Kerberos TGT was ever requested). - LogonGuid = {00000000-0000-...} reliably separates NTLM 4624s from Kerberos; attackers cannot fake a TGT they never obtained.
- Evasions: over-pass-the-hash converts the hash to a Kerberos ticket so activity shows as 4768/4769 and defeats NTLM-only rules; Impacket sets
Logon Process = User32/seclogoonly on legacy paths. - Validate the rule fires: run Atomic Red Team T1550.002 (Mimikatz
sekurlsa::pthor Impacketpsexec.py -hashes) from a test host and confirm the 4624 Type 3 / 4776 events land in the SIEM within the search window. - Tune FPs: scheduled tasks, vuln scanners (Nessus/Qualys), and clustered apps generate legitimate NTLM Type 3 logons — baseline service accounts and exclude known source IPs, not account names.
Prerequisites
- EDR platform with process and network telemetry (CrowdStrike, MDE, SentinelOne)
- SIEM with relevant log data ingested (Splunk, Elastic, Sentinel)
- Sysmon deployed with comprehensive configuration
- Windows Security Event Log forwarding enabled
- Threat intelligence feeds for IOC correlation
Workflow
- Formulate Hypothesis: Define a testable hypothesis based on threat intelligence or ATT&CK gap analysis.
- Identify Data Sources: Determine which logs and telemetry are needed to validate or refute the hypothesis.
- Execute Queries: Run detection queries against SIEM and EDR platforms to collect relevant events.
- Analyze Results: Examine query results for anomalies, correlating across multiple data sources.
- Validate Findings: Distinguish true positives from false positives through contextual analysis.
- Correlate Activity: Link findings to broader attack chains and threat actor TTPs.
- Document and Report: Record findings, update detection rules, and recommend response actions.
Key Concepts
| Concept | Description |
|---|---|
| T1550.002 | Pass the Hash |
| T1550.003 | Pass the Ticket |
| T1078 | Valid Accounts |
Tools & Systems
| Tool | Purpose |
|---|---|
| CrowdStrike Falcon | EDR telemetry and threat detection |
| Microsoft Defender for Endpoint | Advanced hunting with KQL |
| Splunk Enterprise | SIEM log analysis with SPL queries |
| Elastic Security | Detection rules and investigation timeline |
| Sysmon | Detailed Windows event monitoring |
| Velociraptor | Endpoint artifact collection and hunting |
| Sigma Rules | Cross-platform detection rule format |
Common Scenarios
- Scenario 1: Mimikatz sekurlsa::pth with stolen NTLM hash
- Scenario 2: Impacket psexec.py remote execution with hash
- Scenario 3: CrackMapExec hash spraying across hosts
- Scenario 4: WMI lateral movement via pass-the-hash
Output Format
Hunt ID: TH-DETECT-[DATE]-[SEQ]
Technique: T1550.002
Host: [Hostname]
User: [Account context]
Evidence: [Log entries, process trees, network data]
Risk Level: [Critical/High/Medium/Low]
Confidence: [High/Medium/Low]
Recommended Action: [Containment, investigation, monitoring]