lsass.exe
Local Security Authority Subsystem Service
Enumeration
Check if lsass.exe is ran as a protected process (PPL):
PS > Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name "RunAsPPL"A legit way to disable it via LSA Protected Process Opt-out:
mountvol X: /s
copy C:\LSAPPLConfig.efi X:\EFI\Microsoft\Boot\LSAPPLConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\LSAPPLConfig.efi"
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions %1
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
mountvol X: /d
shutdown -r -t 0MiniDumpWriteDump
Parsers
Custom Implementations
MiniDump Callbacks
Reusing Open Handles
pypykatz
SharpHandler
Scan if there are dupeable handles to use:
Write a gzip-compressed minidump to specified location:
Dump and parse with SharpKatz's logonpasswords:
HandleKatz
LetMeowIn
Silent Process Exit
Remove PPL Protection
Using Mimikatz driver:
Load SSP
SspirConnectRpc
MirrorDump
DuplicateDump
nanodump
Do it automatically with wmiexec.py magic (using this Python HTTP server with PUT support):
RToolZ
Bypass Saving on Disk Detection
NTFS Transactions
TransactedSharpMiniDump
CredBandit
Dumpy
Kernel Mode
Abusing Gigabyte Driver
CVE-2018-19320
Physical Memory
Convert VMware snapshot to a memory dump with vmss2core:
Crash Dumps
Get current CrashControl settings and set CrashDumpEnabled to 0x01 (default dump location is C:\Windows\MEMORY.dmp):
Crash the target machine, e. g. with NotMyFault:
This action causes DOS! Do at your own risk.
Parse LSASS with Mimikatz and WinDbg:
Or with Pypykatz plugin for Volatility 3:
Physmem2profit
Server:
Client:
Credential Guard
Check presence (ref):
Patch and Bypass
Patch the g_fParameter_UseLogonCredential and g_IsCredGuardEnabled variables by their hardcoded offsets within wdigest.dll loaded by LSASS:
Resolve g_fParameter_UseLogonCredential and g_IsCredGuardEnabled variable offsets dynamically at runtime:
Two PoCs above merged:
PassTheChallenge
CVE-2025-21299, CVE-2025-29809
Attacking vSphere
Tools
comsvcs.dll
Not touching the disk (using an SMB share):
One-liner:
ProcDump
Process Argument Spoofing
Mimikatz
In case of Windows 10 version 1803-1809 use Mimikatz v2.1.1, see Key import error
Parse MiniDump:
Grep for creds:
kiwi
pypykatz
Install:
Parse with jq one-liner:
Pipe to the script to parse with colors:
spraykatz
Dumpert
Dump lsass.exe using direct syscalls and removing user-land API hooks:
Using sRDI (shellcode Reflective DLL Injection) technique:
Compile Outflank-Dumpert-DLL.dll.
Convert it to position independent shellcode with ConvertToShellcode.py:
python3 ConvertToShellcode.py Outflank-Dumpert-DLL.dll.Use a shellcode loader of your choice to dump LSASS.
lsassy
MalSeclogon
Last updated