Menú principal

viernes, 9 de enero de 2015

Cómo se puede bloquear cualquier cuenta de Apple

En los últimos meses ha existido mucho revuelo con iCloud de Apple, el caso de las famosas, el fallo de diseño que permitía que se hicieran ataques de fuerza bruta con iBrute a los Apple ID, herramientas como iDict que permitían explotar este tipo de fallos, etcétera. Hace un tiempo en Eleven Paths hicimos una pequeña prueba de concepto para ver como Apple solucionaba el fallo que permitía realizar fuerza bruta, y verificar que estaba solucionado. Pudimos observar que sí, que a los X intentos la cuenta quedaba bloqueada, teniendo que ir a iForget a rescatar la cuenta. Hemos visto también en las últimas semanas como si tienes activada la Verificacion en Dos Pasos de tu cuenta y se te olvida la clave de recuperación Apple no te la desbloqueará.

Figura 1: Cómo se puede bloquear cualquier cuenta de Apple

Hoy queremos exponer el pequeño script que realizamos que permite bloquear un Apple ID conociendo el correo electrónico de la persona. Hay mucha gente que lleva su vida digital diaria en iCloud, y el impacto que esto puede tener si se automatiza para que aunque el usuario recupere su cuenta ésta vuelva a ser bloqueada es grande. El funcionamiento del login de sitios como iCloud es el siguiente:
  1. En el panel de login se inicia sesión, si la contraseña es incorrecta se devuelve un código HTTP 200. 
  2. Al tercer intento con una contraseña incorrecta se devuelve un código 302, es decir una redirección. 
  3. Ahora el navegador del usuario obtiene una nueva cookie y se procede a que el usuario vuelva a introducir contraseñas.
  4. Cuando la cuenta queda bloqueada, no se produce el paso 2, es decir, en ningún momento se redirecciona al usuario, por lo que siempre se devuelve la misma página con un código de respuesta 200.
Prueba de Concepto de bloqueo de cuentas Apple

En primer lugar podemos observar como al ejecutar el script se ven claramente los pasos comentados anteriormente. La cuenta a bloquear ha sido configurada en el interior del script.

Figura 2: Lanzamiento del script

Una vez que se intenta iniciar sesión diversas tres veces, se puede ver el redirect que se devuelve al script por lo que éste debe volver a obtener una cookie y continuar con el proceso. Es importante ver que la contraseña va cambiando, son los números y letras que se ven entre los códigos de respuesta HTTP. Si siempre enviamos la misma contraseña no obtendremos el redirect por lo que no sabremos si el proceso es válido o no.

Figura 3: Detección de cuenta bloqueada

En la imagen anterior se puede ver como empezamos a recibir códigos de respuesta HTTP con valor 200, esto es sospechoso, por lo que el script se detiene e imprime por pantalla el texto "blocked!?". Ahora ya no obtenemos el código de respuesta 302, por lo que parece que algo extraño ocurre con el servidor, por lo que abriendo un navegador intentamos iniciar sesión con la cuenta configurada en el script.

Figura 4: Comprobación de cuenta bloqueada

Como se ha visto es bastante sencillo bloquear el Apple ID de cualquier persona conociendo su dirección de correo electrónico. Evitar este tipo de ataques sería sencillo con el equipo de confianza, es decir, configurar en la cuenta un equipo de confianza desde el cual se puede iniciar sesión aunque se esté recibiendo ataques desde otras ubicaciones, pero recordad que si no protegéis vuestros terminales, existen muchas otras formas de hackear iPhone o iPad.

No hay comentarios:

Publicar un comentario en la entrada

Entrada destacada

Vente al "Security Innovation Day 2016: Let Security Be"

El Security Innovation Day es el evento desde el que Telefónica y ElevenPaths comparten los últimos lanzamientos y novedades en innovació...

Otras historias relacionadas

Entradas populares