This repository has been created for the talk (KRWX: A tool to learn and assist Kernel Exploitation) given at NoHat @2023.
./setup.sh- As a beginner friendly repository everything is hard-coded. By default, it will compiles a 6.4 kernel and a debian image from the syzkaller repository. If you want to further customize it, see the
./helpers/folder.
./start.sh ./code/hello_world.cfor a first dry run. You can write your own C code and specifiy it- When the qemu instance boots up you can type
rootand you're in. Then./runto install KRWX module and execute the compiled binary
Tested on x86_64 ubuntu machine. Ubuntu is not strictly required, but if you want to use another distro, change the apt command from setup.sh based on your distro (or comment the 2 lines and install necessary requirements by yourself).
sudo is required for some operations (grep -R sudo * if you are suspicious)