Why Is LSASS Targeted?
The Local Security Authority Subsystem Service (LSASS, lsass.exe) is the authentication backbone of Windows. By design of single sign-on (SSO), when an interactive session is opened, that user's credentials (NT hashes, Kerberos tickets, and in some cases plaintext passwords) are held in this process's memory.
Because Windows implements SSO at the operating system level, it retains credentials in memory: a user logs in once, and Windows then transparently re-presents those identities for every subsequent access to file shares, SharePoint, NTLM over HTTP, and other services. This convenience is simultaneously an attack surface.
Credential types in LSASS memory:
Credential type | Description | Use in attacks |
|---|---|---|
NT hash | Most commonly known form (LM is now obsolete) | Offline cracking or direct Pass-the-Hash |
Kerberos tickets | TGT/TGS tickets cached in memory | Pass-the-Ticket / Overpass-the-Hash |
Plaintext passwords | Recoverable from memory if WDigest, TsPkg, LiveSSP are enabled | Direct authentication |
Encryption keys | Kerberos AES/RC4 keys ( | Overpass-the-Hash, ticket derivation |
> Administrator privilege required. Accessing LSASS memory requires local administrator / SYSTEM privilege. This points to the most fundamental control: restrict administrator rights.
Critical point: Plaintext credentials exist in LSASS only when the session is interactive and the relevant SSP is enabled. Examples of interactive sessions: console/RDP logon, MMC via RunAs. A domain user's hash is only in memory when that user has interactively logged onto the system.
> In the modern attack chain, LSASS is a fallback. In 2024–2026 operations, most actors first try LSASS-free paths: browser/session token theft, Entra ID / OAuth abuse, DCSync, Kerberoasting, RBCD, Shadow Credentials. Attackers typically target LSASS after obtaining local admin and only when Credential Guard / RunAsPPL are not enabled. This is why defense cannot rely on LSASS monitoring alone.
Method 1 — Mimikatz and sekurlsa::logonpasswords
Mimikatz is an open-source Windows tool developed by Benjamin Delpy (@gentilkiwi) and Vincent Le Toux (@mysmartlogon). It can be used via Empire, PowerShell, as a standalone executable, and through memory forensics (Volatility).
Mimikatz consists of three components: mimikatz.exe (console), mimilib.dll, and mimidrv.sys (kernel driver, used for features such as PPL bypass).
Typical flow:
# Authorized test environment example — Mimikatz
mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords
mimikatz # sekurlsa::tickets /exportModule roles:
Module / command | Role |
|---|---|
|
|
|
|
|
|
| Kerberos encryption keys — a frequently used alternative after CredGuard/PPL. |
|
|
|
|
Mimikatz can operate offline: load a previously captured LSASS memory dump with sekurlsa::minidump and apply sekurlsa::logonpasswords to extract credentials without ever touching the target machine (architecture and major Windows version must match the dump).
Method 2 — LSASS Minidump Alternatives
Many attackers, knowing EDR will catch mimikatz.exe, prefer to first capture a memory dump (.dmp) of the LSASS process and then process it offline on another machine.
Tool | Signed / built-in | Notes |
|---|---|---|
Task Manager | Built-in | Right-click → Create dump file; requires admin. The tool itself is not "malicious"; the binary won't be caught, but the generated |
ProcDump | Sysinternals (signed) |
|
SharpDump | Malicious (C#) | Dumps by default to |
createdump.exe | .NET 5+ built-in | LOLBin; |
Mimikatz offline | — |
|
ProcDump example (authorized test environment):
# Authorized test environment example — Sysinternals ProcDump
procdump.exe -ma lsass.exe lsass_dump.dmp
# OpSec: PID can be used instead of process name; -accepteula flagMethod 3 — comsvcs.dll MiniDump (LOLBin, built-in)
The comsvcs.dll built into Windows can be abused to capture an LSASS dump without requiring additional tools. The MiniDump export (ordinal 24) is called via rundll32:
:: Find lsass PID
tasklist /fi "imagename eq lsass.exe"
:: Full memory dump via comsvcs.dll MiniDump
rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump <PID> C:\Temp\lsass.dmp fullThe dump file is transferred to the attacker's machine and parsed offline (mimikatz: sekurlsa::minidump lsass.dmp + sekurlsa::logonpasswords). This allows evasion of detection without running Mimikatz on the production host. The MITRE ATT&CK T1003.001 page lists this technique among its examples.
Prerequisite: Elevated session; in practice admin with SeDebugPrivilege enabled or SYSTEM privilege.
Obfuscation: Instead of MiniDump, #24, #+000024, or 65560 (decimal) can be used to avoid string matching.
Method 4 — Direct Syscall / Handle Duplication (nanodump, Dumpert-style)
Advanced tools (e.g., nanodump) attempt to bypass EDR user-mode hooks by using handle duplication (0x0040 PROCESS_DUP_HANDLE mask) and direct system calls rather than calling the MiniDumpWriteDump API directly. The dump can be written to disk in encrypted/fragmented form, or processed entirely in memory without ever touching disk.
nanodump and its variants are not a single "syscall tool"; they are a modular toolset:
Technique | Mechanism | Detection hint |
|---|---|---|
| Clones an existing LSASS handle ( | EID 10 |
| Clone process via | Process creation + dump |
| Seclogon service abuse | Seclogon + handle leak |
| WerFault triggering (overlaps with Method 5) | Registry + WerFault |
Fileless / encrypted dump | In-memory processing, invalid signature | EID 10; file anomaly |
Method 5 — Silent Process Exit / WerFault
WerFault.exe creates process dumps under Windows Error Reporting. The Silent Process Exit mechanism can be abused to trigger an LSASS dump. LSASS does not crash; the activity may appear to be legitimate WER.
Mechanism (summary): SilentProcessExit\lsass.exe configuration in the registry → RtlReportSilentProcessExit / WER service → WerFault.exe produces the dump.
This appears in Atomic Red Team tests. Success is not guaranteed in RunAsPPL environments (the WER service has limited access to PPL LSASS).
Alternative LOLBin: rdrleakdiag.exe:
rdrleakdiag.exe /p <lsass_PID> /o C:\Windows\Temp /fullmemdmp /wait 1WDigest and the Plaintext Password Problem
WDigest is a legacy SSO provider. Windows 8.1+ no longer stores WDigest and TsPkg credentials by default. However, an attacker can re-enable WDigest plaintext credentials by making a registry change:
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest
→ UseLogonCredential = 1This value is absent by default on Win 8.1+ systems; therefore, an unexpected addition or modification is an excellent signal.
Use of Credential Types
Technique | MITRE | Summary |
|---|---|---|
Pass-the-Hash | T1550.002 | NTLM authentication with NT hash; password unknown. |
Pass-the-Ticket | T1550.003 | TGT/TGS from memory; |
Overpass-the-Hash | T1550.002 sub | Kerberos ticket from NT hash; lateral movement in NTLM-restricted environments. |
Credentials extracted from LSASS are either cracked offline (John the Ripper, hashcat) or used directly. Pass-the-Hash (PtH) performs NTLM authentication using a stolen NT hash — without ever knowing the plaintext password — rendering even the longest and most complex password ineffective. PtH is limited to NTLM, but NTLM is almost always present.
> Skeleton Key: Skeleton Key (misc::skeleton) manipulates the LSASS process in memory on a Domain Controller to allow authentication with an additional "master password". Existing user passwords continue to work. The technique is lost after a reboot and requires Domain Admin-level access. While it remains significant from an educational and research standpoint today, it is reported less frequently in real attacks compared to methods such as DCSync.
Beware of Attacks That Never Touch LSASS
Mature attackers shift to methods that never touch LSASS:
Path | MITRE | Notes |
|---|---|---|
DCSync | T1003.006 | MS-DRSR; replication rights; not LSASS |
SAM / NTDS.DIT | T1003.002 / offline | Registry/volume shadow/backup |
Internal Monologue | T1557 variant | NTLMv1 downgrade; registry EID 12/13/14 |
Token / browser theft | T1528, T1539 | Priority in cloud/hybrid chains |
Kerberoasting / delegation | T1558 | Before or parallel to LSASS |
SAM/NTDS.DIT dumping, DCSync (MS-DRSR replication — replication GUIDs in EID 4662: DS-Replication-Get-Changes / -All), and Internal Monologue (downgrading NTLM to NTLMv1 and generating a response via SSP; registry manipulation monitored with EID 12/13/14). This is why LSASS monitoring is necessary but not sufficient.
Attack → Detection → Mitigation Matrix
Technique (MITRE) | Prerequisite | Primary detection | Primary mitigation |
|---|---|---|---|
Mimikatz | Local administrator / SYSTEM | Sysmon EID 10 (LSASS access), suspicious process access | Credential Guard, RunAsPPL |
ProcDump / Task Manager minidump (T1003.001) | Local administrator | EID 1 (procdump.exe or similar), EID 10 (LSASS access), EID 11 (.dmp creation) | RunAsPPL, EDR |
SharpDump (T1003.001) | Local administrator | EID 10 (LSASS access), EID 11 (dump file) | RunAsPPL, Credential Guard |
| Local administrator | EID 1 ( | RunAsPPL, ASR rules, EDR |
Dumpert (direct syscall) (T1003.001) | Local administrator | EID 10 (LSASS access), dump artifacts; syscall anomalies in some EDRs | RunAsPPL, Credential Guard, EDR |
DLL injection (legacy methods) (T1055) | Local administrator | EID 7 (DLL load), EID 8 (CreateRemoteThread), EID 10 | RunAsPPL |
| DC / local administrator | SSP records, LSASS module changes, | RunAsPPL, SSP auditing |
Skeleton Key (T1556.001) | Domain Admin / DC administrator | Changes in LSASS memory, unusual authentication behaviors | Credential Guard, RunAsPPL, DC integrity monitoring |
WDigest re-enablement (related to T1552.001) | Local administrator | EID 13 (Registry): | Keep WDigest disabled, registry auditing |
Pass-the-Hash (T1550.002) | NT hash obtained | EID 4624, NTLM usage, anomaly indicators such as Logon Type 9 | Protected Users, NTLM restriction, Remote Credential Guard |
DCSync (T1003.006) | Replication rights | EID 4662 (replication permissions), MS-DRSR traffic from non-DC | Restrict and monitor replication rights |