martes, abril 13, 2021

WhatsApp: Cómo un atacante puede bloquear tu cuenta sin que la puedas desbloquear

No es la primera vez que en se habla en El lado del mal de “puntos flacos”, debilidades o leaks que WhatsApp ha sufrido y sufre con respecto a la privacidad y seguridad de sus usuarios. Desde debilidades que WhatsApp ya ha arreglado, como la que permitía desbloquearse con un servicio, trucos para esquivar el check azul o para lo contrario, para saber si un usuario ha leído o no un mensaje.

Figura 1: WhatsApp: Cómo un atacante puede bloquear
tu cuenta sin que la puedas desbloquear

También se han visto problemas más serios, como el bypass del SceenLock con FaceID en una versión de WhatsApp, o el posible de robo de una cuenta mediante el acceso a los códigos de recuperación enviados al buzón de voz, como nos contó Yaiza Rubio, pasando por leaks como el que permite saber el nombre de cualquier usuario que te ha enviado un mensaje, los ataques a las empresas mediante el robo de cuentas o mil y un trucos para espiar WhatsApp que se han podido utilizar a lo largo del tiempo.

Figura 2: Libro de Hacking iOS:iPhone & iPad (2ª Edicón) en 0xWord de
Chema Alonso, Ioseba Palop, Pablo Gonzáleez y Alejandro Ramos entre otros.

Y son más que recomendables los artículos de Proteger WhatsApp a prueba de balas: Seguridad y Privacidad, además de entender bien cómo se puede hackear un sistema operativo iOS de iPhone&iPad, al igual que un sistema Android, que al final es en ellos en los que recae la seguridad del sistema, como cuando se explicó cómo robar una cuenta de WhatsApp de un sistema Android comprometido.

D.o.S. a una cuenta de WhatsApp

Hoy vamos a centrarnos en un ataque de Denegación de Servicio (D.o.S.: Denial of Service) que puede hacer que tu cuenta de WhatsApp se quede inutilizada durante un tiempo indefinido, gracias a que la app de WhatsApp permite realizar intentos infinitos a cualquier atacante sobre un número de teléfono asociado a una cuenta de WhatsApp de su víctima.

Esto es sencillo de entender, porque como ya sabe todo el mundo, la forma en la que WhatsApp verifica la propiedad de una cuenta es mediante un SMS de verificación, o una llamada de voz asociada a un número de teléfono.


Figura 3: Solicitud de Código de la validación de WhatsApp

De esta forma, al introducir el código recibido en la aplicación somos capaces de verificar que ese usuario efectivamente es el poseedor de la línea y quiere iniciar sesión o registrarse en WhatsApp.  Conociendo este sistema, es fácil que surja la siguiente pregunta, ¿sería posible realizar un ataque de fuerza bruta introduciendo infinidad de códigos SMSs en la aplicación hasta dar con el correcto? 

Pues bien, para que esto no suceda, tras el octavo intento WhatsApp pone un temporizador de 12 horas en el que se impide introducir códigos de SMS para ese número, desde cualquier dispositivo (incluido el de la víctima).

Figura 4: Advertencia de no poder probar más códigos

Esto, tiene cierto sentido, de esta manera evitaríamos que un atacante con dispositivos ilimitados pudiese probar códigos de SMS ilimitados, pero también, como vamos a ver, tiene un problema que puede ser explotado por una atacante para hacer un ataque de D.o.S.

Figura 5: Demo de bloqueo de códigos de verificación de víctima

Como se ha visto en el ejemplo, pedir códigos SMS hasta que WhatsApp bloquee los SMS de verificación durante un periodo largo de 12 horas es, por separado, un ataque bastante "inofensivo", pues solo afectaría a la víctima en caso de ella quisiera iniciar sesión en otro móvil en esas primeras 12 horas, algo poco habitual. Sin embargo, y como hemos explicado en Forbes esto puede ser más peligroso de lo que parece.

Figura 6: Envío a WhatsApp notificando la perdida de nuestro terminal.

El problema de este ataque es que, con la combinación que habilita WhatsApp para cerrar la sesión de tu móvil sin autenticación previa, de forma remota y de manera automatizada, con simplemente enviar un e-mail a la dirección support@whatsapp.com con el contenido de mensaje:

"Lost/Stolen: Please deactivate my account +34 XXX XX XX XX"

La única "limitación" es que solo se puede enviar un e-mail de este estilo por cuenta de correo y por número de teléfono. Pero aún así, con solo un mensaje de este tipo, llegados a este paso la víctima verá el siguiente mensaje, en el que presionando cualquiera de los botones se pedirá que se vuelva a validar.

Figura 7: Notificación de que te han expulsado de la sesión actual de WhatsApp

Ahora, al probar con cualquier código de verificación de cuenta, incluso el último correcto que haya recibido, la víctima estará fuera de WhatsApp y no podrá iniciar sesión hasta pasadas 12 horas, que es cuando podrá pedir un nuevo código de verifación que se utilizable.

Figura 8: Advertencia al introducir el código correcto.

El problema es que, si el atacante quiere que esto sea permanente solo deberá realizar el mismo ataque de fuerza bruta probando SMSs hasta en tres ocasiones, una vez transcurran las 12 horas, para conseguir otro bloqueo de igual periodo de tiempo. En este momento la cuenta atrás dejará de marcar 12 horas para marcar -1 segundos, habiendo bloqueado la cuenta permanentemente.

Figura 9: Tras el tercer intento el contador marcará “-1 segundos” siendo permanente.

Si eres un lector de este blog probablemente te guste tener tus cuentas lo más protegidas posibles, eso incluye, las que ya hemos comentado previamente. No obstante, y hasta que WhatsApp solucione el fallo, todos somos vulnerables a un tipo de ataque en el que ni la verificación en dos pasos podría ayudarnos, así que ten mucho cuidado con quién compartes tu número de teléfono.

Saludos,

3 comentarios:

linuxeroC dijo...

Es un Lío gordo. Mucha gente mal intencionada podría sacar muchísimo provecho de esto, qué medidas pensás que podría implementar WhatsApp para corregir este fallo? Incluso si solo fueran 12 horas, es tiempo suficiente para que un atacante pueda hacer de las suyas.

Unknown dijo...

No uso Wthasaap. Me parece que viola la privacidad.

Fernando Racedo Meneses dijo...

¿Whatsapp no ha dado algún comunicado si ya solucionó este error? Yo probé el ataque en un ambiente controlado y llegué hasta la parte que envías el correo, dicho correo te lo responden pidiendo un documento que acredite que eres el propietario. ¿Esto es un parche o ya en el momento que escribiste este blog ya estaba esto disponible?

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