kernelpop is a framework for performing automated kernel exploit
enumeration on Linux, Mac, and
Windows hosts.
Requirements
python3
Currently supported CVE's:
*CVE-2017-1000367
*CVE-2017-1000112
*CVE-2017-7308
*CVE-2017-6074
*CVE-2017-5123
*CVE-2016-5195
*CVE-2016-2384
*CVE-2016-0728
*CVE-2015-7547
*CVE-2015-1328
*CVE-2014-4699
*CVE-2014-4014
*CVE-2014-3153
*CVE-2014-0196
*CVE-2009-1185
Run modes
default mode
The
default mode runs with the command
python3 kernelpop.py. This
processes information about the host kernel and compares it to the known kernel
exploits available to the program. It then outputs a list of potentially useful
vulnerabilities and attached exploits.
brute-enumeration mode
The brute-enumeration mode performs the same checks, but then goes beyond and checks the computer for exploit prerequisites to see if the operating system is set up in the required vulnerable state for successful exploitation.
input mode
The
input mode allows you to perform
enumeration with just the output of a
uname -a command, which makes it useful as a host-side enumeration tool.
One feature currently only partially implemented is
brute-exploit mode. This is set to prepare, compile, and run exploits in order to confirm an exploitable kernel. However, as of now it would only run on the box the program is executed on. Given that this is a fairly large project to bring on to someone else's computer, and makes considerable noise when compiling and checking exploit attempts, it would be poor OPSEC to use in an actual engagement. At some point in the future, I would like to integrate it into my other project
pysploit for enumeration and the reckless, noisy, exploity
brute-exploit mode.
Exploit sources
https://github.com/SecWiki/linux-kernel-exploits
https://www.exploit-db.com/local/
https://github.com/SecWiki/windows-kernel-exploits