martes, febrero 02, 2016

"Robar" el backup de un iPhone en iCloud con iLoot

Algo más de un año después del famoso “Celebgate”, la mayoría de los usuarios de iPhone que usan Apple iCloud para almacenar sus copias de seguridad siguen siendo víctimas propicias para el mismo tipo de ataque.

Figura 1: "Robar" el backup de un iPhone en iCloud con iLoot

Tal y como explicaba Chema Alonso en la demo que hizo en el programa de televisión "El Hormiguero", si mediante un sencillo ataque de Spam Phishing o de Spear Phishing de los que se explican en el libro de Hacking iOS: iPhone & iPad, un atacante consigue la contraseña de una cuenta de AppleID que le de acceso a los servicios de Apple iCloud, hay poco que el usuario pueda hacer para salvarse.


Figura 2: Demo de robar las fotos de un backup de iPhone

Esto no sería del todo cierto, ya que Apple, tras sufrir el escándalo del Celebgate hizo una cosa bien y una cosa mal. Lo que Apple hizo bien - bajo un prisma estricto de seguridad - fue dar al usuario la posibilidad de añadir la Verificación en 2 Pasos al backup de Apple iCloud. Para explicarlo de forma sencilla, una persona puede poner la Verificación en 2 Pasos a su cuenta de Apple ID y generar una contraseña de aplicación para hacer la copia de seguridad en la nube.

Figura 3: Verificación en dos pasos de Apple

Si un usuario activa esta opción de seguridad, a un atacante no le valdría con robar el usuario y la contraseña de Apple ID, y debería obtener o el terminal iPhone, la SIM del teléfono o la contraseña de aplicación. Sin embargo, no todos los usuarios lo activan. Además, para un atacante, tal y como ya contó Chema Alonso en su artículo de "Cotillear la seguridad de las cuentas de Google, Facebook y Apple", es fácil saber si este usuario ha hecho los deberes y tiene la Verificación en 2 pasos o no lo tiene.

Figura 4: Una cuenta de Apple sin Verificación en dos pasos. Cuando se intenta 
recuperar la contraseña da estas opciones en lugar de pedir el Recovery Key.

Lo que hizo mal Apple es crear el gancho de Phishing Universal, o lo que es lo mismo, enviar una alerta de seguridad por e-mail cada vez que un usuario accedía a tu cuenta de Apple iCloud, lo que puede ser usado para engañar a las víctimas en un ataque de Phishing. Hoy en día el principal problema de la seguridad informática ha pasado de estar entre la silla y el teclado a estar agarrando el smartphone. Dentro del entorno técnico es raro que a alguien “pique” en un ataque de Phishing en el que se piden las credenciales o en el que se solicita reestablecer la contraseña de su cuenta. Si bien, en el mundo real lo más probable es que al usuario le aparezca el famoso error ID-10T y acaben miles de cuentas comprometidas, como ya se vio en el caso de Oleg Pliss donde se robaron grandes cantidades.

Figura 5: Correo que envía Apple cuando alguien accede a Apple iCloud

Como ya sabemos, para la mayoría de las empresas, la falta de formación de sus empleados en materia de seguridad informática puede ser un gran problema al que hay enfrentarse activamente para ver si la compañía está lista para enfrentarse a un ataque de phishing, y para ello lo mejor es tener a los empleados siempre alerta. En este caso más aún, si tenemos en cuenta que el “target” más común de los atacantes en todas las organizaciones, suele ser usuario de iPhone, iPad, iPod o  Apple Watch (como mínimo), y no suele tener un amplio dominio en seguridad informática: El Community Manager.

Figura 6: Opción en iOS para hacer copia de seguridad en Apple iCloud

No es del todo cierto que el Community Manager sea el que menos conocimiento tiene, pero permitidme el toque de humor a costa de nuestros amigos porque para preparar mejor este ataque de Spear Phishing podemos buscar qué empleados que twittean con iPhone si la app que utilizan para poner sus twitts revela el modelo de terminal con el que lo está haciendo. Enviarle un correo de Spear Phsihing vía e-mail y robarle las credenciales puede ser trivial.

Figura 7: Un mensaje de Spear Phishing para robar claves de Apple ID

Una vez que el atacante tiene las credenciales del usuario, tan solo es necesario descargarse la copia de seguridad que el terminal iPhone o iPad guarda en los servicios de almacenamiento de Apple iCloud cada vez que el usuario carga su dispositivo.

Figura 8: Descarga de un backup de iPhone desde Apple iCloud con Elcomsoft Phone Password Breaker

Para ello puede usar programas con licencia comercial como el famoso ElcomSoft. Pero para los hackers amantes del Open Source existe una alternativa llamada iLoot. Esta herramienta es un script escrito en Python que permite descargar copias de seguridad de terminales iOS almacenadas en los servicios de Apple iCloud.

Figura 9: Funcionamiento de iLoot en un Kali Linux

