spencerdodd / kernelpop

kernel privilege escalation enumeration and exploitation framework
687 stars 130 forks source link

Error line 10 in CVE20160728.py for Kali Linux 4.13.0 (super() takes at least 1 argument) #3

Closed webpwnized closed 7 years ago

webpwnized commented 7 years ago

root@kali:/opt/kernelpop# ls constants.py exploits img kernelpop.py playground README.md src test

root@kali:/opt/kernelpop# python kernelpop.py

##########################

welcome to kernelpop

let's pop some kernels

##########################

[+] underlying os identified as a linux variant [+] kernel Linux-4.13.0-kali1-amd64-x86_64-with-Kali-kali-rolling-kali-rolling identified as: type: linux distro: unknown version: 4.13-1 architecture: x86_64 [*] matching kernel to known exploits Traceback (most recent call last): File "kernelpop.py", line 17, in main() File "kernelpop.py", line 7, in main kernelpop() File "/opt/kernelpop/src/kernelpop.py", line 377, in kernelpop identified_exploits = find_exploit_locally(kernel_v) File "/opt/kernelpop/src/kernelpop.py", line 261, in find_exploit_locally exploit_instance = exploit_module() File "/opt/kernelpop/exploits/linux/CVE20160728.py", line 10, in init super().init() TypeError: super() takes at least 1 argument (0 given)

root@kali:/opt/kernelpop# uname -a Linux kali 4.13.0-kali1-amd64 #1 SMP Debian 4.13.4-2kali1 (2017-10-16) x86_64 GNU/Linux

spencerdodd commented 7 years ago

So this is not an issue with kernelpop but with the version of python used to run the program. The issue is because you are running with with python2 instead of python3. Python2 doesn't support subclassing and initialization of super classes the same way that python3 does which is causing the issue: python2

screen shot 2017-11-05 at 3 29 29 pm

python3

screen shot 2017-11-05 at 3 29 43 pm

I may eventually add support for python2, however is not supported at this time. If you are trying to run this on the victim machine this may be problematic, but on your host just use python3 instead of 2.