LSASS Credential Dumping via Memory Access
LSASS (Local Security Authority Subsystem Service) process memory dumping remains the primary credential theft technique across ransomware operators and APT groups. Attackers access LSASS memory to extract NTLM hashes, Kerberos tickets, and cleartext credentials of all users who have recently authenticated to the system. Common tools: Mimikatz (sekurlsa::logonpasswords, lsadump::sam), ProcDump (procdump -ma lsass.exe), Task Manager dump, comsvcs.dll MiniDump via rundll32, and custom loaders. All documented ransomware groups (Akira, Black Basta, LockBit) use credential dumping to escalate from standard user to domain admin. Detection prioritises the MiniDump-via-rundll32 technique (stealthy, LOL-binary) and ProcDump which are most prevalent. NCSC UK's 2025 ransomware guidance specifically calls out LSASS dumping as a critical detection opportunity in the pre-ransomware kill chain.
What is THREAT-CredentialDump-LSASS LSASS Credential Dumping via Memory Access?
LSASS Credential Dumping via Memory Access (THREAT-CredentialDump-LSASS) maps to the Credential Access tactic — the adversary is trying to steal account names and passwords in MITRE ATT&CK.
This page provides production-ready detection logic for LSASS Credential Dumping via Memory Access, covering the data sources and telemetry it touches: Microsoft Defender for Endpoint (DeviceProcessEvents, DeviceEvents, DeviceFileEvents), Sysmon Event ID 1, 10, 11, Windows Security Event Log (Event ID 4656, 10). The queries below are rated critical severity at high confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
- Tactic
- Credential Access
// THREAT: LSASS Credential Dumping (T1003.001)
// Detects memory dumping of lsass.exe via multiple methods
// Alert 1: MiniDump via rundll32.exe + comsvcs.dll (LOL technique)
let LolDump = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName =~ "rundll32.exe"
| where ProcessCommandLine has_all ("comsvcs", "MiniDump") or
ProcessCommandLine has_all ("comsvcs", "#24") or // #24 is MiniDump ordinal
(ProcessCommandLine has "lsass" and ProcessCommandLine has "dump")
| extend DumpMethod = "rundll32_comsvcs_MiniDump"
| extend RiskScore = 95;
// Alert 2: ProcDump targeting lsass
let ProcDump = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("procdump.exe", "procdump64.exe")
| where ProcessCommandLine has "lsass" or ProcessCommandLine has "-ma"
| extend DumpMethod = "ProcDump_LSASS"
| extend RiskScore = 90;
// Alert 3: Direct process handle to lsass (non-whitelisted)
let DirectHandle = DeviceEvents
| where Timestamp > ago(24h)
| where ActionType =~ "ProcessPrimaryTokenModified" or ActionType =~ "CreateRemoteThreadApiCall"
| where FileName =~ "lsass.exe"
| where InitiatingProcessFileName !in~ (
"svchost.exe", "wininit.exe", "system", "lsm.exe",
"csrss.exe", "SecurityHealthService.exe"
)
| extend DumpMethod = "LSASS_DirectHandle"
| extend RiskScore = 85;
// Alert 4: Suspicious file creation of .dmp files
let DmpFile = DeviceFileEvents
| where Timestamp > ago(24h)
| where FileName endswith ".dmp" or FileName endswith ".mdmp"
| where FolderPath has_any ("Temp", "tmp", "ProgramData", "Users", "Public")
and FolderPath !has "WER" and FolderPath !has "Crash"
| where InitiatingProcessFileName !in~ (
"werfault.exe", "werFaultSecure.exe", "msdtc.exe", "drwtsn32.exe"
)
| extend DumpMethod = "DumpFile_SuspiciousLocation"
| extend RiskScore = 80;
union LolDump, ProcDump, DirectHandle, DmpFile
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
InitiatingProcessFileName, DumpMethod, RiskScore
| sort by RiskScore desc, Timestamp desc Four-vector LSASS dump detection: (1) rundll32.exe + comsvcs.dll MiniDump — the living-off-the-land LSASS dump technique that avoids dropping Mimikatz; (2) ProcDump targeting lsass.exe; (3) direct process handle or remote thread injection into lsass; (4) .dmp file creation in suspicious temp directories — the output artifact. RiskScore 80-95 based on technique specificity.
Data Sources
Required Tables
False Positives
- Windows Error Reporting (WER/werfault.exe) creating process dumps for crashed applications
- Security products (CrowdStrike, SentinelOne, Defender) accessing LSASS for legitimate monitoring
- Authorised penetration testers using Mimikatz or ProcDump during red team exercises
- System administrator creating diagnostic dumps for debugging authentication issues
- Dr. Watson (drwtsn32.exe) or other diagnostic utilities creating process dumps
Sigma rule & cross-platform mapping
The detection logic for LSASS Credential Dumping via Memory Access (THREAT-CredentialDump-LSASS) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
category: process_creation
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for THREAT-CredentialDump-LSASS
Testing Methodology
Validate this detection against 2 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1LSASS MiniDump via rundll32.exe + comsvcs.dll (LOL Technique)
Expected signal: Sysmon Event ID 1: rundll32.exe with comsvcs.dll and MiniDump in command line. Sysmon Event ID 11: lsass.dmp created in C:\Windows\Temp\. Windows Security Event ID 4656: handle to lsass.exe requested.
- Test 2LSASS Dump via ProcDump
Expected signal: Sysmon Event ID 1: procdump.exe with -ma and lsass in command line. Sysmon Event ID 10: procdump64.exe accessing lsass.exe process.
Response Playbook
Triage
- Identify the process and user account that accessed LSASS. Is this a known security tool (Defender, CrowdStrike, SentinelOne), Windows error reporting, or an unknown process? Unknown process = immediate escalation.
- For rundll32 + comsvcs MiniDump: this is an extremely specific LOL technique with almost no legitimate use case. Any detection of this command line targeting lsass.exe should be treated as an active credential dump.
- For ProcDump: check if this is a known diagnostic tool invocation by IT staff. Any ProcDump targeting lsass.exe outside of an authorised debug session is high confidence credential theft.
- For .dmp file creation in temp directories: identify the dump file path and hash it for threat intelligence lookup. Retrieve the dump file if it still exists for forensic analysis.
- Determine what credentials were on the system at the time of the dump: which admin accounts had active sessions? Those accounts should be treated as compromised.
Containment
- Isolate the affected host immediately via EDR isolation.
- Reset all credentials of accounts that had active sessions on the host at the time of the dump — NTLM hashes for all those accounts are now in attacker hands.
- Rotate domain admin passwords and invalidate Kerberos tickets (run klist purge on all domain controllers for the dumped accounts).
- Assess whether lateral movement has already occurred using the dumped credentials: check authentication logs for network logons from the affected host to other internal systems.
- Enable Protected Users security group membership for privileged accounts — members of Protected Users cannot be included in LSASS memory as cleartext credentials.
Evidence Collection
- The dump file itself (if still on disk): contains credential material for forensic analysis
- Sysmon Event ID 10: lsass.exe process access with calling process details
- Sysmon Event ID 1: command line of ProcDump or rundll32 MiniDump
- Windows Security Event ID 4656: handle to lsass.exe object
- Memory forensics from the affected host (if acquired before isolation)
Escalation Criteria
- ! rundll32.exe + comsvcs.dll + MiniDump + lsass — immediate incident declaration, no further analysis needed before response
- ! Domain admin or service account credential material was available in LSASS at time of dump
- ! LSASS dump followed by network authentication from compromised credentials to other hosts
- ! Multiple hosts with LSASS dump activity in short time window — indicates pre-ransomware credential harvest
Investigation Guide
Forensic Artifacts
- >
LSASS dump file (lsass.dmp, lsass.mdmp): contains NTLM hashes, Kerberos tickets - >
Sysmon Event ID 10: process access events to lsass.exe with PROCESS_VM_READ access right - >
Windows Security Event ID 4656/4663: handle requests to lsass.exe - >
Prefetch: PROCDUMP.EXE-*.pf or RUNDLL32.EXE-*.pf with execution timestamps - >
Memory forensics: extract credentials from LSASS using Volatility for incident evidence
Tuning Guidance
The highest-fidelity signal is rundll32.exe + comsvcs + MiniDump — create a zero-tolerance alert for this specific command pattern with no exceptions. For Sysmon Event ID 10 (process access to lsass), the exclusion list of security products is critical — without it, most EDRs will generate excessive false positives as they legitimately read LSASS memory. Build the exclusion list based on the security products deployed in your environment. For ProcDump, the most important tuning is to only alert when lsass.exe is named as a target — ProcDump has legitimate use for debugging other processes.
Hunting Queries
Hunt for any process accessing LSASS memory (Sysmon Event ID 10 — process access) excluding known security products. Even low-volume access outside the whitelist is suspicious and may indicate custom credential theft tooling that isn't ProcDump or Mimikatz.
DeviceEvents
| where Timestamp > ago(7d)
| where ActionType =~ "CreateRemoteThreadApiCall"
| where FileName =~ "lsass.exe"
| where InitiatingProcessFileName !in~ (
"svchost.exe", "wininit.exe", "lsm.exe", "csrss.exe",
"MsMpEng.exe", "SenseIR.exe", "CSFalconService.exe", "SentinelAgent.exe"
)
| project Timestamp, DeviceName, AccountName,
InitiatingProcessFileName, InitiatingProcessCommandLine index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=10
TargetImage="*lsass.exe"
NOT (SourceImage IN ("*svchost.exe","*wininit.exe","*lsm.exe","*csrss.exe",
"*MsMpEng.exe","*SenseIR.exe","*CSFalconService.exe","*SentinelAgent.exe"))
| stats count BY SourceImage, SourceCommandLine, host
| sort - count Atomic Red Team Tests
Dumps LSASS memory using the Windows-native comsvcs.dll MiniDump function via rundll32.exe — the living-off-the-land LSASS dump technique used by Akira, Black Basta, and LockBit to avoid dropping Mimikatz.
Command
powershell -Command "$lsassPid = (Get-Process lsass).Id; rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump $lsassPid C:\Windows\Temp\lsass.dmp full" Cleanup
Remove-Item C:\Windows\Temp\lsass.dmp -Force -ErrorAction SilentlyContinue Expected Telemetry
Sysmon Event ID 1: rundll32.exe with comsvcs.dll and MiniDump in command line. Sysmon Event ID 11: lsass.dmp created in C:\Windows\Temp\. Windows Security Event ID 4656: handle to lsass.exe requested.
Expected Detection
Alert fires on rundll32_comsvcs_MiniDump method with RiskScore=95. Immediate escalation required.
Uses Sysinternals ProcDump to create a full memory dump of the LSASS process. This is equivalent to what attackers do when they have ProcDump available on the system.
Command
procdump.exe -accepteula -ma lsass.exe C:\Windows\Temp\lsass_pd.dmp Cleanup
Remove-Item C:\Windows\Temp\lsass_pd.dmp -Force -ErrorAction SilentlyContinue Expected Telemetry
Sysmon Event ID 1: procdump.exe with -ma and lsass in command line. Sysmon Event ID 10: procdump64.exe accessing lsass.exe process.
Expected Detection
Alert fires on ProcDump_LSASS method with RiskScore=90.