This course is designed to equip penetration testers and red teamers with the essential knowledge and skills needed to understand low-level system architecture and exploit memory-related vulnerabilities like Buffer Overflows. It will provide you with the pre-requisite knowledge required to begin your journey in advanced cyber security specializations like reverse engineering, exploit development, and malware analysis.
The course will start by introducing you to CPU architecture, registers, process memory, the stack, and stack frames. You will then delve deep into the inner workings of x86 processors, learn how they work, and how processes are loaded into memory. You will also learn how to write and assemble IA-32 assembly code on Linux. Learning IA-32 assembly language will provide you with a unique insight into the root causes of memory-related vulnerabilities and will provide you with clarity on how they can be exploited. Through practical exercises and hands-on labs, you will emerge from the course with the ability to write x86 Assembly code on Linux and interact with process memory and CPU registers.