Expert Penetration Testing: Writing Windows Exploits

Master the latest advanced level methodologies, tools, and manual techniques used by ethical hackers to enter the top 10% of security professionals in terms of skill.

Analysts Recommended

IDC lists Infosec as Major Player in their Security Training Vendor Assessment.

Award Winning Training

For 17 years InfoSec has been one of the most awarded and trusted information security training vendors - 42 industry awards!

Expert Penetration Testing Course Overview

The Infosec Expert Hacking course provides an in-depth and hands-on review of the most current exploit development strategies and techniques for the Microsoft Windows platform.

This course is designed to provide a hands-on, interactive learning experience. To the end, the course includes approximately 30 minutes of lab work after each hour of lecture and Q&A time. Lab sessions are generally run four times per day.

The lab sessions are a crucial learning component of the class, and are strongly recommended. The labs ask students to reverse engineer sample programs as well as real production software to discover vulnerabilities. In addition to static analysis methods, various runtime vulnerability discovery methods such as fuzzing and runtime analysis in a debugger will be used.

Later exercises demonstrate more advanced concepts and tools – such as exploiting SafeSEH, the new ASLR protections found in Vista and Windows 7, and many others.


  • Gain the in-demand career skills of a highly skilled and specialized penetration tester.
  • Master the latest advanced level methodologies, tools, and manual techniques used by ethical hackers to enter the top 10% of security professionals in terms of skill.
  • Move beyond the most well known ethical hacking techniques and into the realm of an expert penetration tester.
  • More than interesting theories and lecture, get your hands dirty in our dedicated hacking lab.
  • Learn hands-on skills that are difficult to gain in a corporate or government working environment, such as compromising border routers and testing your own buffer overflow exploits.


  • Firm understanding of the Windows Operating System
  • Exposure to the Linux Operating System or other Unix-based OS
  • Firm understanding of the TCP/IP protocols.
  • Exposure to exploit development

View Pricing

We will never share any of your information, spam you or annoy you with pushy sales pitches.

Award-winning training that you can trust.

Rising Star

Partner Award

G2 Crowd Leader

Technical Skills Development Software

Gold Winner

Best Cybersecurity Education Provider

Publisher's Choice

Security Training for Infosec Professionals

Top 20 Company

IT Training

What You'll LEARN

    Module 1: Primer on Windows Internals

    • A primer on windows internals• Windows architecture
    • Windows internals from the ground up
    • Windows sockets
    • Threads and Processes
    • File handling
    • File formats
    • Process injection and remote thread injection
    • Understanding exploit development across different windows versions

    Module 2: Stack Overflows

    • Understanding modularity of code and how it can lead to a stack overflow situation
    • Typing stack overflows
    • Functions and Prologs
    • Controlling EIP through RET
    • Returning to shellcode on the stack
    • Shellcode strategies
    • Generating shellcode
    • Exploiting real world vulnerabilities

    Module 3: Understanding Windows Shellcode

    • Understanding shellcode concepts
    • Important X86 assembler concepts for shellcode
    • System Calls
    • Finding Kernel32.dll
    • Using hash searching instead of string searching
    • PEB vs. SEH Methods
    • Resolving Symbol Addresses with find_function
    • Using LoadLibraryA to load additional libraries
    • Creating processes with CreateProcessA
    • Exiting processes with ExitProcessA
    • Writing Connect Back shellcode
    • Portbind shellcode

    Module 4: Dynamic Vulnerability Analysis

    • Dynamic concepts
    • Pros and Cons vs. static analysis
    • Instrumented analysis with a debugger
    • Using INT3 with shellcode injection
    • Fuzzing basics
    • Good fuzzers vs. bad fuzzers
    • Content and protocol awareness
    • Block-based fuzzing
    • File format fuzzing
    • Fuzzing with a debugger
    • Crashes or exploitable bugs?
    • Back tracing
    • Using Pei mei and bin navi

    Module 5: Heap Overflows

    • Heap management on XP SP1 and earlie
    • Heap management on XP SP2 and newer
    • Understanding the heap memory manager
    • Chunks and logically contiguous memory
    • Flink, Blink pointers
    • Manipulating heap headers
    • Fake chunk creation
    • Unlinking and the 4 byte memory overwrite
    • Overwriting a SEH handler

    Module 6: Advanced Windows Shellcode

    • HTTP download and execute shellcode
    • Using the InternetAPI functions
    • InternetOpen, InternetOpenURL, InternetReadFile
    • Staged Loading Shellcode
    • Dynamic file Descriptor Reuse
    • First stage loaders for size limitations
    • Searching processes for injected shellcode
    • Egghunt shellcode
    • Using the syscall version of Egghunt
    • IAT connectback

    Module 7: Exploiting /GS stack canary protected programs

    • Understanding /GS in Visual Studio
    • Stack Cookies
    • Variable Reordering
    • strict_gs_check
    • /GS and its relation to SEH
    • /GS and string buffers
    • Bypassing the stack cookie
    • Reading stack cookie values
    • Defeating /GS application heuristics
    • Understanding the exception dispatcher
    • Using the exception handler to overwrite RET
    • Difficulties with SafeSEH implementations

    Module 8: Exploiting SafeSEH protected programs

    • Exception handler validation
    • Exception chain validation under Server 2008
    • Executing anywhere but the stack
    • Placing SEH handlers on the heap
    • DEP enabled SafeSEH issues
    • Exploiting linked modules without SafeSEH
    • ATL.DLL example

    Module 9: Defeating safe unlinking and safe lookaside lists

    • Understanding the Safe Unlink changes
    • Heap metadata cookies
    • Heap header encryption under Vista
    • Understanding the lookaside list
    • Exploiting the lookaside list in XP
    • Process termination heap vulnerabilties

    Module 10: Understanding Data Execution Prevention (DEP)

    • Windows paging theory
    • Introduction to DEP
    • DEP Model
    • Hardware support with NX
    • Software DEP
    • DEP Polices in boot.ini
    • Setting policies at runtime

    Module 11: Exploiting Data Execution Prevention (DEP)

    • Attacking DEP-incompatible applications
    • Exploiting RWX mappings
    • Leveraging the JVM for RWX exploitation
    • Code reuse
    • Returning to a page mapping/protection routine
    • System command/process creation routines
    • Security policy violations

    Module 12: Understanding Address Space Layout Randomization (ASLR)

    • Address randomization theory
    • Image randomization
    • Rebasing requirements for executable modules
    • Executable randomization
    • The Vista randomization bug
    • DLL randomization
    • RTLHeapCreate randomization
    • Stack randomization

    Module 13: Exploiting Address Space Layout Randomization (ASLR)

    • Exploiting statically positioned DLLs and executables
    • Instantiating ActiveX controls
    • Growing heap size with user controlled data
    • Heap spraying
    • Calculating heap spraying effectiveness
    • Partial overwrites
    • Memory information leaks

    Book your course

      What Our Students Are Saying

      Without any question, InfoSec has the most gifted individual instructors. Our instructor for this class was both an excellent educator and a premier/world class security expert. He was able to clearly explain and impart to the students, the most complicated security techniques I have ever heard of or imagined. I simply can not find the words to recommend him and Infosec security training more highly.

      John Hollan GE

      Advanced Ethical Hacking Training Boot Camp

      Career Tracks

      • Critical Infrastructure Track

      • Hacker Track

        The InfoSec Hacker Track will take you from 0 to 60 in your security career. By the time you successfully complete this track you will be highly credential-ed and in the top 5-10% of hackers in the world.
      Ready to get started? Get instant pricing for this award-winning boot camp. View course pricing
      View instant course pricing