Windows Kernel Patch Protection - Achilles Heel: PatchGuard
summary
Claims a reproducible design flaw in Windows Kernel Patch Protection that lets kernel code disable PatchGuard’s crash response by hooking kernel memset and intercepting the bugcheck path. The PoC uses memset hook via DR0/DR7 plus IDT hooking and IPI calls to set per‑CPU debug registers, detects KeBugCheckEx→KeBugCheck2 with code 0x109, decrements KiHardwareTrigger and stalls the reporting thread forever. A working driver demo suppresses the BSOD and restores the IDT; DPC hangs and some race cases remain.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 0:16About Me
- 0:46Agenda
- 1:44Objective
- 2:28What is PatchGuard
- 3:19What does PatchGuard check
- 4:14Response analysis of PatchGuard
- 5:42What happens after a crash
- 7:29Flaws
- 10:16Nonsense
- 12:51CPU Debug registers
- 14:09Code
- 16:56Servicing Routine
- 24:22Creating the Hook
- 25:23Stall Routine
- 25:54Log File Entry
- 26:40Kernel Address
- 28:26Demo
- 32:08Problems and Improvements
- 32:54What to Do Now
- 33:44What to Do Next
related talks
56mWindows Kernel Graphics Driver Attack Surface
49mBypassing KPTI Using the Speculative Behavior of the SWAPGS Instruction
52mA New CVE-2015-0057 Exploit Technology
43mDefeating Windows Anti-Exploit & Security Features with WHQL Kernel Drivers
48mNext Level Cheating and Leveling Up Mitigations
32mIntroduction to Windows Kernel Mode Debugging
25mData-Only Pwning Microsoft Windows Kernel
33mExploring a New Class of Kernel Exploit Primitive
