Skip to content

LSA Packages

DLLs the LSA loads as authentication, security or notification packages.

Use it to find an extra DLL loaded into LSA, such as a password filter that sees passwords as they are set.

  • SYSTEM
  • Persistence

What It Is

The Local Security Authority, or LSA, is the Windows component that handles signing in and security. It loads DLLs listed under the Control\Lsa key in HKLM SYSTEM as authentication, security or notification packages, using configuration in the registry. Authentication packages such as MSV1_0 check sign-in data, and the Security Packages value lists security support providers. A Notification Packages value lists password filter DLLs that the LSA calls when a password changes.

What It Proves

A DLL named in Authentication Packages, Security Packages or Notification Packages is loaded into the LSA process, which runs as SYSTEM and handles credentials. A password filter in Notification Packages sees passwords in clear as they are set.

What It Does Not Prove

These values hold genuine Windows packages, so you are looking for an extra or odd DLL. A change usually needs a reboot to take effect.

Where It Lives

LSA Packages lives in the SYSTEM hive, which holds settings for the whole machine. Offline Hive shows the path inside the hive file, as Registry Explorer opens it, and Live System shows the same key as regedit shows it on a running machine. The line under the path is where the hive file sits on disk.

SYSTEM\ControlSet001\Control\Lsa
Hive file: C:\Windows\System32\config\SYSTEM

What It Looks Like

These are three values from this key on ws-042, the fictional machine the wiki follows, decoded into plain English. Each row shows the value as Windows stores it, its name, type and data, then what it tells you.

Values in LSA Packages, each with what it tells you
Registry ValueWhat It Tells You

Notification Packages

REG_MULTI_SZscecli

Notification Packages holds only scecli, the default. Any added name could be a password filter, so find its DLL in System32 and hash it.

Security Packages

REG_MULTI_SZ""

Security Packages holds only an empty string, the Windows 11 default, so no extra provider is listed. A name added here would load into LSA at the next boot.

Authentication Packages

REG_MULTI_SZmsv1_0

Authentication Packages is the default msv1_0 alone. A change takes effect at the next boot, so date any change by the key's last write time.

How to Read It

Read Authentication Packages, Security Packages and Notification Packages under Lsa, and OSConfig Security Packages. Each entry is a DLL name resolved from System32. A path or an unknown name is the red flag. A new Notification Packages entry can be a password filter, so treat it as credential theft.

When Windows Writes It
When a package value is changed, usually with admin rights, taking effect at reboot.
Which Windows Versions
Windows XP to 11
Tools That Parse It
Autoruns, Registry Explorer, RECmd

Hunt It

Defender records these writes within retention and keeps the previous data, so an added package is clear. LSA reads these lists at boot, so a hit does not prove the DLL has loaded.

KQLDefender XDR, Advanced hunting
// Changes to the LSA package listsDeviceRegistryEvents| where Timestamp > ago(30d)| where DeviceName startswith "ws-042"| where RegistryValueName in~ ("Authentication Packages", "Security Packages", "Notification Packages")| project Timestamp, ActionType, RegistryKey, RegistryValueName, RegistryValueData, PreviousRegistryValueData, InitiatingProcessCommandLine

Confirm It With

One artefact can mislead on its own. These other records show the same activity, or pin down when it happened, so use them to back up what LSA Packages shows.

  • DLL Load Into lsass, Sysmon Event 7Not in the RegistryShows the package DLL loading into lsass.exe, after the reboot it needs.

Sources