Skip to content

Add KslD.sys (Windows Defender Support Driver) - #283

Merged
MHaggis merged 5 commits into
magicsword-io:mainfrom
Pumi96:main
Jun 16, 2026
Merged

Add KslD.sys (Windows Defender Support Driver)#283
MHaggis merged 5 commits into
magicsword-io:mainfrom
Pumi96:main

Conversation

@Pumi96

@Pumi96 Pumi96 commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Description

KslD.sys is a legitimate Microsoft-signed Windows Defender driver abused as a Living off the Land vector for unrestricted kernel memory access. It provides capabilities to read physical and virtual memory, defeat KASLR, and dump LSASS credentials by bypassing PPL. Attackers hijack its weak process-name validation via the SharedState registry.

Technical Details

  • Driver: KslD.sys (Microsoft Malware Protection Kernel Support Driver)
  • Vulnerability: Unrestricted physical and virtual memory read primitives via IOCTL 0x222044.
  • Weaponization: Used to bypass KASLR, enumerate process tokens, and dump LSASS memory directly via physical page table walks (bypassing PPL without opening a process handle).
  • Bypass Mechanism: Administrator modification of the SharedState registry key redirects the driver's hardcoded NT process-name check to an attacker-controlled executable.

Changes Made

  • Added ksld.yaml to the yaml/ directory.
  • Included MD5, SHA1, and SHA256 hashes for the tested version (4.18.26010.5).
  • Provided the service creation and registry modification commands used for exploitation.
  • Added Sigma rule reference for detection.

Added KslD.sys information detailing its capabilities and vulnerabilities.
@ruppde

ruppde commented Apr 27, 2026

Copy link
Copy Markdown

this driver is used by multiple hacktools:
https://github.com/vergamota/KslKatz
https://github.com/andreisss/KslDump
https://github.com/carved4/gokatz
https://github.com/Muz1K1zuM/kslkatz_bof

@nasbench nasbench left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution. Please do include sample(s) of this driver as LFS uploaded to this repo in the right folder (see other examples).

Also run the https://github.com/magicsword-io/LOLDrivers/blob/main/bin/metadata-extractor.py so that the other fields are filled. See other examples on the repo please

cc @MHaggis when you have time, could you take care of this.

@Pumi96

Pumi96 commented Apr 29, 2026

Copy link
Copy Markdown
Contributor Author

Also this driver is used by pumi96 inside this repo:
https://github.com/Pumi96/DefenderDump

@Pumi96
Pumi96 requested a review from nasbench June 11, 2026 06:28
@Pumi96

Pumi96 commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

Hey, I've uploaded the driver sample to the drivers directory and provided the fully enriched YAML with all the correct hashes in the yaml directory. It should be good to go, please review.

@MHaggis

MHaggis commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

I rebuilt this as a clean maintainer PR in #364. The current fork branch includes the intended KslD sample plus a generated yaml/.yaml with an empty Id and hundreds of unrelated YAML modifications. I could not push the cleaned LFS binary back to this fork branch because GitHub denied LFS object upload to the fork, even with maintainer edits enabled.

@MHaggis

MHaggis commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Updated this PR in-place so the diff is now scoped to the KslD entry only: .gitattributes, the KslD driver LFS pointer, and yaml/57822c56-6531-4a2e-afbf-96f77dc5fcaf.yaml.\n\nValidation run locally from the updated branch:\n\n\npython3 bin/validate.py\nNo Errors found\n\n\nI also confirmed the sample metadata against VT and retained the original submitter/author credit in the YAML. The duplicate replacement PR (#364) is being closed in favor of this existing PR.

@MHaggis

MHaggis commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Follow-up: the updated in-place KslD PR is now clean against main and the approved fork workflow passed.\n\nCurrent status:\n- Merge state: clean\n- validate-yaml: success\n- Diff scoped to .gitattributes, drivers/b316425d6f200244a25bd7b9998d9c43.bin, and yaml/57822c56-6531-4a2e-afbf-96f77dc5fcaf.yaml\n\nThis should be ready for reviewer re-check of the earlier requested changes.

@MHaggis
MHaggis merged commit abf6896 into magicsword-io:main Jun 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants