[LUG.ro] Exploit 2.4.22 y parche

Ricardo Barberis lugro@lugro.org.ar
Fri, 5 Dec 2003 22:28:57 -0300


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola a todos.

En otra lista consegui el codigo del exploit para el kernel 2.4, a veces 
funca y a veces no, depende de las versiones de gcc y binutils con las que 
se compilo el kernel y con que se compila el exploit. Por ej. parece que 
si compilas el exploit con el gcc-3.3.1, no anda.

El exploit en C lo tienen que compilar con 'gcc -static hatorihanzo.c' y 
luego ejecutan ./a.out para ver si les da acceso root, esta aca:
http://www.cr0.net:8040/misc/hatorihanzo.c

Este es el parche para el kernel 2.4.22, le puede servir al que por algun 
motivo (ej, drivers de modems) no quiera/pueda actualizarse al 2.4.23.
No lo adjunto porque sino capaz que no llega a la lista asi que si les 
interesa van a tener que copiar y pegar:
<------------------------------------------------------------->
- --- mm/mmap.c.orig      2003-12-05 16:58:21.000000000 +0000
+++ mm/mmap.c   2003-12-05 17:01:47.000000000 +0000
@@ -1040,6 +1040,8 @@
        len = PAGE_ALIGN(len);
        if (!len)
                return addr;
+        if ((addr + len) > TASK_SIZE || (addr + len) < addr)
+          return -EINVAL;

        /*
         * mlock MCL_FUTURE?
<------------------------------------------------------------->

Y desde aca se bajan un codigo en ensamblador para comprobar al 100% que el 
kernel no es mas vulnerable a ataques de este tipo:
http://packetstormsecurity.nl/filedesc/brk_poc.asm.html

Lo compilan por ej. con 'nasm brk_poc.asm -o brk_poc.out' y le dan permisos 
de ejecucion con 'chmod 700 brk_poc.out'. Hay mas info dentro del archivo.

<ADVERTENCIA> Ojo que si el kernel es vulnerable, al ejecutar el 
brk_poc.out se REINICIA la maquina. </ADVERTENCIA>

El tema es muy interesante y da para mas, si quieren despues les paso mas 
info.

Saludos.
- -- 
Ricardo Barberis
Usuario Linux Nš 250625:           http://counter.li.org
Usuario LFS Nš 5121:               http://www.linuxfromscratch.org
LFS en castellano:                 http://www.lfs-es.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/0TDZnabpmElFaJkRAmaGAJ0d+2mvgtx8n6bI3awixfO6Hb16PgCfTt4x
Rkja5XU3B4eNhXyeEJRIB1w=
=7bcH
-----END PGP SIGNATURE-----