This class is meant to show the approach an exploit developer or bug hunter should take in attacking a previously unknown component in the Windows kernel. The training is primarily focused around labs to teach the students what it takes to exploit a real-world vulnerability. This class focuses on exploiting CVE-2018-8611 on Windows 10 x64 1809 (RS5), a complex race condition that leads to a use-after-free on the non-paged kernel pool. The vulnerability is in the Kernel Transaction Manager (KTM) driver (tm.sys), a component that has not received much public scrutiny. Even though students will learn a lot about the KTM component, we focus on our approach for analyzing this component as a new kernel component that we had no prior knowledge about. The methodology can be reused for any other unknown kernel components a student may encounter in the future. We do not specifically focus on tricks or techniques for bypassing specific Windows versions mitigations, but rather on the thought process behind exploring functionality to find useful unmitigated code paths and also abusing the bug in ways that allow to build powerful primitives that would facilitate mitigation bypasses. The tools/VM we provide during this training are generic and can be reused after the class to assist exploiting other Windows kernel vulnerabilities.
EZSecLab
@saidelike
Cedric Halbronn is a security researcher with over 15+ years of experience. He has been exploiting lots of different targets: mobile phones, Windows, Linux, firewalls, printers, routers, NAS with a focus on reliability and usability He has won Pwn2Own in 2021 and 2022. He has been speaking at many security conferences (OffensiveCon, Hexacon, RECon, HITB, etc.)
Part 1: Debug environment
Part 2: Binary diffing Microsoft updates
Part 3: Kernel Transaction Manager (KTM) basics
Part 4: Understanding CVE-2018-8611
Part 5: Exploitation techniques
Part 6: More exploitation techniques
Part 7: How to escalate privileges