Descubierta vulnerabilidad Zero Day que permite escalado de privilegios local en Mac OS

Descubierta vulnerabilidad Zero Day que permite escalado de privilegios local en Mac OS

Un investigador de seguridad informática ha publicado los detalles referentes a una nueva vulnerabilidad Día Cero encontrada en el sistema operativo de Apple, Mac OS X. Este fallo podría permitir a un atacante local tomar el control total del equipo mediante un escalado de privilegios.

El descubridor de este fallo de seguridad tiene Siguza como nombre de usuario en Twitter (@s1guza) y según su teoría la vulnerabilidad podría llevar presente desde nada menos que 2002. Al menos es lo que se especula.

Vulnerabilidad Zero Day en Mac OS

La citada vulnerabilidad se conoce como LPE o Escalado de Privilegios Local y afecta a la familia de componentes IOHID, que no es otra cosa que una extensión del kernel dedicada a conectar con HID (Dispositivos de Interfaz Humana).

Todas las versiones de Mac OS estarían afectadas y un atacante podría aprovechar este nuevo Zero Day para realizar lectura o escritura arbitraria en el kernel, lanzando su propio código. De esta forma conseguiría permisos de root (recordemos que Mac OS está basado en Linux). Así lo comenta en su análisis técnico:

Originalmente me encontraba buscando vulnerabilidades en el kernel de iOS que me permitieran comprometer un kernel de este sistema, pero lo que no imaginaba es que algunas partes de IOHIDFamily existen solamente en Mac OS, específicamenteIOHID System, que contiene la vulnerabilidad aquí discutida.

El experto publicó un código de prueba o Proof of Concept cuyo nombre es IOHIDeus, que tiene éxito en sistemas operativos Mac OS X Sierra y High Sierra (hasta la versión 10.13.1) y que es capaz de desactivar tanto el System Integrity protection (SIP) como el Apple Mobile File Integrity (AMFI).

Afecta a Sierra y High Sierra, consigue permisos completos de lectura / escritura para el kernel y desactiva SIP para verificar que la vulnerabilidad puede ser explotada por cualquier usuario sin privilegios, en todas las versiones recientes de macOS.

Más detalles sobre la escalada de privilegios local

El código desarrollado por Siguza está pensado para ejecutarse rápidamente y así evitar la interacción del usuario, por ejemplo en un apagado del sistema (siendo posible por ejemplo “colarlo” entre la desconexión del usuario y el cierre del kernel).

En versiones posteriores de macOS no ha sido demostrado que funcione (Apple lanzó una actualización a High Sierra 10.13.2 el día 6 de Diciembre de 2017). Sin embargo, según el experto esto podría deberse más bien al azar –que Apple haya modificado algún archivo de sistema que interfiera con el exploit desarrollado- y no significaría que la vulnerabilidad haya desaparecido.

Siguza ha hecho público este fallo de seguridad, según el mismo, por dos motivos: el primero es que Apple no tiene un programa “bug bounty” para el sistema operativo Mac OS y el segundo es que esta vulnerabilidad de escalado de privilegios es local y por tanto no expondrá a los usuarios de forma remota.

Autor: Alejandro Sánchez

Alejandro es técnico micro-informático, experto en seguridad de las TIC y apasionado de la tecnología. Colabora habitualmente en diferentes publicaciones de seguridad, software y análisis de hardware entusiasta.