Developing a Windows exploit
Attackers must have a fair bit of understanding about the assembly language to develop custom exploits. In this section, we will cover some basics that are required to develop a Windows exploit by building a vulnerable application.
From the exploit development perspective, the following are the basic terms that penetration testers must understand for when they develop an exploit:
- Registers: All of the processes execute via registers; these are used to store information.
- x86: This includes 32-bit systems that are mostly Intel-based; 64-bit systems are represented as x64.
- Assembly language: This includes a low-level programming language.
- Buffer: This is a static memory holder in a program that stores data on top of the stack or heap.
- Debugger: Debuggers are the programs that can be utilized so that you can see the runtime of a program while executing. You can also use them to look at the state of registry and memory. Some of the tools that we will be using are immunity...