Home - novafacing/kernel-fuzzer-for-xen-project GitHub Wiki
Kernel Fuzzer for Xen (KF/x)
Welcome to the kernel-fuzzer-for-xen-project wiki! This wiki is the main documentation for KF/x and includes documentation and training exercises for reference, and to learn the tool.
Starter Tutorials
If you are new to KF/x, start here. The tutorials will guide you through all the knowledge and hands on practice you need to fuzz each of the primary target types KF/x is built for. The tutorials are all built to be run inside of VirtualBox, so you can learn to use KF/x no matter what host operating system or hardware you have.
The starter tutorials use tiny binaries to demonstrate how things are done without letting build systems or complicated configuration get in the way.
- Install KF/x
- Creating a Linux Guest
- Harnessing a Linux Program
- Fuzzing a Linux Program
- Harnessing a Linux Kernel Module
- Creating a Windows Guest
- Harnessing a Windows Program
- Fuzzing a Windows Program
- Harnessing a Windows Kernel Driver
- Fuzzing a Windows Kernel Driver
Conventions
Code Blocks
Throughout this tutorial, command prompts will be shown for both Xen/Linux and Windows.
In code blocks, Xen/Linux commands will be prefixed with a $ character if output is
shown in the code block and will not be prefixed otherwise. Likewise, PowerShell prompts
will be prefixed with PS > when output is shown in the code block and will not be
prefixed otherwise.
Commands
To keep formatting of commands easy to read, commands in this tutorial are split over
multiple lines. PowerShell code blocks will split commands using the Windows line
continuation character '`'. Linux code blocks will split commands using \, the
typical Linux line continuation character. When typing commands manually, you can omit
these line breaks and place options on one line.
For example, the command below:
PS > echo `
"hello"
hello
Might also be written:
echo "hello"
Likewise, the command:
$ echo \
"hi"
hi
Might also be written:
echo "hi"