This is a Linux kernel debugging setup derived from linux-kernel-debuggig.
To get an overview of the available functionality run lkd_run.sh
without any arguments.
See linux-kernel-debuggig for a list of dependencies.
This project contains some examples to kickstart exploration of some CVEs found in the Linux kernel. To explore an example:
git clone https://github.com/vobst/lkd-cve && cd lkd-cve
- select an example by uncommenting the corresponding
PROJECT
andCOMMIT
variables inlkd_run.sh
- adjust the other variables to your system
./lkd_run.sh setup
- get a coffee ☕ :)
./lkd_run.sh run debug
- log in as
root
with passwordtest
./prepare.sh
./poc
- in another shell
./lkd_run.sh debug
and then./lkd_run.sh gdb
There are some python scripts in lkd_scripts_gdb/lkd/
that aim to enhance the kernel debugging experience. Feel free to check them out and import them into your own scripts.
There are probably some other branches that possibly contain features not available on master
e.g., scripts for heap functionality. Check them out before implementing something yourself :)