Vulnerabilidad zero-day en macOS permite generar clics invisibles sin el consentimiento del usuario

Vulnerabilidad zero-day en macOS permite generar clics invisibles sin consentimiento del usuario

Experto en seguridad realizó una presentación en DefCon 2018 en la que explicó la existencia de una vulnerabilidad zero-day en versiones actuales de macOS que permitiría a un atacante que haya infectado una computadora generar eventos de teclado y mouse sin el consentimiento de la víctima.

Experto en seguridad realizó una presentación en DefCon 2018 en la que explicó la existencia de una vulnerabilidad zero-day en versiones actuales de macOS que permitiría a un atacante que haya infectado una computadora generar eventos de teclado y mouse sin el consentimiento de la víctima.

El pasado sábado el ex “hacker” de la Agencia Nacional de Seguridad de los Estados Unidos (NSA, por sus siglas en inglés) y experto en seguridad, Patrick Wardle, demostró en una presentación que realizó en DefCon 2018 la existencia de una vulnerabilidad zero-day crítica en todas las versiones actuales de macOS, como por ejemplo el sistema operativo High Sierra. La falla permite a un atacante, con solo modificar dos líneas de código, generar eventos de teclado y mouse para evadir mecanismos de seguridad y así descubrir la ubicación del usuario, robar sus contactos o incluso llegar a cargar una extensión en el kernel del sistema que permitiría tomar control absoluto de la máquina afectada.

Durante su conferencia, titulada “El mouse es más poderoso que la espada”, Wardle presentó los resultados de su investigación y según Wired dijo que “el punto donde está la falla es en la interfaz del usuario”, ya que “si tienes una manera de interactuar de forma artificial con estos mensajes de alerta, tienes la posibilidad de evadir los mecanismos de seguridad”.

Este tipo de ataque no ofrece a un cibercriminal la posibilidad de infectar una computadora, sino que permite evadir las distintas capas de seguridad de una máquina que ya fue infectada, ya sea mediante un adjunto malicioso en una campaña propagándose por correo electrónico o alguna otra técnica similar.

Si bien anteriormente Apple logró bloquear métodos y códigos maliciosos que de manera artificial permitían interactuar con mensajes donde el sistema solicitaba al usuario confirmar la acción que estaba a punto de realizar, cuando la misma suponía una tarea riesgosa; como cargar una extensión en el kernel, “lamentablemente sus esfuerzos fracasaron”, aseguró el ahora jefe de investigación de la empresa Digita Security.

Según explica Wired, macOS incluye una funcionalidad que permite a determinados programas, como AppleScript, generar clics “sintéticos” (similares a los que realiza una persona con el mouse pero generados por un programa) que permiten deshabilitar ciertas funcionalidades, como puede ser un proceso automatizado, por ejemplo. Pero para su sorpresa, Wardle descubrió que macOS falla en la protección de esta funcionalidad para eventos como la extracción de los contactos del usuario, el acceso al calendario o la lectura de la ubicación en la que está la computadora a partir de la red Wi-Fi a la que está conectada.

Y fue de casualidad que el ex NSA descubrió el fallo, cuando accidentalmente copió y pegó en dos oportunidades el código para un mouse sintético y se olvidó de modificar el valor de una advertencia que indicaría un evento “hacia arriba” del mouse. Y sin darse cuenta del error, “compiló y corrió el código y para su sorpresa generó un clic sintético en ‘permitir’”, publicó The Threat Post.

Además de comprobar que el código de prueba permitía hacer clics para habilitar permisos como si fuera un humano, probó los clics sintéticos para técnicas de hacking más complejas.

Anteriormente, el experto había descubierto que a través de un código podía utilizar una funcionalidad oculta en macOS llamada “mouse keys”, que permite al usuario manipular el cursor del mouse con el teclado para realizar clics sintéticos y así lograba evadir avisos de seguridad. Y si bien Apple lanzó un parche para la vulnerabilidad que permitía aprovechar la función “mouse key”, cuando Wardle investigó los detalles del parche descubrió un error aún más grande. Un clic sintético incluye un comando hacia “abajo” y otro hacia “arriba”, que equivalen al movimiento de presión y liberación del botón del mouse.  Pero como explica el artículo de Wired, por error Wardle copió y pegó una porción de código incorrecta que indicaba el comando hacia abajo dos veces. Cuando ejecutó el código, el sistema interpretó el segundo comando hacia abajo como si fuese hacia arriba, logrando que se realice el clic. Y el error está en que ese comando, de dos veces hacia abajo que permiten el clic sintético, no es bloqueado por el sistema y permiten realizar un clic sintético para habilitar la instalación de una extensión en el kernel.

Si el malware puede hacer uso de ese truco para instalar una extensión en el kernel puede aprovechar ese fragmento de código adicional para obtener control total de la máquina. Si bien las extensiones en el kernel para poder ser instaladas deben estar firmadas por un desarrollador para macOS, en caso de existir una extensión para el kernel firmada que presenta una falla de seguridad, un código malicioso puede instalar la extensión y luego explotar la vulnerabilidad para tomar control del kernel.

De acuerdo a Wired, el especialista dijo que “varios malware avanzados intentan acceder al kernel, y en caso de poder infectarlo, tienen acceso a todo y pueden evadir cualquier mecanismo de seguridad”.

El medio consultó a Apple por el descubrimiento de Wardle, pero por el momento la compañía no dio una respuesta.  Asimismo, a diferencia de otras veces, el investigador no reportó a la compañía de este último hallazgo y eligió comentar los detalles de esta vulnerabilidad zero-day en su presentación en DefCon.

Por su parte, The Hacker News reveló que la próxima versión del sistema operativo de macOS, Mojave, ya mitigó la amenaza bloqueando todos los eventos sintéticos.

Discusión