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.
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 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
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?
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.
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.
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.
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.
Saludos,
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.
ResponderEliminarNo uso Wthasaap. Me parece que viola la privacidad.
ResponderEliminar¿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?
ResponderEliminar