Menú principal

sábado, 25 de julio de 2015

Metasploit: Nuevo módulo para ser root en OS X Yosemite

La noticia ha saltado hace unos días, un fallo crítico en OS X Yosemite permite a un atacante conseguir ser root con una simple instrucción en una terminal. La gente de Rapid7 ya le ha puesto nombre dyld_print_to_file_root. Lo más curioso de todo es que el exploit es tan pequeño de escribir que cabe todo entero en un solo tweet. El módulo que se ha creado para explotar esta vulnerabilidad se puede encontrar en el Github oficial de Metasploit y ya puedes engrosar tu arsenal de herramientas para atacar objetivos con OS X.

Hay que recordar que la vulnerabilidad permitía a un atacante escribir en el fichero /etc/sudoers añadiendo, por ejemplo, una línea que permita al usuario sin privilegio tomar privilegio sobre el sistema, por ejemplo la identidad de root, sin necesidad de introducir contraseña cuando se ejecute el comando sudo. Esto es algo muy potente, ya que esto permite escalar privilegios, pasando de un usuario sin ningún tipo de privilegio a un usuario con el máximo privilegio. 

Figura 1: Descripción del módulo y autoría

El módulo es realmente sencillo de entender, debido también a la simplicidad de la explotación de la vulnerabilidad. Como en todos los módulos de Metasploit de tipo exploit existe una función check y exploit. Podemos ver como en este módulo, además, existen funciones auxiliares que son utilizadas en las funciones citadas anteriormente.

La función del exploit genera un binario que contiene el payload que el usuario indique. En este módulo por defecto se utiliza el payload osx/x64/shell_reverse_tcp, el cual devolverá una shell remota al usuario dónde éste configure desde la consola de Metasploit. Una vez que se escribe en disco, en un directorio dónde el usuario puede escribir, se da permisos de ejecución al fichero binario que contiene el payload. Y por último utilizando el mixin cmd_exec se lanza la función sploit que contiene el exploit, el cual se puede ver que es la línea que fue publicada por Stefan Esser, con la adición de la instrucción sudo #{payload_file} que es la ruta dónde se subió el fichero binario con el paylaod.

Figura 2: Funciones exploit y check

Como puede verse el código del módulo es realmente sencillo y muy potente. La función check verifica antes de ejecutar si el exploit tendrá éxito o no. Como se puede ver en el cuerpo de la función se utiliza la versión para identificar si el sistema es vulnerable o no. En el caso de que la sesión de Metasploit se tenga en un OS X 10.10.0 a 10.10.4 el valor devuelto de la función será Exploit::CheckCode::Vulnerable, o lo que es lo mismo nos aparecerá un mensaje que indica que la máquina es vulnerable.

Poco más hay que decir sobre esta vulnerabilidad, la criticidad es muy alta, por lo que habrá que actualizar el sistema lo antes posible, y esperamos que Apple se ponga las pilas con ello. Si quieres aprender más sobre Metasploit puedes leer el libro de nuestro compañero Pablo González, Metasploit Para Pentesters.

No hay comentarios:

Publicar un comentario en la entrada

Entrada destacada

En el futuro iPhone podrá recopilar biometría y fotos de los ladrones

Apple ha obtenido una patente el pasado jueves en la que se describe un método de almacenamiento de datos biométricos de un usuario no...

Otras historias relacionadas

Entradas populares