La cadena de ataque de iPhone "más sofisticada" jamás vista utilizó cuatro días 0 para crear un exploit de 0 clics


 Entre 2019 y diciembre de 2022, los investigadores de seguridad de Kasperksy identificaron una vulnerabilidad de iMessage increíblemente compleja y la denominaron "Operación Triangulación". Ahora han revelado la "cadena de ataque más sofisticada" que jamás hayan visto.


Los expertos en seguridad de Kaspersky, Boris Larin, Leonid Bezvershenko y Georgy Kucherin, dieron hoy una presentación sobre la Operación Triangulación en el Congreso de Comunicación del Caos. Los tres "revelaron públicamente por primera vez los detalles de todos los exploits y vulnerabilidades que se utilizaron" en el complejo ataque a iMessage.


Los investigadores también publicaron hoy sus hallazgos en el blog de Kaspersky SecureList.


El truco de 0 clics de Pegasus iMessage ha sido denominado "uno de los exploits técnicamente más sofisticados". Y, según Larin, Bezvershenko y Kucherin, "esta es definitivamente la cadena de ataque más sofisticada que jamás hayamos visto".


Cadena de ataque de 0 días al exploit de 0 clics de iMessage

Esta vulnerabilidad existió hasta diciembre de 2022, cuando se publicó iOS 16.2.


Aquí está toda la compleja cadena de ataque, incluidos los cuatro exploits de día cero necesarios para obtener acceso de root al dispositivo de una víctima:


Los atacantes transmiten un archivo adjunto malicioso de iMessage, que el programa procesa sin previo aviso.

Este archivo adjunto aprovecha la instrucción de fuente ADJUST TrueType no documentada y exclusiva de Apple para explotar la vulnerabilidad de ejecución remota de código CVE-2023-41990. Esta instrucción había estado presente desde principios de la década de 1990 antes de ser eliminada por un parche.

Emplea programación orientada a retorno/salto y numerosas fases escritas en el lenguaje de consulta NSExpression/NSPredicate, además de alterar el entorno de la biblioteca JavaScriptCore para ejecutar una vulnerabilidad de escalada de privilegios de JavaScript.

Este exploit de JavaScript se ha ofuscado para hacerlo ilegible y reducir su tamaño. No obstante, contiene aproximadamente 11.000 líneas de código, la mayoría de las cuales están dedicadas al análisis y manipulación de JavaScriptCore y la memoria del kernel.

Aprovecha la capacidad de depuración de JavaScriptCore DollarVM ($vm) para obtener acceso a la memoria de JavaScriptCore desde el script y realizar funciones API nativas.

Estaba destinado a funcionar tanto con iPhones antiguos como nuevos y contenía una omisión del Código de autenticación de puntero (PAC) para dispositivos recientes.

Explota la vulnerabilidad de desbordamiento de enteros CVE-2023-32434 en las llamadas al sistema de mapeo de memoria de XNU (mach_make_memory_entry y vm_map) para obtener acceso de lectura/escritura a toda la memoria física del dispositivo a nivel de usuario.

Omite la capa de protección de página (PPL) mediante el uso de registros de E/S asignadas en memoria de hardware (MMIO). Esta vulnerabilidad fue parcheada como CVE-2023-38606.

El exploit de JavaScript puede hacer lo que quiera con el dispositivo después de explotar todas las vulnerabilidades, incluida la ejecución de software espía, pero los atacantes optaron por: (a) iniciar el proceso IMAgent e inyectar una carga útil que borra los artefactos de explotación del dispositivo; y (b) ejecutar un proceso de Safari en modo invisible y reenviarlo a una página web con la siguiente etapa.

La página web contiene un script que verifica a la víctima y, si las pruebas tienen éxito, la envía a la siguiente etapa: el exploit Safari.

La vulnerabilidad de Safari utiliza CVE-2023-32435 para ejecutar shellcode.

Otro exploit del kernel en forma de un archivo objeto Mach se ejecuta mediante el código shell. Emplea los mismos defectos: CVE-2023-32434 y CVE-2023-38606. También es grande en términos de tamaño y funcionalidad, pero no es lo mismo que la vulnerabilidad del kernel basada en JavaScript. Lo único que los dos tienen en común es que ambos explotan las vulnerabilidades antes mencionadas. No obstante, la mayor parte de su código está dedicado a analizar y manipular la memoria del kernel. Incluye una serie de servicios públicos posteriores a la explotación que generalmente están inactivos.

El exploit obtiene acceso de root y luego ejecuta etapas adicionales que cargan malware. Discutimos estos pasos en publicaciones anteriores.

Los investigadores afirman haber realizado casi ingeniería inversa en "todos los aspectos de esta cadena de ataque" y planean publicar más estudios en 2024 que entren en mayor detalle sobre cada vulnerabilidad y cómo fue explotada.


Sin embargo, Larin, Bezvershenko y Kucherin enfatizan que todavía existe un misterio en torno a CVE-2023-38606 con el que necesitarían ayuda.


No está claro cómo los atacantes habrían descubierto la característica de hardware oculta:


Compartimos los detalles técnicos para que otros investigadores de seguridad de iOS puedan corroborar nuestros resultados y especular sobre cómo los atacantes descubrieron esta característica de hardware.


Según Larin, Bezvershenko y Kucherin, los sistemas "que dependen de la 'seguridad a través de la oscuridad' nunca pueden ser verdaderamente seguros".


p

Publicar un comentario

Artículo Anterior Artículo Siguiente