Home
VAPT Web Application PentestAPI PentestMobile App PentestInfrastructure PentestAI & LLM PentestOT / ICS PentestIoT PentestPenetration TestingAll VAPT services
Red Team Red Team EngagementAdversary SimulationAssumed BreachPurple TeamingSocial Engineering
Sectors Banking & Financial ServicesGovernment & Public SectorHealthcareOil, Gas & EnergyAviation & LogisticsRetail & E-commerceManufacturing & IndustryTelecommunicationsTechnology & SaaS
CompanyResourcesBlogFree Consultation

LSASS memory dumping: from local admin to domain credentials

LSASS holds credential material for every logged-on user. With local admin rights and a living-off-the-land technique, that memory becomes the key to the rest of the domain.

Joel Aviad OssiJoel Aviad OssiRed Team Lead, RedTeam Security
8 min read
A left-to-right row of isometric objects: a workstation, a server with glowing memory panels, and a domain controller tower, connected by red flow lines showing credential data moving between them.

Key takeaways

  • LSASS holds NTLM hashes, Kerberos tickets and sometimes cleartext credentials for every user logged on to a Windows host.
  • The comsvcs.dll MiniDump technique uses a built-in Windows DLL to snapshot LSASS without deploying a third-party tool, reducing the EDR detection surface.
  • Pass-the-hash lets an attacker authenticate to remote hosts using a recovered NTLM hash, with no password cracking required.
  • LSA Protection and Windows Defender Credential Guard are the two Windows controls that prevent an attacker with local admin rights from reading LSASS memory.
  • An assumed-breach assessment that demonstrates LSASS dumping exposes the gap between a control that is configured and one that has been tested.

What credential material LSASS stores

The Local Security Authority Subsystem Service (lsass.exe) is the Windows process responsible for user authentication, policy enforcement and security token generation. When a user authenticates to a Windows host, the operating system stores credential material in the LSASS process memory so that Kerberos ticket renewal, NTLM challenge responses and network resource access can proceed without repeated prompts. The process runs continuously and holds live sessions for every authenticated user on the machine, including service accounts running background tasks.

The material available from a dump depends on the Windows version and the authentication protocols configured. On a default Windows 10 or Windows Server 2019 installation with no additional hardening, a dump yields at minimum the NTLM hash for each active session and any Kerberos tickets held for that session. Older domain configurations or environments where WDigest authentication has not been disabled in the registry may still cache cleartext passwords alongside the hash. The table below summarises what each credential type looks like and how it is reused without any cracking step.

A single memory snapshot captures the credentials of every account currently logged on to the host. A domain administrator who last connected over RDP, a service account running a scheduled task and a standard user at the console all leave their material in the same process. That concentration makes LSASS the highest-value target for credential harvesting in a Windows domain.

Credential types recoverable from an LSASS memory dump and the authentication path each enables.
Credential typeFormat in memoryHow it is reused without cracking
NTLM hash32-character MD4 hex digestPass-the-hash over SMB, WMI or RDP
Kerberos TGTEncrypted ticket and session keyPass-the-ticket to impersonate the user across services
Kerberos service ticketTicket for a specific service principal nameDirect access to that service without re-authentication
MS-CACHE2 (cached domain credentials)Salted PBKDF2-SHA1 hashOffline cracking when the domain controller is unreachable
WDigest credentialsCleartext password if the WDigest registry key is setImmediate use with no processing required
DPAPI master keyPer-user RSA-wrapped AES keyDecrypts stored browser passwords and user certificates

The assumed-breach starting point: one host, local admin

An assumed-breach engagement begins from a position agreed with the client before the exercise starts. The most common starting point is local administrator rights on one endpoint inside the Active Directory domain, with no other access granted. The engagement answers a specific question: given one workstation and local administrator credentials, what can an attacker reach across the domain?

LSASS credential dumping is typically the first technique applied from that foothold because it requires nothing beyond the rights already granted. There is no privilege escalation to perform, no service to exploit and no application control to bypass. Local administrator rights on a Windows host are sufficient to open the LSASS process with the access mask needed for a full memory snapshot. The technique works on the first host in scope, and the credentials recovered determine where the engagement moves next.

What the chain produces after recovery depends on whose credentials were present on the host at the time of the dump. A domain user hash opens any host where that account holds local administrator rights. A domain administrator hash or ticket is a direct path to the domain controller and every machine in the domain. If the recovered account also holds cloud rights, the next step may reach a cloud tenant rather than another on-premises host, as shown in the cloud token theft in an assumed-breach exercise walkthrough in this cluster.

