miércoles, mayo 29, 2013

Cómo meter un troyano en iOS y espiar un iPhone o iPad

A pesar de que un terminal iPhone o iPad con iOS cuenta con muchas protecciones contra apps no deseadas en la AppStore, y de que el sistema está limitado a usuarios no privilegiados por defecto, siguen existiendo posibilidades y formas de meter un malware dentro de un terminal iPhone o iPad para espiar a su dueño. Esto es algo que se explica en detalle en el capítulo de Malware en iOS del libro Hacking iOS: iPad & iPhone, pero os voy a hacer un resumen de las distintas posibilidades.

1.- Terminal iPhone con Jailbreak usando Cydia: Si el usuario ha realizado Jailbreak existen varias formas de instalarle el malware al terminal. La primera de ella sería posible instalar el troyano desde algún repositorio usando Cydia. Para ello habría que subir la app del troyano a Cydia u otro repositorio y convencer al usuario que instale esa aplicación con trucos de ingeniería social, como por ejemplo dentro de un juego.

Figura 1: Pasos para instalar FlexiSpy en iOS con Jailbreak. Repositorios a añadir.

Muchos repositorios de apps con Jailbreak no son tan escrupulosos en los controles y es posible subir una app con un troyano en ella. En los repositorios oficiales no es tan sencillo, pero como ya vimos ha habido algún caso de apps maliciosas haciendo click fraud en este intro. El troyano FlexiSPY se descarga desde Cydia.

2.- Terminal con Jailbreak usando Juice Jacking: Si el terminal tiene Jailbreak y no se han cambiado las contraseñas de los usuarios por defecto entonces se puede poner el troyano usando una conexión OpenSSH o USBMux con solo conectar el terminal a un equipo desde el que se va a hacer el Juice Jacking. Un troyano que se puede instalar para este método es iKeyGuard.

Figura 2: Proceso de instalación de iKeyGuard en iOS con Jailbreak

3.- El terminal no tiene Jailbreak y tiene un passcode complejo pero tiene un chip A4: Los terminales iPhone 4 y los iPad 1 cuentan con un bug Limera1n en el BootROOM que permite que se pueda hacer Jailbreak en el arranque sin necesidad de conocer el passcode. Haciendo el Jailbreak es posible instalar un Custom Bundle - un programa empaquetado que se ejecuta en el terminal - para meter OpenSSH o un malware con RedSn0w en el terminal una vez hecho el Jailbreak. Eso sí, el terminal quedaría con Jailbreak y el usuario podría darse cuenta, aunque los troyanos comerciales ocultan las pistas de ello. Es necesario tener acceso físico.

Figura 3: Instalación de Custom Bundle en un terminal con Jailbreak

4.- El terminal no tiene Jailbreak, pero tiene un chip A4 y un passcode sencillo: En ese caso lo mejor es hacer un proceso de ruptura del passcode haciendo un Untethered Jailbreak usando iPhone DataProtection o Gecko. Una vez averiguado el passcode se reinicia el terminal para que pierda el Untethered Jailbreak y se inicia sesión con él passcode para instalar un troyano basado en un provisioning profile - fichero de despliegue temporal firmado por un Apple Developer ID -. Para ello será necesario tener acceso físico al terminal y haber creado un malware a medida - esto se explica en detalle en el libro de Hacking iOS: iPhone & iPad

Figura 4: Muestra de FinSpy para iOS firmada por un Apple Developer ID

Este truco es el que utiliza FinSpy para iOS de FinFisher para hacer ataques dirigidos, y será necesario obtener del terminal no también el UDID para crear el provisioning profile.

5.- El terminal no tiene Jailbreak y es un iPhone 4S, iPhone 5/5S o iPhone 6, así que se usa un Provisioning Profile: A pesar de que un terminal no tenga hecho el Jailbreak, si es posible convencer al usuario de que acepte un provisioning profile - o se ha podido averiguar el passcode con algún truco local -, será posible instalar un troyano en el equipo si este va firmado digitalmente. Por ello, si se cuenta con un Apple Developer ID se puede firmar el código e instalarlo en el equipo aun no habiéndose hecho el Jailbreak.

Si se tiene acceso físico al equipo y se conoce el passcode o se tiene acceso a un equipo con el que está pareado, entonces se podría instalar fácilmente el troyano con el provisioning profile o incluso utilizar la herramienta WhatsApp Anti-Delete Protection Tool para monitorizar los mensajes de WhatsApp borrados. De forma similar funciona MacTans, haciendo uso de un terminal desbloqueado que se conecta sin passcode a un equipo camuflado que simula ser un cargador. Automáticamente genera un provisioning profile para el equipo conectado e instala la app accediendo al sistema de ficheros.

Una evolución de esto fue el ataque de Wirelurker y Masque, donde usando provisioning profiles desde el equipo Windows/OS X pareado al iPhone, se introduce una app que reemplaza a una de las originales del equipo, pero troyanizada. En este caso se puede ver la secuencia de pasos para meter un Gmail troyanizado firmado por un provisioning profile.

Figura 5: Ataque Masque para iOS. Se mete un Gmail troyanizadoa partir de un falso Flappy Birds

Por último, hemos visto que software de espionaje como Hacking Team utilizan las herramientas de Jailbreak para infectar el dispositivo realizando primero el proceso de jailbreak cuando está el iPhone pareado.

Figura 6: Hacking Team primero hace el jailbreak y luego instala el troyano

6.- Sin Jailbreak, sin acceso físico y sin provisioning profile vía App Store: Aunque parece que meter un malware un la AppStore es muy complicado, ya ha habido casos de software malicioso introducido vía AppStore como Find & Call, los robos de datos de los juegos de Storm-8, o los comportamientos "maliciosos" de algunas apps como Twitter for iOS o Path

Figura 7: Los juegos de Storm 8 que robaban datos

Además, hemos tenido caso de apps "no maliciosas" que han insertado malware para Windows o usado técnicas de descarga de malware, además de contar con pruebas de concepto como la de InstaStock de Charly Miller. Todas ellas pasaron todos los controles de la AppStore. Si eres capaz de hacerlo tú, solo deberías convencer al usuario de que se instalase esa app.

Esto es solo un resumen del capítulo del Libro de Hacking iOS: iPhone & iPad que hemos escrito entre muchos profesionales de la seguridad, y que de verdad creo que ha sido uno de los mejores libros publicados por nosotros hasta el momento.

Saludos Malignos!

26 comentarios:

Anónimo dijo...

Tambien se pueden hacker centrales nucleares si un tío tuyo trabaja en ella y un día te enseña el sistema de control de la misma y tu llevas un virus en una eprom igual a la que usa el sistema de boot de la central y la cambias sin que nadie se descuenta...

Chema Alonso dijo...

@anónimo, no sé cuantos tíos tienes tú, pero yo troyanos en iOS ya he visto varios comerciales instalados, y los de FinFisher los han metido en alguno más..

Saludos!

Anónimo dijo...

Anónimo, la seguridad informatica es así, evitar cualquier tipo de intrusión, por complicado este el tema.

Como siempre, gracias por todos los aportes Chema.

Anónimo dijo...

Muchas gracias por la información.;-)

Anónimo dijo...

Ja, ja, ja.
Yo, desde mi ignorancia supina, me parto con vuestros comentarios.
Hombre, un troyano en una central nuclear ya colaron; con un usb que le dieron a no sé quién.
Pero tiene pinta de que Chema sabe de lo que habla. Y de que sí: que nada es "inhackeable". Pero claro, hay que saber cómo hacerlo.
Mejor que nos avisen de los riesgos ¿no?

F4l53-19 dijo...

Yo no tengo tío carnal que trabaje en una central, pero en el curro algún tío me tocará.

Fanático del IOS será y me dirá como tal... en este no hace falta antivirus ni fireguál, somos como en Linux, ahí es na.

Así que si en Apple has de currar, y alguno de estos te tocará, recuerda que si no haces caso a Chema, será como tener un tío en Alcalá que, ni tiene idea ni seguridá.

(Me salió la vena poética) XD

Anónimo dijo...

@F41I53-19: JA, JA, JA. ¡Cómo mola! Encima en verso... Y está muy logrado.

Me encanta este foro: además de aprender, me parto de la risa.

Anónimo dijo...

Me troncho, todo es: acceso fisico al dispositivo y/o convencer al usuario de instalar algo
Jajajaja
Pues no vas a tener acceso fisico a mi dispositivo y no instalo más aplicaciones de las que ya tengo instaladas y no las actualizo, si funciona pues asi se queda

Chema Alonso dijo...

@Anónimo, ¿Te has leído el artículo? Hasta la NSA usa esos métodos.. y así se hace en todos los sistemas operativos desde hace años. Llevas dos comentarios seguidos, y en ninguno lees los artículos...

Saludos!

Jimmy Hop dijo...

Muy Buenas tardes a todos, necesito saber si es posible meter el troyano a través de un correo electrónico sms. Gracias.

Anónimo dijo...

Hola, mi pregunta es la siguiente:
Tengo pruebas de que me han espiado pero no sé desde qué dispositivo lo han hecho. Tengo un iphone 4s y, quien lo hizo es muy bueno en informática. La única solución de estar tranquila que ya no me espían es cambiando el terminal??

piensoperonoescribo dijo...

Me he creado una cuenta para añadir un comentario dando las gracias, joder es increible, ¿Podría contactar contigo de alguna manera? ¿e-mail o skype?

Repararelpc dijo...

Muy interesante el artículo pero también decir que hay multitud de aplicaciones en cydiia para este cometido.
No es necesario tanta parafernalia si se trata de descargarlo de cydia, lo interesante sería hacerlo sin tener que jailbrekear el teléfono

Anónimo dijo...

Entiendo entonces que si me han instalado un provisioning profile este puede ser detectado con algun programa forense y ver el nombre del apple developer que lo ha instalado verdad ?

reparar portatiles madrid dijo...

ahora hay muchos informaticos que se prestan para lo malo

Global Oltenia dijo...

No es tan facil como parece, luego todo se convierte en complicaciones, Ios se actualiza cada dos por tres y las aplicaciones que no son oficiales o no estan registradas no pueden obtener todos los accesos.

investigadores privados dijo...

en estos tiempos hay informático buenos y malos

Reformas Leinad dijo...

Muy interesante este artículo me ha gustado y me ha quitado muchas dudas de todas formas opino igual que los otros visitantes hay gran cantidad de aplicaciones en cydiia para este tipo de funciones y son muy sencillas que para mi .
No es necesario tanta parafernalia si se trata de descargarlo de cydia, lo interesante sería hacerlo sin tener que jailbrekear el teléfono

Unknown dijo...

Ok. Primero, tienes que tener en cuenta fe que el spyware no sea universal, porque sino, la macate'. Te recomiendo que vayas a un cybercafe y instales una alternativa a iTunes. Luego, borra todos los archivos. Y, si es posible, comprale otro dispositivo de almacenamiento interno. Espero haberte ayudado.

Unknown dijo...

Tengo un iPhone 6 sin jailbreak y me salio como que se estaba reproduciendo https://secure-ds.serving-sys.com, como un video de 20 segundos pero no me dejaba verlo... Es un troyano? Alguien está vigilandome? Estoy con la mosca detras de la oreja y tengo sospechas

Unknown dijo...

Buenas, un conocido tiene fotos mías en un iPhone 6 q no quiero que tenga, hay alguna forma de borrarlo el contenido del teléfono iphone 6 mediante virus?

Unknown dijo...

Buenas, un conocido tiene fotos mías en un iPhone 6 q no quiero que tenga, hay alguna forma de borrarlo el contenido del teléfono iphone 6 mediante virus?

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Hola Malignos podrias confirmar si la aplicacion flexispy funciona realmente como indica o es una estafa


Muchas gracias y saludos de otro Maligno jajaja muy buenos articulos publicas gracias de nuevo a todos por compartir el conocimiento

Historias para crecer dijo...
Este comentario ha sido eliminado por el autor.
Historias para crecer dijo...
Este comentario ha sido eliminado por el autor.

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