Chapter 5: Developing Shellcode for Linux
In the previous chapter, we looked at how to develop code for Windows operating systems. Linux is another operating system that is widely used. Developing shellcode for Linux is not as easy as it is for Windows, however, it is still possible.
In this chapter, we will focus on developing shellcode for Linux. The aim of the chapter is not to teach you how to hack Linux, but more about the thought process of developing shellcode in relation to the various components that exist within Linux. By working through the content of this chapter, you will learn about the techniques that can be used to build shellcode for Linux. However, before diving into the deep end, we need to spend some time with the core functions, such as how the operating system handles privileges, system calls, and more.
In this chapter, we will cover the following main topics:
- Environment setup
- Executable and Linking Format (ELF) fundamentals
- Shellcode techniques...