Where LSASS credential dumping sits in the Unified Kill Chain, from the granted foothold in the In phase to lateral movement and domain access in the Through phase.

Snapshotting LSASS with built-in Windows tools

Running Mimikatz directly against LSASS on a monitored host is a reliable way to trigger an EDR alert. Every major endpoint protection product has recognised Mimikatz by binary hash, in-memory string patterns and behavioral signature for years. The more durable approach uses only components already present on every Windows installation.

comsvcs.dll is a Windows system DLL that ships with every version since Windows XP. Task Manager uses it internally when a user selects Create Dump File on a process. The same MiniDumpWriteDump function is accessible from the command line through rundll32, which is a signed Windows binary present on every installation. The dump it produces is a standard Windows minidump file, identical in format to what a forensics tool would create, and can be transferred off the machine for parsing on a host with no EDR agent.

The command requires the LSASS process ID, which is available without any additional tooling. PowerShell and the built-in tasklist both return it. Because the dump file is a plain file on disk, it can be exfiltrated over any channel available to a local administrator, and the credential extraction step then takes place entirely off the target.

Retrieve the LSASS process ID
# Get the LSASS PID from PowerShell
Get-Process -Name lsass | Select-Object Id

# Output:
#  Id
#  --
# 712
Dump LSASS memory via comsvcs.dll
# Run from an elevated prompt with local administrator rights
C:\> rundll32 C:\Windows\System32\comsvcs.dll MiniDump 712 C:\Windows\Temp\lsass.dmp full

# lsass.dmp is a standard Windows minidump.
# Copy it off the machine for offline parsing.
Attack chain: attacker invokes MiniDump through comsvcs.dll. LSASS holds credentials in readable memory because no LSA Protection is configured, the chain's vulnerability. A full memory snapshot is returned. The attacker parses it offline to recover NTLM hashes and Kerberos tickets, the flag.
How a single living-off-the-land Windows command converts local administrator rights into network credentials that authenticate without a password.

Parsing the dump: extracting hashes and tickets

The dump file is a standard Windows minidump containing the full memory of the LSASS process at the time of capture. It can be transferred to any host for analysis: the attacker's own machine, a virtual machine or a Linux system running pypykatz. Parsing requires no access to the original host and no connection to the domain.

pypykatz is a Python implementation of the same credential parsing logic that Mimikatz performs against live memory. It reads the minidump structures, locates the LSA session records and extracts the credential material stored for each session. The output lists each logged-on user with their NTLM hash and any Kerberos material. The technique is documented under MITRE ATT&CK T1003.001, which covers OS Credential Dumping via LSASS Memory, and the weakness it exploits is classified as CWE-522: insufficiently protected credentials.

The recovered material in the output is ready for direct use. The NTLM hash requires no further processing for pass-the-hash, and a Kerberos TGT can be injected into a session for pass-the-ticket. The only limit on what can be recovered is the set of accounts that were actively logged on to the host at the moment the snapshot was taken.

Parse the LSASS dump with pypykatz
$ pypykatz lsa minidump lsass.dmp

INFO:pypykatz:Parsing file lsass.dmp
== LogonSession ==
authentication_id 123456 (1e240)
session_id 1
username jdoe
domainname CORP
logon_server DC01
logon_time 2026-10-07T08:12:44.123456+00:00
sid S-1-5-21-1234567890-1234567890-1234567890-1104

== MSV ==
[0] Primary
* Username: jdoe
* Domain:   CORP
* LMHash:   aad3b435b51404eeaad3b435b51404ee
* NTHash:   e19ccf75ee54e06b06a5907af13cef42

== Kerberos ==
* Username: jdoe
* Domain:   CORP.LOCAL
* Password: None

Authenticating across the network with recovered hashes

NTLM authentication does not verify the plaintext password. The protocol asks the client to prove knowledge of the password by computing an HMAC-MD5 response to a server-issued challenge, using the NTLM hash as the key. Possession of the hash is sufficient to complete that exchange. A recovered NTLM hash from an LSASS dump authenticates to any host that accepts NTLM without the attacker ever knowing what the original password was.

The impacket suite provides psexec.py, wmiexec.py and smbclient.py, each accepting an NTLM hash via the -hashes flag in the format LM:NT. A domain administrator hash recovered from one workstation becomes a shell on every host in the domain where that account holds rights. For environments that enforce Kerberos, the same NTLM hash can be used for Overpass-the-Hash: the client sends an AS-REQ to the domain controller using the hash to derive the session key, receiving a Kerberos TGT in return that behaves normally from that point.

The detection signals for these moves are consistent and logged by default on Windows domain controllers. Event ID 4624 with LogonType 3 marks NTLM lateral movement, and Event ID 4768 with RC4 encryption marks an Overpass-the-Hash request. The full set of signals to configure and correlate is covered in what your SIEM should catch during an assumed-breach exercise.

Pass-the-hash with impacket-psexec
# LM field uses the empty LM hash; NT field is the hash from the dump
$ impacket-psexec -hashes :e19ccf75ee54e06b06a5907af13cef42 CORP/[email protected]

Impacket - v0.11.0

[*] Requesting shares on 192.168.1.20.....
[*] Found writable share ADMIN$
[*] Uploading file xTrMiHnD.exe
[*] Opening SVCManager on 192.168.1.20.....
[*] Creating service Ewmu on 192.168.1.20.....
[*] Starting service Ewmu.....
[!] Press help for extra shell commands
Microsoft Windows [Version 10.0.19041.1415]
(c) Microsoft Corporation. All rights reserved.

C:\Windows\system32> whoami
corp\jdoe

Controls that prevent an LSASS dump from succeeding

LSA Protection, enabled by setting RunAsPPL to 1 under HKLM\SYSTEM\CurrentControlSet\Control\Lsa, marks the LSASS process as a Protected Process Light. Opening a PPL process with an access mask that includes PROCESS_VM_READ requires the calling process to hold a valid Windows PPL signature. rundll32 does not carry that signature, and neither do most post-exploitation frameworks. A UEFI-locked variant stores the setting in firmware, preventing a local administrator from removing the registry key before the dump attempt. Microsoft's documentation on configuring additional LSA protection covers both the registry-only and the firmware-locked variants.

Windows Defender Credential Guard moves LSASS credential operations into an isolated virtual machine backed by the Windows hypervisor. NTLM hashes and Kerberos ticket encryption keys are held in the Isolated User Mode process, which no user-mode code can access regardless of the caller's rights. A dump of the standard LSASS process on a Credential Guard-enabled host returns session records with empty credential fields: usernames and SIDs are present but no NTLM hash or Kerberos key material appears. The scope of an infrastructure penetration test should verify both features explicitly, because neither is enabled by default and both are absent in a significant proportion of Active Directory environments that have not been hardened after initial deployment.

Under NIST SP 800-63B, a stored authenticator secret must be protected against extraction. An NTLM hash is that secret: it functions as a direct authenticator and its recovery through an LSASS dump is a full credential compromise, not merely a password disclosure. The response is not a password reset alone. Every account whose session was active on the host at the time of the dump must be treated as fully compromised and its sessions invalidated. A purple teaming exercise validates whether the detection rule added after remediation fires correctly on a repeat dump attempt.

LSASS credential dumping in UAE Active Directory environments

Most enterprise networks in Dubai and Abu Dhabi run on Windows Active Directory domains. When those networks are assessed under an assumed-breach or red team engagement, LSASS credential dumping is among the first techniques applied once a foothold is granted. Banks and financial institutions regulated by the Central Bank of the UAE (CBUAE) operate under the CBUAE Cyber Risk Framework, which sets requirements for privileged access controls and credential management. A successful LSASS dump in that environment is direct evidence of a gap in those controls: a finding that names the missing protection rather than describing a generic credential-theft risk.

In Abu Dhabi, the ADHICS standard under the Department of Health requires identity and access management controls that include protecting credential stores for healthcare providers and their supply chains. Organisations in Dubai operating under DESC guidance face equivalent requirements when supplying services to Dubai government entities. An assumed-breach assessment that demonstrates a full LSASS dump followed by successful pass-the-hash lateral movement across either environment produces a clear finding with a testable remediation: RunAsPPL and Credential Guard are both verifiable in a follow-on retest. A purple teaming exercise run after remediation confirms whether the detection rule added after the first assessment fires correctly on a second attempt, closing the finding on evidence rather than on configuration alone.

Frequently asked questions

What is LSASS credential dumping?

LSASS credential dumping is the technique of reading the memory of the Windows Local Security Authority Subsystem Service process to extract credential material held there for active user sessions. The material includes NTLM hashes, Kerberos tickets and, in some configurations, cleartext passwords. An attacker with local administrator rights on a Windows host can perform this without any additional privilege escalation.

