lunes, septiembre 21, 2015

XCodeGhost: Más caminos para infectar iPhone & iPad

Negar la existencia del malware para tecnologías Apple siempre ha sido una estrategia de la compañía de la manzana mordida. De hecho tuvieron hasta una página web que presumía de eso en el pasado, a pesar de que ya habíamos visto ya mucho software malicioso para OS X y algunas muestras para los dispositivos "mágicos" iPhone & iPad. Las guerras con las casas de seguridad que desarrollan sistemas antimalware fueron grande y llenaron muchas páginas de debate en las revistas especializas sobre si el modelo de Apple funcionaría o no funcionaría.

Figura 1: XCodeGhost. Más caminos para infectar iPhone & iPad
Lo cierto es que poco a poco hemos ido viendo como los creadores de malware para iOS han ido expandiendo todos aquellos métodos que recogía yo para meter un troyano en iPhone, y los añadiendo cada vez ataques más sofisticados.


Figura 2: Tu iPhone es tan (in)seguro como tu Windows

De todas las técnicas de ataque a un iPhone versó la charla que di hace tiempo en Barcelona dedicada a la seguridad a seguridad iOS, que titulé "Tu iPhone es tan (in)seguro como tu Windows".

Los terminales con jailbreak

Por supuesto, si el terminal tiene jailbreak los atacantes lo tienen mucho más fácil, ya que todas las protecciones de CodeSigning y es bastante sencillo. En el libro de Hacking iOS: iPhone & iPad explicamos ya hace tiempo cómo se pueden crear estos programas maliciosos y cómo se pueden utilizar. Son estos los que utilizan los troyanos para espiar whatsapp y demás datos.


Figura 3: El Troyano de espionaje Stealth Genie para iOS que fue cerrado por el FBI usaba jailbreak

Siguiendo esta premisa recientemente hemos visto cómo se robaban con Tweaks maliciosos los datos de cientos de miles de usuarios, como en el caso de KeyRaider o LockSaverFree.

Sin jailbreak, pero infectando el equipo

Otra de las vías de entrada que se tenían identificadas es la de infectar el sistema operativo al que se conecta pareado el terminal iPhone o iPad. En ese momento se podrían seguir varias estrategias ya conocidas. La primera de ellas, aprovechando que el terminal está pareado se podrían robar o manipular ficheros, como binarycookies o bases de datos. Tan sencillo como los ejemplos de JuiceJacking que tantas veces he mostrado yo.


Figura 4: Robando una cuenta de Facebook de iPhone con JuiceJacking

La segunda de las estrategias, un poco más compleja y elaboradas, consiste en meter una app firmada por un Provisioning Profile. Este es otro método de los que se explican en el libro de Hacking iOS, y consiste en leer el UDID del terminal conectado y hacer un paquete de software malicioso especialmente creado para ese terminal. El usuario solo deberá aceptar el mensaje y listo. 


Figura 5: El ataque Masque infectado terminales con Provisioning Profiles creados adhoc

El ataque WireLurker y Masque que hemos visto recientemente utilizaban estas técnicas para meter un malware en los terminales iPhone, y vimos que se extendió por muchos sitios.


Figura 6: Instalando una app maliciosa en un iPhone vía AirDrop y Provisioning Profile

Una extensión de esta técnica ha sido la publicada por Mark Dowd que demostraba cómo esto es posible hacerlo vía AirDrop metiendo un malware en el terminal haciendo el Provisioning Profile del terminal de la víctima.

Figura 7: Hacking Team primero hacía el jailbreak y luego metía el troyano

La última de las estrategias, teniendo el sistema operativo infectado, consiste en que el malware haga directamente el proceso de jailbreak al dispositivo y luego le enchufe lo que quiera. Esto lo ha aprovechado en el pasado Hacking Team - además de usar Masque -, como ya vimos.

Infección del compilador: El ataque XCodeGhost

El último de los métodos de los que os quiero hablar aquí consiste en uno que hemos visto ayer mismo pero que se conocía desde tiempo atrás su posibilidad. La idea es tan "sencilla" como conseguir infectar el compilador. En Apple el compilador XCode con el que se desarrollar las apps en iOS. Con una versión manipulada e infectada se ha estado consiguiendo que los propios desarrolladores legítimos de apps estén generando software con malware sin darse cuenta, y algunas de ellas son tan populares como WeChat Messenger.

Figura 8: Código malicioso inyectado en XCodeGhost

Las apps, una vez compiladas y firmadas por el desarrollador, son subidas al market de AppStore con el software malicioso sin que el desarrollador sea consciente de que su app lleva un Alien metido en el código. Fácil de entender.

Lo curioso de todo esto, y es lo que ha motivado esta reflexión, es que este método - que se ha descubierto en uso en China - hace tiempo, concretamente en 2012, fue descrito por Eugene Kaspersky en una conferencia. El artículo que en Seguridad Apple escribimos en aquel entonces recogía este método con estas palabras.

Figura 9: Explicación de este ataque recogida en 2012

Sí, a día de hoy el malware en Apple iOS no es comparable al que podemos ver en otras plataformas como Android, pero lo que es cierto es que sí que existen formas de entrar en un terminal iOS con malware (y cada día se descubren más), así que además de aplicar todos los esfuerzos en la fase de Prevenir que entre el malware, también hay que dedicar recursos y tiempo a las técnicas de Detectar a los que ya lo hayan conseguido y Responder cuando se descubra que ya tuvo éxito.

Saludos Malignos!

5 comentarios:

Pedro Fernández dijo...

Y cómo han conseguido que los 76 desarrolladores utilicen compiladores troyanizados?

Anónimo dijo...

Hola, y que antimalware me recomienda para un iphone.

Anónimo dijo...

LOVE THIS BLOG ♥

Anónimo dijo...

Existe mucha gente que afirmaria con total seguridad y sin pestañear que Mac o Iphone es Inhackeable...No todo son los virus y troyanos, existen mas vectores de ataque y espionaje.

Anónimo dijo...

Hola, siempre has aconsejado tapar las cámaras de los portátiles pero no la de nuestros móviles. Quisiera saber si es posible infectar de ese modo nuestro Iphone?

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares