Work through a self-paced 15-week offensive security curriculum covering buffer overflows through kernel exploitation
Set up a local Ubuntu VM wargame environment to practice cracking intentionally vulnerable binaries
Learn how to bypass ASLR, stack canaries, and DEP protections on Linux programs
Practice heap exploitation and C++ vulnerabilities using the provided lab binaries
Requires downloading a pre-built Ubuntu 14.04 VM disk image and setting up the wargame server environment locally.
Modern Binary Exploitation (MBE) is the course material from a student-run university class taught at Rensselaer Polytechnic Institute in Spring 2015. It was created by RPISEC, a student security group, to teach offensive security skills that are not typically covered in standard computer science programs. The course focused on how attackers find and use vulnerabilities in software, specifically programs compiled for Linux and Windows. The course starts with the fundamentals of reverse engineering, which is the process of understanding how a compiled program works without having access to the original source code. It then moves into memory corruption, a category of vulnerabilities where a bug in a program allows an attacker to overwrite parts of memory in ways the program did not intend. Later lectures cover increasingly advanced topics: bypassing protections like stack canaries, address space layout randomization, and data execution prevention, exploiting the heap (a region of memory used for dynamic allocation), finding vulnerabilities in C++ programs, and eventually attacking the Linux kernel itself. Each lecture in the 15-week syllabus corresponds to one or more hands-on lab exercises. The labs are structured as a wargame called the Warzone, where students log in to a server and try to exploit deliberately vulnerable programs to gain access to the next account. A pre-built virtual machine disk image is provided so anyone can set up the same environment the students used. To work through this material, a student needs working knowledge of C or C++, some experience reading assembly language, and basic familiarity with the Linux command line. The course was not designed for complete beginners to programming. The repository contains lecture slides in PDF form, compiled lab binaries, and source code for all the exercises. A setup script is also included for anyone who wants to build the wargame environment from scratch on Ubuntu 14.04.
← rpisec on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.