Open Advanced Windows Exploitation
  • Introduction
    • Welcome
      • Subscribe
      • Contents
      • Intended Audience
      • Required Software and Tools
      • Thank You and Support
  • Custom Shellcode
    • 64-bit Architecture
      • 64-bit Enhancements
      • Calling Conventions
    • Shellcode Workflow
      • Visual Studio Code
      • Netwide Assembler
      • Windbg Preview
      • Workflow
    • Writing Shellcode
      • NULL-Free Position-Independent Shellcode
      • Finding kernel32.dll
      • Resolving Symbols
      • Finding VMAs
      • MessageBox Shellcode
      • Avoiding NULL
      • GetLastError
    • Reverse Shell
      • Exercise
      • Solution
  • Exploit Mitigations
    • Understanding the Battlefield
      • Memory Corruption
      • Vulnerability Primitives
      • Overview of Mitigations
    • Our Old Foes
      • DEP
      • ASLR
  • Memory Management
    • Memory Basics
      • Pages
      • Shared Memory
    • Memory Management
      • The Stack
      • The Heap
        • Heap Grooming and Overflow
        • Virtual Functions in C++
        • The Heap Continued
        • Kernel Mode Heap
      • Managed Memory
  • The Kernel
    • Kernel Basics
      • Kernel Structures
      • Kernel Debugging Options
      • Navigating the Kernel
      • Analysing the Kernel
    • Access Tokens
      • Access Token Basics
      • Token Theft
  • Drivers
    • Driver Basics
      • Implementing a Driver
      • Reversing Our Driver
      • A Basic User Mode Application
  • First Kernel Exploit
    • A Kernel Exploit
      • CVE 2020-17382
      • IDA Free
      • Writing A Basic Fuzzer
      • Controlling RIP
      • Meet SMEP
      • ROP to the Rescue
      • kASLR
      • Priv Esc Shellcode
    • Exploit Code
  • References
    • References
Powered by GitBook
On this page
  1. Introduction
  2. Welcome

Required Software and Tools

To be well-prepared for exploring and experimenting with advanced exploitation techniques, it is crucial to ensure that all necessary software and tools are correctly installed and configured.

Out of all sections this one is likely to change most often. It is advisable to return to this page often to see what software and tools is required. As the course develops different Operating System versions and software may need to be installed.

The following list of tools will be used throughout:

  • A Windows 10 Virtual Machine (version doesn't really matter) in which to debug user mode and kernel mode.

  • Windbg Preview will be used for debugging.

  • IDA Free will be used to reverse engineer binaries.

  • SysInternals tools will be used to examine various objects.

  • Visual Studio Community will be used to write and compile exploit code.

  • Visual Studio Code will be used to write assembly instructions.

  • NASM will be used to compile assembly instructions.

  • A Windows 10 Virtual Machine (I use version 1607) in which to run vulnerable applicationas and drivers. This can be any Windows version you want, just be aware that mitigations and structures may differ. If sepecific versions are used I will explicitly mention this.

It is not possible for the author to provide a pre-built and licensed VM image, it is left to the reader to provide this themselves. Where possible, the course will explain how to configure tools.

Note: other tools will be mentioned throughout, references are provided in the References section.

PreviousIntended AudienceNextThank You and Support

Last updated 1 year ago