Difference between revisions of "Training 2016 - Windows Kernel Exploitation"

Difference between revisions of "Training 2016 - Windows Kernel Exploitation"

From BruCON 2016

Jump to: navigation, search
(Trainer Biography)
Line 100: Line 100:
Links :  
Links :  
* [ GitHUB]
* [ Ashfas's GitHUB]
''Mon. 24 - 26 October 2016 (09:00 - 17:00) (3-day)''
''Mon. 24 - 26 October 2016 (09:00 - 17:00) (3-day)''

Revision as of 13:49, 26 May 2016

Windows Kernel Exploitation

Course Description

This training is focused on exploitation of different Windows Kernel Mode vulnerabilities ranging from Pool Overflow to Use after Free. We will cover basics of Windows Kernel Internals and hands-on fuzzing of Windows Kernel Mode drivers. We will dive deep into exploit development of various kernel mode vulnerabilities. We will also look into different vulnerabilities in terms of code and the mitigations applied to fix the respective vulnerabilities.

Upon completion of this training, participants will be able to:

  • Learn basics of Windows Internals
  • Understand how to fuzz Windows Kernel mode drivers to find vulnerabilities
  • Learn the exploit development process in Kernel mode
  • Understand how a vulnerability looks like in driver code
  • Understand how a vulnerability can be mitigated

Course contents

  • Windows Kernel Debugging
    • Setup Kernel Debugging
    • Setup Debugging Symbols
    • WinDbg-Fu
  • Windows Internals
    • Windows NT Architecture
    • Executive
    • Kernel
    • Hardware Abstraction Layer (HAL)
    • Privilege Rings
    • Key Data Structures
  • Memory Management
    • Virtual Address Space
    • Kernel Stack
    • Memory Pool
    • Pool Allocator
  • Why to Attack Kernel?
    • User Mode vs Privileged Mode
    • User Mode Exploit Mitigations
  • Windows Driver Basics
    • I/O Request Packet (IRP)
    • I/O Control Code (IOCTL)
    • Data Buffering
  • Fuzzing Windows Kernel
    • IOCTL Fuzzing
  • Exploitation
    • Pool Overflow
    • Use after Free
    • Arbitrary Overwrite
    • Use of Uninitialized Variable (Stack & Heap)
  • Kernel Payload
    • Escalation of Privilege Payload
    • Kernel Recovery
  • Miscellaneous
    • Q/A and Feedback

Target audience

This course is intended for :

  • Information Security Professionals
  • Anyone with an interest in understanding Windows Kernel exploitation
  • Ethical Hackers and Penetration Testers looking to upgrade their skill-set to the kernel level

Why take this course ?

Upon completion of this training, participants will be able to:

  • Understand how kernel and kernel mode driver works
  • Understand exploitation techniques for different software vulnerabilities
  • Understand how Windows Pool Allocator works in order to write reliable exploit for complex bugs like Pool Overflow(s) and Use After Free(s)
  • Learn to write own exploits for the found vulnerabilities in Kernel or Kernel mode drivers
  • Understand vulnerabilities in terms of code and mitigations applied to fix the vulnerabilities

What to expect ?

  • Complete Hands-on
  • Fast & Quick Overview of Windows Internals
  • WinDbg-Fu
  • Windows Kernel Drivers Basics/IOCTL/IRP
  • Techniques to Exploit Windows Kernel/Driver vulnerabilities

What NOT to expect ?

  • Elite Kernel Hacker in three day(s)
  • Basics of ASM/C/Python


Students should be familiar with :

  • Basics of User Mode Exploitation
  • Basics of x86 Assembly and C/Python
  • Familiarity with Vmware/VirtualBox
  • Familiarity with WinDbg
  • Patience :-)

Hardware/software Requirements

  • A laptop capable of running two virtual machines simultaneously (8 GB of RAM)
  • 40 GB free hard drive space
  • Administrator privilege on your laptop

Trainer Biography


Ashfaq Ansari is the founder of HackSys Team code named "Panthera". He is a Security Researcher with experience in various aspects of Information Security. He has authored "HackSys Extreme Vulnerable Driver" and "Shellcode of Death". He has also written and published various whitepapers on low level software exploitation. His core interest lies in "Low Level Exploitation", "Reverse Engineering", "Program Analysis" and "Hybrid Fuzzing". He is a fanboy of Artificial Intelligence and Machine Learning. He is the chapter lead for null (Pune).

300px-twitter-icon.jpg @HackSysTeam

Links :

Mon. 24 - 26 October 2016 (09:00 - 17:00) (3-day)


Back to Training Overview