Introduction
The aim of this course is to train students in the fundamentals of Linux usermode exploitation. You will learn how stack memory works, how buffer overflows happen, and how attackers can take control of a vulnerable program.
By the end of the series, you’ll be able to analyze simple C programs, identify memory corruption bugs, and write basic exploits to gain shell access — all in a safe, local lab environment.
This training is ideal for anyone interested in cybersecurity, penetration testing, or low-level Linux internals.
The main goal of this series is to teach students through hands-on practice. Each task builds on the skills learned in previous challenges, helping students to strengthen and apply their knowledge step by step.
Level-Based Learning Approach
This course is structured as a progressive, level-based series where each level introduces a specific exploitation concept, reinforces previously learned techniques, and adds new, practical skills to your toolkit. You learn by doing — and by progressing. Passing each level means you’ve mastered a key concept in Linux usermode exploitation.
Stack Overflows for Beginners Series
Level | Skills Gained |
---|---|
Level 1 | Basic Stack-Based Buffer Overflows Static Code Analysis Disassembly with GDB Understanding Control Flow |
Level 2 | Controlling EIP Identification of the Return Address Return-to-Function (ret2func) |
Level 3 | Identifying Bad Characters Generating Shellcode Finding a Place for Large Shellcodes Locating Usable Gadgets PoC Writing |
Level 4 | Reverse Shell Execution Manual Gadget Hunting |
Level 5 | Privilege Escalation Understanding SUID Behavior |