Mastering LSASS Dumping in 2026: Exploiting Kernel Drivers to Bypass PPL and LSA Protection + Video

Listen to this Post

Featured Image

Introduction:

In the ever-evolving landscape of Windows security, dumping LSASS (Local Security Authority Subsystem Service) memory remains a critical technique for credential harvesting, yet it has become increasingly difficult due to Protected Process Light (PPL) and LSA Protection. Modern offensive security tactics have shifted towards leveraging signed, vulnerable kernel drivers to strip these protections directly from the process object, allowing memory access that was previously blocked by the operating system’s security stack.

Learning Objectives:

  • Understand how to identify and utilize vulnerable, signed drivers to disable Process Object (KC) and LSA protection on LSASS.
  • Execute a step-by-step LSASS memory dump using kernel-level access tools like PPLKiller or custom driver loaders.
  • Implement detection and mitigation strategies to identify attempts to load untrusted or vulnerable drivers in a production environment.

You Should Know:

  1. Unlocking the Kernel: The Mechanics of Vulnerable Driver Exploitation

The core of this technique lies in the “Bring Your Own Vulnerable Driver” (BYOVD) attack vector. Attackers leverage legitimate, but flawed, kernel drivers that are already signed by Microsoft to gain ring-0 access. Once the driver is loaded, the attacker can communicate with it via a user-mode application to manipulate kernel structures. Specifically, to dump LSASS, the attacker targets the `_EPROCESS` structure of the LSASS process, modifying the `Protection` field to remove the PPL flag (PS_PROTECTED_TYPE) and the `SignatureLevel` to disable LSA protection.

Step‑by‑step guide:

  1. Driver Acquisition: Identify a vulnerable driver such as `gdrv.sys` (Gigabyte), `RTCore64.sys` (MSI Afterburner), or `zam64.sys` (Zemana). These drivers often expose arbitrary read/write primitives via IOCTL codes.
  2. Driver Loading: Use tools like `sc.exe` or a custom loader to install and start the driver. If the driver is blocked by Windows Defender Application Control (WDAC) or SmartScreen, an administrator must explicitly trust the binary or disable these features.
    sc.exe create VulnerableDriver type= kernel start= auto binPath= "C:\path\driver.sys"
    sc.exe start VulnerableDriver
    
  3. Communication: Create a user-mode client that sends IOCTL requests to the driver. Using the driver’s read/write primitives, locate the LSASS process by its PID.
    // Pseudo-code to send IOCTL for arbitrary kernel memory read
    DeviceIoControl(hDevice, IOCTL_READ, &readRequest, sizeof(readRequest), buffer, sizeof(buffer), &bytesReturned, NULL);
    
  4. Patching the EPROCESS Structure: Calculate the offset of the `Protection` field (commonly at `0x87A` in Windows 10/11). Overwrite this value to `0x0` to remove PPL. Simultaneously, modify the `SignatureLevel` offset to bypass LSA protection checks.
  5. Verification: Use `Process Explorer` or `NtQueryInformationProcess` to confirm that LSASS no longer runs as a PPL.

2. Dumping the LSASS Process Without Interruption

Once the kernel protections are disabled, LSASS becomes accessible to standard user-mode tools like `procdump` or MiniDumpWriteDump. However, using `procdump` with the `-accepteula` flag can trigger alerts in Endpoint Detection and Response (EDR) tools. A more robust method involves leveraging the same kernel driver to directly map a copy of the LSASS memory space into a user-mode buffer for exfiltration.

Step‑by‑step guide:

  1. Targeting LSASS: Retrieve the LSASS process ID (PID) using `tasklist` or Get-Process.
    Get-Process -Name lsass | Select-Object Id
    
  2. Executing the Dump: With the PPL flag cleared, standard tools can now operate. Execute a memory dump to a file.
    procdump.exe -ma lsass.exe C:\temp\lsass.dmp
    

    Alternatively, for a stealthier approach, use a reflective loader that invokes `MiniDumpWriteDump` with custom flags to avoid common API hooks.

  3. Handling Large Dumps: Compress the dump file to reduce size and evade network detection.
    Compress-Archive -Path C:\temp\lsass.dmp -DestinationPath C:\temp\lsass.zip
    
  4. Cleaning Up: After extraction, unload the vulnerable driver to minimize the forensic footprint.
    sc.exe stop VulnerableDriver
    sc.exe delete VulnerableDriver
    

3. Evading Modern EDR: The Context of 2026

In 2026, traditional memory scanning is supplemented by kernel callbacks and ETW (Event Tracing for Windows) providers that monitor driver load events and process access attempts. Simply loading a vulnerable driver will trigger an alert unless the driver is already present in the environment or the attacker has previously disabled the associated ETW providers.

