Skip to content

t1b4n3/becoming-a-exploit-dev-vuln-researcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 

Repository files navigation

Becoming A Exploit Developer & Vulnerability Researcher

This roadmap is meant to help guide me to becoming competent (and eventually master) the following skills:

  • Binary Exploitation
  • Reverse Engineering
  • Systems Programming
  • Vulnerability Research

https://github.com/seal9055/resources

https://ctf-wiki.org/pwn/linux/user-mode/environment/

Table of Contents

  1. Fundamentals
  2. Reverse Engineering
  3. Binary Exploitation
  4. Vulnerability Research
  5. Systems Programming
  6. Toolbox
  7. Contributing & Feedback

Mindset & Methodology

Fundamentals

  • Computer Architecture and Assembly
  • Programming
    • C
    • C++
    • Python
  • Operating Systems
    • Linux internals (processes, memory management, syscalls)
    • Basic Windows internals (PE format, WinAPI) — learn as needed for targets

Reverse Engineering

Resources

Challenges


Binary Exploitation

Each week do the following:

  1. Pick a new exploit technique.
  2. Learn the theory behind the exploit technique.
  3. Read and follow CTF writeups that use that technique.
  4. Play and solve 2 - 4 CTFs that use that technique.
  5. Write a blog post and explain the technique, and also provide clear examples.

Resources

Articles / Blog Posts

Heap
Kernel

Challenges

  1. Pwn Adventure Series by Vector35
  2. Exploit Eduction
  3. Rop Emporium
    • Practice Return Oriented Programming
  4. PhrackCTF from Chompie/xforeced
  5. Wargames

Vulnerability Research

Resources

  • Vulnerabilities
  • CVE North Stars
    • Use freely available CVE information to learn become proficient in vulnerability analysis. This tutorial walks through practical CVE analysis, binary patch diffing, and root cause analysis.
  • Off by one
    • Youtube channel with streams discussing vulnerability research, exploit development and reverse enginering.
  • how to get started

Articles/Blog Posts

Real world case studies

FUZZING

Challenges

  • Pick a old software and find vulnerabilities.

Systems Programming

Resources

Toolbox

Category Tools I'm Learning
Disassembler/Decompiler Binary Ninja
Debugger GDB (with GEF) and Radare2
Exploitation Pwntools
RE Frameworks angr (for symbolic execution) and Radare2

Contributing & Feedback

This is a personal roadmap. If you have an excellent resource or spot an inaccuracy, feel free to open an Issue. Let's learn together.

About

Roadmap to learn binexp, rev, vr, and systems programming

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors