¿Cómo puedo confirmar que soy vulnerable al “rootpipe” de OS X (CVE-2015-1130)?

4

He leído el publicación de divulgación por Emil Kvarnhammar de TrueSec ( API de puerta trasera oculta para privilegios de root en Apple OS X ) y estoy tratando de confirmar si soy vulnerable o no.

Después de crear un script exploit.py con el contenido del POC de exploit de Emil, ejecuto:

$ python exploit.py /bin/bash root-bash
will write file /Users/dserodio/root-bash
Done!

Entonces puedo ver que se creó un suid root ejecutable:

$ ls -l root-bash
-rwsrwxrwx  1 root  Domain Users  1228336 Apr 14 10:51 root-bash

Pero cuando lanzo esto, no parece ser un shell raíz:

$ exec ./root-bash
$ whoami
dserodio
$ touch foo
$ ls -l foo
-rw-r--r--  1 dserodi  Domain Users  0 Apr 14 11:01 foo 

Si uso un script de shell que ejecuta id , crea archivos, etc. en lugar de usar / bin / bash para crear un shell interactivo, los resultados son los mismos (es decir, creados como suid root pero aparentemente sin root privilegios).

¿Puede alguien ayudarme a entender lo que está pasando y si soy vulnerable al error "rootpipe" (CVE-2015-1130)?

    
pregunta Daniel Serodio 14.04.2015 - 16:08
fuente

2 respuestas

2

Su sistema es vulnerable ya que el binario está escrito. La razón por la que no puede simplemente copiar bash es porque el binario escrito se iniciará con dserodio "real" de identificación de usuario y "root" de identificación de usuario "efectiva". Para cambiar a la raíz de ID de usuario real, el binario debe llamar a setuid (0). Le he dado un contenedor de código C de muestra para esto en los comentarios de mi artículo que ha vinculado.

Otra opción es copiar /usr/bin/python2.7 a / tmp / py e iniciar / tmp / py. Desde allí puede hacer 'importar os' y experimentar interactivamente con los métodos de python os.geteuid (), os.getuid () y os.setuid (0). Después de os.setuid (0) puede iniciar un bash root con os.system ("/ bin / bash").

    
respondido por el Emil Kvarnhammar 14.04.2015 - 20:18
fuente
0

Una opción para probar esto podría ser utilizar metasploit Módulo para la explotación de rootpipe

Una de las ventajas de los módulos Metasploit es que tienden a estar razonablemente bien documentados y funcionan de manera confiable, por lo que vale la pena intentarlo.

    
respondido por el Rоry McCune 14.04.2015 - 17:56
fuente

Lea otras preguntas en las etiquetas