Discover Security Projects News
An introduction to Kernel Exploitation Part 1
I’m writing this post because I often hear that kernel exploitation is intimidating or difficult to learn. As a result, I’ve decided to start a series of basic bugs and exercises to get you started!
- Knowledge of the Linux command line
- Knowing how to read and write basic C may be beneficial
- Being able to debug with the help of a virtual computer or another system
- Able to install the kernel module compilation build requirements
- A basic understanding of the difference between userland and kernelland could be helpful
- Having a basic understanding of assembly can be beneficial for future episodes
For this part, I wrote a simple Linux character device,
/dev/shell. This driver will take two arguments,
cmd, and it will execute the
cmd command as the specified
uid. To understand how this driver works, I’ll explain a few things!