Environment setup
In order to get started with shellcode development for Linux, we need to ensure that we have a good set of tools. These tools will be covered in this section and more will be introduced as you work through the chapter. It will aid you in getting to know your target binary or program so that you can identify software gaps that could be exploited. These gaps that you identify could be perfect placeholders for shellcode.
In Windows, you made use of a graphical debugger, while in Linux we will use a command-line one. Many distributions already have the GNU Project Debugger (gdb) by default. In the event you do not have this, it can be installed using the command sudo apt-get install gdb
command.
To improve the visibility of the output of GDB, you can make use of a number of plugins. These plugins can be found on the internet. The two noteworthy ones to call out are Peda and PwnDBG.
Peda can be downloaded from the following URL: