Campaña de cuatro años insertó puertas traseras en iPhones utilizando posiblemente el exploit más avanzado jamás visto
"Triangulación" infectó decenas de iPhones pertenecientes a empleados de Kaspersky con sede en Moscú.
El miércoles, investigadores presentaron hallazgos intrigantes en torno a un ataque que, durante cuatro años, insertó puertas traseras en decenas, si no miles, de iPhones, muchos de los cuales pertenecían a empleados de la firma de seguridad con sede en Moscú, Kaspersky. Entre los descubrimientos más importantes: los atacantes desconocidos lograron un nivel de acceso sin precedentes al explotar una vulnerabilidad en una característica de hardware no documentada que pocos, si es que alguien fuera de Apple y proveedores de chips como ARM Holdings, conocían.
"La sofisticación del exploit y la oscuridad de la característica sugieren que los atacantes tenían capacidades técnicas avanzadas", escribió en un correo electrónico Boris Larin, investigador de Kaspersky. "Nuestro análisis no ha revelado cómo se enteraron de esta característica, pero estamos explorando todas las posibilidades, incluida la divulgación accidental en versiones anteriores de firmware o código fuente. También podrían haberla descubierto a través de ingeniería inversa de hardware".
Cuatro zero-days explotados durante años
Otras preguntas permanecen sin respuesta, escribió Larin, incluso después de aproximadamente 12 meses de investigación intensiva. Además de cómo los atacantes se enteraron de la característica de hardware, los investigadores todavía no saben cuál es exactamente su propósito. También se desconoce si la característica es una parte nativa del iPhone o habilitada por un componente de hardware de terceros como CoreSight de ARM.
La campaña de puertas traseras masivas, que según funcionarios rusos también infectó los iPhones de miles de personas que trabajan dentro de misiones diplomáticas y embajadas en Rusia, según funcionarios del gobierno ruso, salió a la luz en junio. Durante un período de al menos cuatro años, Kaspersky dijo, las infecciones se entregaron en textos de iMessage que instalaron malware a través de una compleja cadena de exploits sin requerir que el receptor tomara ninguna acción.
Con eso, los dispositivos fueron infectados con spyware de funcionalidad completa que, entre otras cosas, transmitía grabaciones de micrófono, fotos, geolocalización y otros datos sensibles a servidores controlados por los atacantes. Aunque las infecciones no sobrevivían a un reinicio, los atacantes desconocidos mantenían su campaña viva simplemente enviando a los dispositivos un nuevo texto malicioso de iMessage poco después de que los dispositivos se reiniciaran.
Una nueva infusión de detalles divulgados el miércoles dijo que "Triangulación", el nombre que Kaspersky dio tanto al malware como a la campaña que lo instaló, explotó cuatro vulnerabilidades zero-day críticas, lo que significa serios fallos de programación que eran conocidos por los atacantes antes de que fueran conocidos por Apple. La compañía desde entonces ha parcheado las cuatro vulnerabilidades, que se rastrean como:
Además de afectar a los iPhones, estos zero-days críticos y la función de hardware secreta residían en Macs, iPods, iPads, Apple TVs y Apple Watches. Además, los exploits que Kaspersky recuperó fueron intencionalmente desarrollados para trabajar en esos dispositivos también. Apple también ha parcheado esas plataformas. Apple declinó hacer comentarios para este artículo.
Detectar infecciones es extremadamente desafiante, incluso para personas con experiencia forense avanzada. Para aquellos que quieran intentarlo, una lista de direcciones de Internet, archivos y otros indicadores de compromiso está aquí.
Función misteriosa del iPhone resulta clave para el éxito de la Triangulación
El detalle más intrigante es el objetivo de la característica de hardware hasta ahora desconocida, que resultó ser clave para la campaña Operación Triangulación. Un zero-day en la característica permitió a los atacantes eludir protecciones avanzadas de memoria basadas en hardware diseñadas para salvaguardar la integridad del sistema del dispositivo incluso después de que un atacante ganara la capacidad de alterar la memoria del kernel subyacente. En la mayoría de las otras plataformas, una vez que los atacantes explotan con éxito una vulnerabilidad del kernel, tienen control total del sistema comprometido.
En los dispositivos Apple equipados con estas protecciones, tales atacantes todavía no pueden realizar técnicas clave de post-explotación, como inyectar código malicioso en otros procesos o modificar el código del kernel o datos sensibles del kernel. Esta poderosa protección fue eludida al explotar una vulnerabilidad en la función secreta. La protección, que raramente ha sido derrotada en los exploits encontrados hasta la fecha, también está presente en los CPUs M1 y M2 de Apple.
Los investigadores de Kaspersky se enteraron de la función de hardware secreta solo después de meses de extensa ingeniería inversa de dispositivos que habían sido infectados con Triangulación. En el transcurso, la atención de los investigadores se centró en lo que se conocen como registros de hardware, que proporcionan direcciones de memoria para que las CPU interactúen con componentes periféricos como USBs, controladores de memoria y GPUs. Los MMIOs, abreviatura de Memory-mapped Input/Outputs, permiten que la CPU escriba en el registro de hardware específico de un dispositivo periférico específico.
Los investigadores encontraron que varias de las direcciones MMIO que los atacantes usaron para eludir las protecciones de memoria no se identificaron en ningún llamado árbol de dispositivos, una descripción legible por máquina de un conjunto particular de hardware que puede ser útil para los ingenieros de reversa. Incluso después de que los investigadores buscaron más a fondo en códigos fuente, imágenes del kernel y firmware, todavía no pudieron encontrar ninguna mención de las direcciones MMIO.
"Esta no es una vulnerabilidad ordinaria", dijo Larin en un comunicado de prensa que coincidió con una presentación que hizo en el 37º Congreso de Comunicación del Caos en Hamburgo, Alemania. "Debido a la naturaleza cerrada del ecosistema de iOS, el proceso de descubrimiento fue tanto desafiante como que lleva mucho tiempo, requiriendo una comprensión completa de las arquitecturas de hardware y software. Lo que este descubrimiento nos enseña una vez más es que incluso las protecciones avanzadas basadas en hardware pueden ser ineficaces frente a un atacante sofisticado, particularmente cuando hay características de hardware que permiten eludir estas protecciones."
En un artículo de investigación también publicado el miércoles, Larin agregó:
Si tratamos de describir esta característica y cómo la usan los atacantes, se reduce a esto: los atacantes son capaces de escribir los datos deseados en la dirección física deseada con el bypass de la protección de memoria basada en hardware escribiendo los datos, dirección de destino y hash de los datos a registros de hardware desconocidos, no utilizados por el firmware, del chip.
Nuestra suposición es que esta característica de hardware desconocida probablemente estaba destinada a ser utilizada para propósitos de depuración o pruebas por ingenieros de Apple o la fábrica, o fue incluida por error. Dado que esta característica no es utilizada por el firmware, no tenemos idea de cómo los atacantes sabrían cómo usarla
El mismo día de junio pasado que Kaspersky divulgó por primera vez que la Operación Triangulación había infectado los iPhones de sus empleados, funcionarios del Centro Nacional de Coordinación de Incidentes Informáticos de Rusia dijeron que los ataques eran parte de una campaña más amplia de la Agencia de Seguridad Nacional de EE. UU. que infectó varios miles de iPhones pertenecientes a personas dentro de misiones diplomáticas y embajadas en Rusia, específicamente de aquellos que representan países de la OTAN, naciones postsoviéticas, Israel y China. Una alerta separada del FSB, el Servicio Federal de Seguridad de Rusia, alegó que Apple cooperó con la NSA en la campaña. Un representante de Apple ha negado la afirmación. Los investigadores de Kaspersky, mientras tanto, han dicho que no tienen pruebas que corroboren la afirmación de la participación de la NSA o Apple.
"Actualmente, no podemos atribuir concluyentemente este ciberataque a ningún actor de amenaza conocido", escribió Larin en el correo electrónico. "Las características únicas observadas en la Operación Triangulación no se alinean con los patrones de campañas conocidas, lo que hace que la atribución sea desafiante en esta etapa."
Posiblemente el exploit más sofisticado jamás visto
Los hallazgos presentados el miércoles también detallan las complejidades de la cadena de exploits que subyacen a las infecciones de Triangulación. Como se mencionó anteriormente, la cadena explotó cuatro zero-days para asegurar que el malware de Triangulación se ejecutara con privilegios de root y ganara control completo sobre el dispositivo y los datos del usuario almacenados en él.
Comenzó explotando CVE-2023-41990, una vulnerabilidad en la implementación de Apple del tipo de letra TrueType. Este eslabón inicial de la cadena, que utilizó técnicas que incluyen la programación orientada al retorno y la programación orientada al salto para eludir las defensas modernas contra exploits, permitió a los atacantes ejecutar código de forma remota, aunque con privilegios mínimos del sistema.
Con ese obstáculo inicial superado, el siguiente eslabón en la cadena de exploits apuntó al kernel de iOS, el núcleo del sistema operativo reservado para las funciones y datos más sensibles del dispositivo. Esta manipulación del kernel se produjo gracias a CVE-2023-32434 y CVE-2023-38606. CVE-2023-32434 es una vulnerabilidad de corrupción de memoria en XNU, un mecanismo diseñado para resistir intentos de corrupción de la memoria dentro del kernel de iOS. Este eslabón continuó explotando CVE-2023-38606, la vulnerabilidad que reside en los registros MMIO secretos. Permitió eludir la Capa de Protección de Páginas, la defensa discutida anteriormente que previene la inyección de código malicioso y la modificación del kernel incluso después de que un kernel ha sido comprometido.
La cadena luego explotó una vulnerabilidad de Safari rastreada como CVE-2023-32435 para ejecutar shellcode. El shellcode resultante, a su vez, volvió a explotar CVE-2023-32434 y CVE-2023-38606 para finalmente lograr el acceso root requerido para instalar la última carga útil de spyware.
Kaspersky proporcionó el siguiente diagrama de la cadena de exploits.
Diagrama de la cadena de exploits de Triangulación.
El resumen de Kaspersky de la cadena de exploits es:
- Los atacantes envían un archivo adjunto malicioso de iMessage, que es procesado por la aplicación sin mostrar ningún signo al usuario
- Este archivo adjunto explota la vulnerabilidad CVE-2023-41990 en la instrucción de fuente TrueType no documentada, exclusiva de Apple, ADJUST para una ejecución de código remoto. Esta instrucción existía desde principios de los 90 y la solución la eliminó.
- Utiliza la programación orientada al retorno/salto, múltiples etapas escritas en el lenguaje de consulta NSExpression/NSPredicate, parcheando el entorno de la biblioteca JavaScriptCore para ejecutar un exploit de escalada de privilegios escrito en JavaScript.
- Este exploit de JavaScript está ofuscado para hacerlo completamente ilegible y para minimizar su tamaño. Aún así, tiene alrededor de 11000 líneas de código que se dedican principalmente al análisis y manipulación de la memoria de JavaScriptCore y el kernel.
- Explotó la función de depuración de JavaScriptCore DollarVM ($vm) para obtener la capacidad de manipular la memoria de JavaScriptCore desde el script y ejecutar funciones de API nativas.
- Fue diseñado para admitir iPhones antiguos y nuevos e incluyó un bypass de Código de Autenticación de Punteros (PAC) para la explotación de modelos más nuevos.
- Utilizó una vulnerabilidad de desbordamiento de enteros CVE-2023-32434 en las syscalls 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 desde el nivel de usuario.
- Utiliza registros de E/S mapeados en memoria de hardware (MMIO) para eludir la Capa de Protección de Páginas (PPL). Esto se mitigó como CVE-2023-38606.
- Después de explotar todas las vulnerabilidades, el exploit de JavaScript puede hacer lo que quiera con el dispositivo y ejecutar spyware, pero los atacantes eligieron: a) lanzar el proceso imagent e inyectar una carga útil que limpia los artefactos de explotación del dispositivo; b) ejecutar el proceso Safari en modo invisible y reenviarlo a la página web con la siguiente etapa.
- La página web tiene el script que verifica a la víctima y, si las comprobaciones pasan, recibe la siguiente etapa, el exploit de Safari.
- El exploit de Safari utiliza la vulnerabilidad CVE-2023-32435 para ejecutar un shellcode.
- El shellcode ejecuta otro exploit de kernel en forma de archivo de objeto mach. Utiliza las mismas vulnerabilidades CVE-2023-32434 y CVE-2023-38606, también es masivo en tamaño y funcionalidad, pero es completamente diferente del exploit de kernel escrito en JavaScript. Solo algunas partes relacionadas con la explotación de las vulnerabilidades mencionadas anteriormente son las mismas. Aún así, la mayor parte de su código también se dedica al análisis y manipulación de la memoria del kernel. Tiene varias utilidades de post-explotación, que en su mayoría no se utilizan.
- El exploit obtiene privilegios de root y procede a ejecutar otras etapas responsables de la carga de spyware. Ya cubrimos estas etapas en nuestras publicaciones anteriores.
La presentación del miércoles, titulada Lo que obtienes cuando atacas iPhones de investigadores, es un recordatorio más de que incluso frente a defensas innovadoras como la que protege el kernel del iPhone, los ataques cada vez más sofisticados siguen encontrando formas de vencerlas.
"Descubrimos y analizamos nuevos exploits y ataques que los usan a diario", escribió Larin. "Hemos descubierto y reportado más de treinta zero-days en la naturaleza en productos de Adobe/Apple/Google/Microsoft, pero esta es definitivamente la cadena de ataque más sofisticada que hemos visto".
Contenido traducido al español con fines informativos, cualquier cambio en la publicación original no será reflejada en esta entrada, favor referirse a la fuente para obtener el acceso a cualquier actualización del contenido. Para la traducción se utilizó un LLM, al ser una traducción automática puede contener errores gramaticales o de otro tipo, me pueden enviar un mensaje.
Comentarios
Publicar un comentario