OS Credential Dumping: LSASS Memory
Process Read ProcessSegment — Read credential material from the memory segment of the Local Security Authority Subsystem Service (LSASS) process.
Detect
process.file.name = lsass.exe is necessary and sufficient to scope detection to this technique. Any unprivileged process opening LSASS with PROCESS_VM_READ access is STP 5 regardless of tool. Rules targeting the tool by name or hash are STP 1–2.
Detect PROCESS_VM_READ handle opens on lsass.exe from non-system processes using kernel telemetry. This is technique-defining and tool-agnostic. PPL on LSASS generates kernel events on bypass attempts.
Mitigate
Enabling LSASS as a Protected Process Light (PPL) prevents arbitrary process memory reads at the kernel level, regardless of tool or technique variant.
Enable Credential Guard and LSASS PPL via Windows Defender Credential Guard or direct LSA protection registry settings. Blocking specific tools (Mimikatz signatures) is STP 1–2.
Respond
The attacker received a copy — the original data remains on the victim system. Assess what was read and whether it includes credentials or PII. Notify affected parties as required.
actor.processactor.userd3f:ProcessTerminationd3f:AccountLockingd3f:NetworkIsolationOCSF event model▼
Event class: Process Activity (1007)
· activity_id: Open (PROCESS_VM_READ)
%%{init: {"theme": "dark", "themeVariables": {"edgeLabelBackground": "#18181b", "lineColor": "#52525b"}}}%%
graph TD
classDef attacker fill:#7c2d12,stroke:#ea580c,color:#fed7aa
classDef victim fill:#1e3a5f,stroke:#3b82f6,color:#bfdbfe
classDef postSuccess fill:#78350f,stroke:#d97706,color:#fde68a
classDef tainted fill:#18181b,stroke:#52525b,color:#a1a1aa
EVENT(["Process Activity\n· Open (PROCESS_VM_READ)"])
actor_process["Dump Tool\nactor.process\nd3f:Process"]:::attacker
actor_user["Running Account\nactor.user\nd3f:UserAccount"]:::attacker
lsass_process["LSASS\nprocess\nd3f:Process"]:::victim
device["Host\ndevice\nd3f:Host\n⚠ tainted"]:::tainted
EVENT --> actor_process
actor_process --> actor_user
EVENT --> lsass_process
EVENT --> device
actor_process -.->|"reads memory of"| lsass_processactor.process·d3f:Processactor.process.file.path | attacker_controlled | Tool binary path — attacker-chosen Execution Medium, trivially changed |
actor.process.file.hash | attacker_controlled | Tool hash — changes with every recompile |
actor.process.file.name | attacker_controlled | Tool filename — trivially renamed |
d3f:ProcessTerminationactor.user·d3f:UserAccountd3f:AccountLockingprocess·d3f:Processprocess.file.name | invariant | = lsass.exe |
process.pid | variable | LSASS process identifier — victim-side, varies per boot |
device·d3f:Hostd3f:NetworkIsolationDefinitional Sigma rule▼
Broad by design — defines the technique, not an operational alert. Gate on variable or attacker-controlled field conditions to narrow for production use.
title: OS Credential Dumping: LSASS Memory (T1003.001)
status: experimental
description: >
Definitional rule — broad by design. Defines the technique independent of
medium, tool, or attacker-controlled variables. Narrow with variable and
attacker-controlled field conditions for operational use.
logsource:
product: ocsf
category: Process Activity (1007)
detection:
selection:
activity_id: 'Open (PROCESS_VM_READ)'
process.file.name: 'lsass.exe'
condition: selectionExecution Medium–scoped detectionSTP 3 ceiling▼
Sample rules — not canonical definitions. Each constrains detection to a specific Execution Medium and has a hard STP 3 ceiling. The attacker switches Execution Medium; the rule misses. Compare with the definitional rule above.
Gating on actor.process.file.name = powershell.exe has a hard STP 3 ceiling — evaded immediately by switching to a compiled binary, cmd.exe with direct API calls, or any other Execution Medium. Technique is unchanged.
process.access_mask → extension proposal ↗
title: LSASS Memory — PowerShell medium (sample)
status: experimental
description: >
Sample — STP 3 ceiling. Detects a PowerShell process opening lsass.exe
with read-memory access rights. Evaded by switching to any other Execution Medium.
logsource:
product: ocsf
category: Process Activity (1007)
detection:
selection:
activity_id: 'Open'
process.access_mask: 'PROCESS_VM_READ' # NOTE: not OCSF native; implementation-specific access rights field
process.file.name: 'lsass.exe'
actor.process.file.name: 'powershell.exe'
condition: selectionSeen in the wild1report▼
PowerShower creates a VSS shadow copy of the C: drive and copies the SAM and SECURITY registry hives to disk — OS credential dumping via volume shadow, parallel to LSASS memory reads.