FileRisk: Do not touch
lsass.exe C:\Windows\System32\lsass.exe
lsass.exe: the Local Security Authority Subsystem Service, which authenticates users, enforces local policy and creates access tokens. A sensitive target.
What it’s for
lsass.exe is the Local Security Authority. It checks credentials at sign-in, enforces the local security policy, creates access tokens and writes to the Security log (events 4624 and 4625 included). On a domain controller it also hosts the directory services. Never terminate it: Windows shuts down or restarts right away.
What it contains
- An executable signed by Microsoft in
C:\Windows\System32. - A single instance, started by
wininit.exein session 0. - In memory, authentication secrets: tokens, tickets, sometimes credentials. That is what makes it the favorite target of credential theft tools.
Risks and best practices
- Turn on LSA protection (
RunAsPPL) and, where hardware allows, Credential Guard. Test the compatibility of the modules loaded bylsass.exefirst: in protected mode an unsigned module is refused (events 3033 and 3063 in theMicrosoft-Windows-CodeIntegrity/Operationallog). - Only dump
lsass.exememory for an authorized diagnostic: the file holds credentials. The same operation outside that frame is a sign of attack, so look for it in your EDR alerts. - A second
lsass.exeis suspect: there is only one, inSystem32, whose parent iswininit.exe. Watch for look-alike names too (lsaas.exe,isass.exe).
Useful commands
# Inspect the process (path, session, parent): run as administrator to see the pathGet-CimInstance Win32_Process -Filter "Name='lsass.exe'" | Select-Object ProcessId, ParentProcessId, SessionId, ExecutablePath
# Check the file's digital signatureGet-AuthenticodeSignature "$env:windir\System32\lsass.exe" | Select-Object Status, @{n="Signer";e={$_.SignerCertificate.Subject}}
# Check whether LSA runs as a protected process (non-zero value = enabled)Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name RunAsPPL -ErrorAction SilentlyContinue
# See Credential Guard / VBS stateGet-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | Select-Object SecurityServicesRunning, VirtualizationBasedSecurityStatus