Post

Binary Exploitation Roadmap

An in-depth roadmap for binary exploitation with explanations of common exploitations methods and more links.

Pre-requisites/requirements

  • Basic understanding of programming in C and/or Python
  • A Linux environment with gcc and gdb installed (I recommend this link)
  • (Optional): Familiarity with assembly language (i.e. x86 or x64)

Beginner Concepts

Start out with exploring these resources that cover an introduction to buffers, buffer overflows, and binary security, as well as some general assembly review.

After checking these links out and trying a few challenges for yourself, you should have a good all-round understanding of what buffer overflows are and their vulnerabilities. You should be able to complete basic CTF challenges like baby-pwns.

Intermediate Concepts

Now we’ll start learning about some traditional binary exploitation methods that are commonly used in CTFs. You don’t have to read about every method, but having a general idea of how to conduct ROP chaining and finding/leaking offsets and addresses as well as gadgets is important.

Advanced Concepts

You will learn how to exploit programs with more binary security measures in place, and start dealing with heap exploitation.

Try solving more complex CTF challenges and practice writing vulnerable programs. You can also learn about kernel exploitation here:

This post is licensed under CC BY 4.0 by the author.