Step‑by‑step guide:

  1. Disabling ETW (if applicable): Using a kernel driver, you can patch the `EtwEventWrite` function or leverage tools like `ETWpwn` to suppress events related to driver loads and process access.
    // Example of patching ETW in kernel memory
    BYTE patch[] = { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 }; // mov eax,1; ret
    WriteKernelMemory(etwFunctionAddress, patch, sizeof(patch));
    
  2. EDR Bypass via Callback Removal: Use the kernel driver to locate and unregister EDR’s `PsSetCreateProcessNotifyRoutine` or `ObRegisterCallbacks` to prevent the EDR from seeing the LSASS dump operation.
  3. Manual Memory Mapping: Instead of using MiniDumpWriteDump, manually parse the LSASS process memory via the driver, extracting only the `msv1_0.dll` and `kerberos.dll` memory regions containing credentials. This reduces the data exfiltration volume.

4. Mitigation: Hardening Against BYOVD Attacks

Defenders can block these techniques by preventing the loading of unauthorized drivers. Microsoft’s “Vulnerable Driver Blocklist” is a critical feature, but it requires the deployment of HVCI (Hypervisor-protected Code Integrity) and WDAC.

Step‑by‑step guide for defenders:

  1. Enable HVCI: Turn on Memory Integrity (HVCI) in Windows Security to ensure that all kernel drivers are validated by the hypervisor. This prevents unsigned or blocked drivers from loading.
    Enable HVCI via Registry
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "EnableVirtualizationBasedSecurity" -Value 1
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "RequirePlatformSecurityFeatures" -Value 1
    
  2. Deploy WDAC Policies: Create a WDAC policy that explicitly allows only a specific list of drivers. Block all others, especially those known to be vulnerable.
    Create a base policy
    New-CIPolicy -Level Publisher -FilePath C:\WDAC\BasePolicy.xml
    Convert to binary
    ConvertFrom-CIPolicy -XmlFilePath C:\WDAC\BasePolicy.xml -BinaryFilePath C:\WDAC\SiPolicy.p7b
    
  3. Monitor for Driver Load Events: Configure Event ID 7045 (Service Installation) and Event ID 4656 (Handle to a Process) for LSASS. Correlate these with known vulnerable driver hashes.

5. API Security and Cloud Hardening Implications

While this technique targets on-premises Windows endpoints, the underlying concept—trusted but compromised components—translates directly to cloud hardening and API security. Just as a vulnerable kernel driver bypasses OS-level protections, a compromised API key or over-privileged service account can bypass cloud security boundaries.

Step‑by‑step guide:

  1. Review IAM Policies: Audit cloud environments for overly permissive roles. Ensure no identity has the ability to create compute instances or access secrets engines without MFA, mirroring how kernel access grants total control.
  2. Implement Service Account Hardening: Similar to disabling LSA protection, ensure that privileged cloud service accounts do not have interactive logon rights and that their tokens are rotated frequently.
  3. Container Security: In containerized environments, ensure that `privileged: true` flags are not used in pods. This would be the equivalent of loading a vulnerable driver in the container’s host kernel, allowing escape attacks.

What Undercode Say:

  • Key Takeaway 1: The BYOVD technique remains viable in 2026 because the Windows kernel’s trust model relies heavily on driver signatures. Until HVCI and WDAC are ubiquitously enabled, signed vulnerable drivers will continue to be a reliable vector for bypassing PPL and LSA protection.
  • Key Takeaway 2: Defenders must shift focus from simply preventing LSASS dumping to preventing the loading of unauthorized kernel drivers. A combination of HVCI, WDAC, and strict monitoring of `EPROCESS` modifications is essential for credential hygiene.

The evolution of this attack underscores a fundamental truth: once an adversary achieves kernel-level code execution, traditional user-mode security boundaries collapse. The industry’s reliance on PPL and LSA protection has forced attackers to move lower in the stack. As detection for these driver exploits improves, we are likely to see a resurgence in hypervisor-level attacks (ring -1) that manipulate VT-x to evade HVCI, setting the stage for a new generation of stealthier credential access techniques.

Prediction:

As HVCI adoption increases through Windows 11 and Server 2025, we will witness a significant decrease in the success rate of standard BYOVD attacks. However, this will push threat actors towards exploiting flaws in the hypervisor itself or leveraging hardware-level vulnerabilities (such as those found in Intel Management Engine or AMD PSP) to gain the necessary privileges to disable security controls, marking the next frontier in the privilege escalation arms race.

▶️ Related Video (80% Match):

🎯Let’s Practice For Free:

IT/Security Reporter URL:

Reported By: Saad Ahla – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow UndercodeTesting & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin | 🦋BlueSky