Fork 0
out-of-tree kernel {module, exploit} development tool
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dump_stack() 31d51a9f2e Update README.md 4 years ago
config Implements kernels config autogeneration 4 years ago
examples Print kernel config skeleton to stdout 4 years ago
qemu Add ssh command generator 4 years ago
tools Remove CentOS and Debian from kernel factory 4 years ago
.gitignore Initial commit 4 years ago
LICENSE Change license to GNU AGPLv3 4 years ago
README.md Update README.md 4 years ago
debug.go Move gdb listen address to params 4 years ago
gen.go Implements skeleton module/exploit config generator 4 years ago
kernel.go Allow to force bump docker container 4 years ago
main.go Merge kernels, not just append 4 years ago
pew.go Improve error logging 4 years ago



out-of-tree kernel {module, exploit} development tool



$ go get github.com/jollheef/out-of-tree
$ out-of-tree bootstrap

Then you can check it on kernel module example:

$ cd $GOPATH/github.com/jollheef/out-of-tree/examples/kernel-module
$ out-of-tree kernel autogen # generate kernels based on .out-of-tree.toml
$ out-of-tree pew


Run by absolute path

$ out-of-tree --path /path/to/exploit/directory pew

Test only with one kernel:

$ out-of-tree pew --kernel='Ubuntu:4.10.0-30-generic'

Run debug environment:

$ out-of-tree debug --kernel='Ubuntu:4.10.0-30-generic'

Test binary module/exploit with implicit defined test ($BINARY_test)

$ out-of-tree pew --binary /path/to/exploit

Test binary module/exploit with explicit defined test

$ out-of-tree pew --binary /path/to/exploit --test /path/to/exploit_test

Guess work kernels:

$ out-of-tree pew --guess

Use custom kernels config

$ out-of-tree --kernels /path/to/kernels.toml pew

Generate all kernels

Does not required if you dont need to use --guess.

$ cd $GOPATH/src/github.com/jollheef/out-of-tree/tools/kernel-factory
$ ./bootstrap.sh # more than 6-8 hours for all kernels
$ export OUT_OF_TREE_KCFG=$GOPATH/src/github.com/jollheef/out-of-tree/tools/kernel-factory/output/kernels.toml


Read Qemu API.

Generate images

$ cd $GOPATH/src/github.com/jollheef/out-of-tree/tools/qemu-debian-img/
$ docker run --privileged -v $(pwd):/shared -e IMAGE=/shared/ubuntu1404.img -e RELEASE=trusty -t gen-ubuntu1804-image
$ docker run --privileged -v $(pwd):/shared -e IMAGE=/shared/ubuntu1604.img -e RELEASE=xenial -t gen-ubuntu1804-image