functions req:localroot non-bo 0day prevent
Posted: Mon Feb 07, 2011 8:34 pm
grsecurity has lots of functions that could prevent localroot 0day which using buffer overflow vulnerabilities,but I thought it can not prevent the localroot 0day without buffer overflow.
ninja monitor the privilege change then kill the process which wannt to be root.it can prevent bo and non-bo localroot 0day.
I hope spender could be kind engouh to improve it when free :)
Anyway,I prefer grsecurity to any other kernel harden patch.spender,thank you very much!
the ninja --> http://forkbomb.org/ninja/
exploit output
[test@centos51 enlightenment]$ ./run_null_exploits.sh
Compiling exp_cheddarbay.c...OK.
Compiling exp_ingom0wnar.c...OK.
Compiling exp_moosecox.c...OK.
Compiling exp_paokara.c...OK.
Compiling exp_powerglove.c...OK.
Compiling exp_sieve.c...OK.
Compiling exp_therebel.c...OK.
Compiling exp_vmware.c...OK.
Compiling exp_wunderbar.c...OK.
[+] MAPPED ZERO PAGE!
Choose your exploit:
[0] Cheddar Bay: Linux 2.6.30/2.6.30.1 /dev/net/tun local root
[1] MooseCox: Linux <= 2.6.31.5 pipe local root
[2] Paokara: Linux 2.6.19->2.6.31.1 eCryptfs local root
[3] Powerglove: Linux 2.6.31 perf_counter local root
[4] The Rebel: Linux < 2.6.19 udp_sendmsg() local root
[5] CVE-2009-2267: VMWare vm86 guest local root
[6] Wunderbar Emporium: Linux 2.X sendpage() local root
[7] Exit
> 4
------------------------------------------------------------------------------
The person lives most beautifully who does not reflect upon existence.
--Nietzsche
------------------------------------------------------------------------------
[+] Resolved selinux_enforcing to 0xc07a8914 (via System.map)
[+] Resolved selinux_enabled to 0xc067f800 (via System.map)
[+] Resolved security_ops to 0xc07a6e40
[+] Resolved sel_read_enforce to 0xc04c385b
[+] Resolved audit_enabled to 0xc079a1a0 (via System.map)
[+] Resolved mark_rodata_ro to 0xc041d53a
[+] Got ring0!
[+] Detected 2.6 style 4k stacks, with current at 0xdfb3b550
[+] Raised to full old-style capabilities
[+] Disabled security of : nothing, what an insecure machine!
[+] Got root!
sh-3.1# Killed
ninja output
[root@centos51 ninja-0.1.3]# ninja
log: warning: no configuration file specified, using default values
log: ninja version 0.1.3 initializing
log: magic group: gid=0 (root)
log: entering main loop
log: generating initial pid array..
log: now monitoring process activity
log: NEW ROOT PROCESS: sh[32221] ppid=32133 uid=0 gid=0
log: - ppid uid=500(test) gid=500 ppid=32111
log: + UNAUTHORIZED PROCESS DETECTED: sh[32221] (parent: run_null_exploi[32133])
log: - sending signal SIGKILL to pid 32221
log: - sending signal SIGKILL to ppid 32133
log: * offending process(es) terminated
log: NEW ROOT PROCESS: sh[32321] ppid=32233 uid=0 gid=0
log: - ppid uid=500(test) gid=500 ppid=32111
log: + UNAUTHORIZED PROCESS DETECTED: sh[32321] (parent: run_null_exploi[32233])
log: - sending signal SIGKILL to pid 32321
log: - sending signal SIGKILL to ppid 32233
log: * offending process(es) terminated
ninja monitor the privilege change then kill the process which wannt to be root.it can prevent bo and non-bo localroot 0day.
I hope spender could be kind engouh to improve it when free :)
Anyway,I prefer grsecurity to any other kernel harden patch.spender,thank you very much!
the ninja --> http://forkbomb.org/ninja/
exploit output
[test@centos51 enlightenment]$ ./run_null_exploits.sh
Compiling exp_cheddarbay.c...OK.
Compiling exp_ingom0wnar.c...OK.
Compiling exp_moosecox.c...OK.
Compiling exp_paokara.c...OK.
Compiling exp_powerglove.c...OK.
Compiling exp_sieve.c...OK.
Compiling exp_therebel.c...OK.
Compiling exp_vmware.c...OK.
Compiling exp_wunderbar.c...OK.
[+] MAPPED ZERO PAGE!
Choose your exploit:
[0] Cheddar Bay: Linux 2.6.30/2.6.30.1 /dev/net/tun local root
[1] MooseCox: Linux <= 2.6.31.5 pipe local root
[2] Paokara: Linux 2.6.19->2.6.31.1 eCryptfs local root
[3] Powerglove: Linux 2.6.31 perf_counter local root
[4] The Rebel: Linux < 2.6.19 udp_sendmsg() local root
[5] CVE-2009-2267: VMWare vm86 guest local root
[6] Wunderbar Emporium: Linux 2.X sendpage() local root
[7] Exit
> 4
------------------------------------------------------------------------------
The person lives most beautifully who does not reflect upon existence.
--Nietzsche
------------------------------------------------------------------------------
[+] Resolved selinux_enforcing to 0xc07a8914 (via System.map)
[+] Resolved selinux_enabled to 0xc067f800 (via System.map)
[+] Resolved security_ops to 0xc07a6e40
[+] Resolved sel_read_enforce to 0xc04c385b
[+] Resolved audit_enabled to 0xc079a1a0 (via System.map)
[+] Resolved mark_rodata_ro to 0xc041d53a
[+] Got ring0!
[+] Detected 2.6 style 4k stacks, with current at 0xdfb3b550
[+] Raised to full old-style capabilities
[+] Disabled security of : nothing, what an insecure machine!
[+] Got root!
sh-3.1# Killed
ninja output
[root@centos51 ninja-0.1.3]# ninja
log: warning: no configuration file specified, using default values
log: ninja version 0.1.3 initializing
log: magic group: gid=0 (root)
log: entering main loop
log: generating initial pid array..
log: now monitoring process activity
log: NEW ROOT PROCESS: sh[32221] ppid=32133 uid=0 gid=0
log: - ppid uid=500(test) gid=500 ppid=32111
log: + UNAUTHORIZED PROCESS DETECTED: sh[32221] (parent: run_null_exploi[32133])
log: - sending signal SIGKILL to pid 32221
log: - sending signal SIGKILL to ppid 32133
log: * offending process(es) terminated
log: NEW ROOT PROCESS: sh[32321] ppid=32233 uid=0 gid=0
log: - ppid uid=500(test) gid=500 ppid=32111
log: + UNAUTHORIZED PROCESS DETECTED: sh[32321] (parent: run_null_exploi[32233])
log: - sending signal SIGKILL to pid 32321
log: - sending signal SIGKILL to ppid 32233
log: * offending process(es) terminated