What types of credentials can be extracted from LSASS memory?

An LSASS dump can yield NTLM hashes for each logged-on user, Kerberos Ticket Granting Tickets and service tickets, MS-CACHE2 hashes for cached domain credentials, DPAPI master keys and, if WDigest authentication is enabled in the registry, cleartext passwords. The exact material depends on the Windows version, the authentication protocols in use and which accounts are currently logged on to the host.

How does LSASS credential dumping differ from password cracking?

Password cracking converts a stored hash into its original plaintext by computing and comparing candidate hashes. LSASS credential dumping recovers the hash itself and uses it directly for authentication, without ever determining what the plaintext is. Pass-the-hash works because NTLM authentication verifies the hash through a challenge-response exchange, so the attacker needs no cracking step and is unaffected by password length or complexity.

What is pass-the-hash and why does it not require a password?

Pass-the-hash is an authentication technique that supplies a recovered NTLM hash directly to a Windows authentication library instead of computing the hash from a typed password. The NTLM protocol authenticates by having the client prove knowledge of the hash through a challenge-response exchange. Possessing the hash is mathematically equivalent to knowing the password for the purpose of that exchange, so the attacker authenticates without the plaintext.

What is LSA Protection and does it stop LSASS credential dumping?

LSA Protection marks the LSASS process as a Protected Process Light, which requires any process opening it with a memory-read access mask to carry a valid Windows PPL signature. Living-off-the-land tools like rundll32 and most post-exploitation frameworks do not carry that signature and are refused access. The UEFI-locked variant stores the setting in firmware, preventing a local administrator from removing the registry key before attempting the dump.

How does Windows Defender Credential Guard differ from LSA Protection?

LSA Protection restricts which processes can open LSASS with sufficient access rights. Credential Guard takes the credential material out of the LSASS process entirely by moving the sensitive operations into a hypervisor-backed isolated environment. Even if an attacker bypasses PPL restrictions and reads the LSASS process memory, the NTLM hashes and Kerberos keys are absent: they are held in a virtual machine that user-mode code cannot access.

What living-off-the-land techniques can dump LSASS without deploying a third-party binary?

The most common is the comsvcs.dll MiniDump technique, which calls MiniDumpWriteDump via rundll32 using the LSASS process ID. Task Manager performs the same operation through its right-click Create Dump File menu. Both produce a standard Windows minidump file that can be parsed offline. Procdump from the Sysinternals suite is a Microsoft-signed binary and is sometimes treated as trusted by detection policies, making it a common alternative.

What Windows event IDs indicate that LSASS memory has been accessed?

Sysmon Event ID 10 logs process access events and records the access mask used when a process opens LSASS. Access masks of 0x1010 or 0x1410 are the values associated with a credential dump. Windows Security Event ID 4656 logs LSASS process handle opens when object access auditing is enabled. These events are the primary detection signals for this technique and should be forwarded to a SIEM for correlation.

How does LSASS credential dumping fit into an assumed-breach assessment?

In an assumed-breach assessment, the team starts with local administrator rights on one host rather than working through initial access. LSASS dumping is typically the first credential access technique applied from that position because it requires no additional rights beyond the granted foothold. The credentials recovered determine whether the engagement can move laterally within the domain, reach a domain controller or access cloud services connected to the same identity.

Which MITRE ATT&CK technique covers LSASS credential dumping?

LSASS memory dumping is documented under MITRE ATT&CK technique T1003.001, OS Credential Dumping: LSASS Memory. The parent technique T1003 covers OS credential dumping more broadly, including techniques that target the Security Account Manager database, the NTDS.dit file and other credential stores. T1003.001 specifically addresses the LSASS process as the target for memory-based credential extraction.

The engagements this applies to

Joel Aviad Ossi, Red Team Lead at RedTeam Security
Joel Aviad OssiRed Team Lead, RedTeam Security

Joel Aviad Ossi is Red Team Lead at RedTeam Security, the Dubai-licensed trading brand of WebSec FZCO. He scopes and runs objective-based engagements across the UAE.

Let's talk about your security

Tell us the objective you want tested. We will come back with a scope, a timeline and a quote, under NDA from the first conversation.

Email [email protected]
IFZA Business Park, Building A2
Nadd Hessa, Dubai Silicon Oasis
Dubai, United Arab Emirates