Examples of leaking Kernel Mode information from User Mode on Windows
Examples of leaking Kernel Mode information from User Mode on Windows
This repository aims to provide functioning code that demonstrated usage of various different ways to gain access to Kernel Mode pointers in Windows from User Mode. A green ticket indicates a leak which works from a low integrity process and a blue tick indicates a leak which requires a medium integrity process.
| Technique | 7 | 8 | 8.1 | 10 - 1511 | 10 - 1607 | 10 - 1703 | 10 - 1703 + VBS |
|---|---|---|---|---|---|---|---|
| NtQuerySystemInformation: | |||||||
| SystemHandleInformation | |||||||
| SystemLockInformation | |||||||
| SystemModuleInformation | |||||||
| SystemProcessInformation | |||||||
| SystemBigPoolInformation | |||||||
| System Call Return Values | |||||||
| Win32k Shared Info User Handle Table | |||||||
| Descriptor Tables | |||||||
| HMValidateHandle | |||||||
| GdiSharedHandleTable | |||||||
| DesktopHeap |
The following techniques requiring non-standard permissions.
| Technique | Permission Needed | 7 | 8 | 8.1 | 10 - 1511 | 10 - 1607 | 10 - 1703 | 10 - 1703 + VBS |
|---|---|---|---|---|---|---|---|---|
| NtSystemDebugControl: | ||||||||
| SysDbgGetTriageDump | SeDebugPrivilege | |||||||
| SeSystemProfilePrivilege |
Some more details on techniques which no longer work and what was changed:
https://samdb.xyz/revisiting-windows-security-hardening-through-kernel-address-protection/
notes/gSharedInfo.md - A brief look at the changes made in the Creators Update/1703. Not very concrete or detailed, I might revisit it and create something more detailed or maybe someone else will.
Pending
notes/NPIEP.md - A very brief "it's a thing" write up, more details pending on me getting a test laptop back when the summer interns are gone...
I have referenced where I read about a technique and where specific structs etc have come from in the code, however these may not be the true original sources of the information :)
A lot of the function prototypes and struct definitions are taken from ReactOS.
Green Tick Icon By FatCow (http://www.fatcow.com/free-icons) [CC BY 3.0], via Wikimedia Commons
Cross Icon By Cäsium137 [Public domain], via Wikimedia Commons
Blue Tick By Gregory Maxwell, User:David Levy, Wart Dark (en:Image:Blue check.png) [GFDL 1.2 (http://www.gnu.org/licenses/old-licenses/fdl-1.2.html)], via Wikimedia Commons
No open issues yet, or sync has not completed.