Es totalmente gratuito y el código se puede descargar desde su repositorio de Github. Los pros es que no hay que pagar licencia, y los contras que no tiene interfaz gráfica ya que todo se basa en comandos. O justo al revés, si lo que quieres es poner un CRON que haga esta tarea cada hora o cada día. La manera de comenzar la descarga es tan sencilla como:
/python iloot.py (AppleID) (Password)
Esto dará como resultado un sistema de carpetas, en el que aparecerá absolutamente toda la información del sistema operativo iOS que haya en la nube. Desde la configuración de las aplicaciones, los archivos multimedia, contraseñas guardadas en el dispositivo, etcétera La cantidad de información obtenida con iLoot es inmensa. Aunque no sea una interfaz tan fácil de usar como la de ElcomSoft, es fácil moverse por las carpetas, ya que están organizadas por aplicaciones.

Figura 10: Descarga de backup de iOS en carpetas

El programa ofrece distintas configuraciones adicionales, mediante los comandos:
- Output: Cambiar el directorio donde queremos que se descarguen los archivos.
- Combined: Descargar todas las copias de seguridad en un solo archivo. Por defecto lo hará en archivos separados.
- Snapshot: Únicamente descargar una copia de seguridad con un ID específico.
- Itunes-style: Guarda los archivos en formato iTunes.
- Item-types: Descargar únicamente un tipo de archivos. Sms, fotografías, chats…
- Domain: Descarga documentos que únicamente pertenecen a un determinado dominio.
- Keep-existing: No vuelve a descargar documentos que se hayan descargado con anterioridad (Ninguno con el mismo nombre y peso).
Por si todavía no era fácil, Apple no avisa al usuario de que alguien está descargando una copia de seguridad ni mediante un e-mail, ni SMS, ni exigiendo un 2FA en tiempo real por que no sería práctico. Eso sí, hay que robar el usuario y la contraseña o la password de aplicación.

Conclusión

Llevo tiempo intentando convencer a la gente con la que hablo de estos temas de que la informática ya ha dejado de ser un tema futurista y alejado, la informática es el pan nuestro de cada día y cada día lo será más. Ahora, es necesario que eduquemos a las nuevas generaciones enseñándoles informática desde preescolar como una materia más, concienciándolos de las amenazas y enseñándoles las oportunidades que ofrece, en definitiva, dándoles herramientas para que se puedan defender y para que puedan construir. También a nosotros este entorno tan dinámico nos obliga a seguir aprendiendo cada día, tanto a los que a nivel profesional se ven relacionados con la informática, como a los que a nivel personal quieren usar Whatsapp o el correo electrónico. Los malos están ahí fuera, no se lo pongamos fácil.

Un saludo!

Autor: Pablo García Pérez

7 comentarios:

Sebas Fernadez dijo...

Muy bueno

Debería ser una materia obligatoria

Ya que así está impuesto en esta sociedad

Gracias

Anónimo dijo...

Buenos días Chema,

Precisamente por lo que comentas, nosotros hemos creado MultiPasswords para iOS, que permite almacenar de forma privada tanto notas (donde mucha gente guarda sus contraseñas) como también fotos y vídeos.

Aunque se recupere un backup de MultiPasswords, la información almacenada no es accesible directamente ya que se codifica antes de guardar. También te permite hacer backup en Dropbox o en el Mac usando AirDrop sin comprometer la privacidad.

Sabemos que iOS 9.3 va a añadir Touch ID para acceder a las notas, pero en nuestro caso además de notas se incluyen fotos y vídeos, y todo codificado.

Si te planteas escribir algún artículo sobre Apps para guardar contraseñas y fotos privadas, nos gustaría que nos dieses una oportunidad.

Saludos,
IDT.ES

Santi dijo...

Hola Pablo,
Lo de enseñar informática en los colegios está genial, hasta que descubres que lo que entiende el profesor/a por "informática" es usar el powerpoint :-S

Pablo Garcia dijo...

Buenas Santi,
Por algo hay que empezar. Pero si es verdad que la mayoría de las veces su función es la de enseñar los comandos básicos de excel una y otra vez.
Si el contenido de la materia se planificara como el de matemáticas o lengua, en vez de como el de una asignatura complementaria, otro gallo cantaría. Se podría dar desde Seguridad Informática, a programación básica, bases de datos, ética y responsabilidad en la informática, historia... Por ejemplo, hacer macros con excel ya debería dejar de ser algo para genios y ser algo habitual.
Un saludo!

Pablo Garcia dijo...

Muchas gracias Sebas!
Un saludo

Elmer dijo...

Hola, no puedo hacer correr el script de python, he tratado de hacerlo correr con diversas versiones y nada hasta ahora, ¿alguna ayuda?

Elmer dijo...

Me bota este mensaje cada vez que lo mando a correr:

================== RESTART: C:\Users\CMMS\Desktop\iloot.py ==================

Traceback (most recent call last):
File "C:\Users\CMMS\Desktop\iloot.py", line 4, in
import gevent
File "C:\Python27\lib\site-packages\gevent\__init__.py", line 49, in
from gevent.hub import get_hub, iwait, wait, PYPY
File "C:\Python27\lib\site-packages\gevent\hub.py", line 11, in
from greenlet import greenlet, getcurrent, GreenletExit
ImportError: No module named greenlet
>>>

¿que estoy haciendo mal?

Entrada destacada

Esta semana comienza "ElevenPaths Talks Season 2"

Tras el buen funcionamiento que ha tenido ElevenPaths Talks , la iniciativa de nuestros CSA (Chief Security Ambassadors) de ElevenPaths d...

Entradas populares