El spoofing es una técnica utilizada por los atacantes para falsificar la identidad de un usuario y hacerse pasar por él con intenciones maliciosas.
En el caso del WhatsApp spoofing, el ciberdelincuente toma el control de una cuenta y envía mensajes en nombre de la víctima. Para lograrlo, el atacante utiliza diferentes métodos, como la clonación de la tarjeta SIM o eSIM, o el QRLJacking, entre otros.
En este artículo, te presentamos un ejemplo simulado de cómo se puede intervenir una cuenta de WhatsApp utilizando el QRLJacking, una técnica en la que el atacante crea un código QR de inicio de sesión falso para apoderarse de tu cuenta. Así, podrá enviar mensajes en tu nombre y leer tus mensajes, todo esto sin que te des cuenta
Control de WhatsApp a través de QRLJacking.
El QRLJacking (Quick Response Code Login Jacking) es un método de ataque de ingeniería social sencillo que puede afectar a cualquier aplicación que utilice la opción «Iniciar sesión con código QR».
La víctima, engañada, escanea el código QR que le envía el cibercriminal. De esta manera, sin darse cuenta, le cede el control de su cuenta al atacante, quien puede redirigir las comunicaciones a su propio servidor, desde donde podrá enviar mensajes e intervenir en conversaciones.
Este tipo de ataques puede pasar desapercibido para la víctima, ya que continuará pudiendo iniciar sesión y acceder a su cuenta de WhatsApp en la web o en desktop. Esto lo diferencia de otros casos en los que la cuenta de WhatsApp queda completamente inaccesible para la víctima, como ocurre en el secuestro total de WhatsApp.
Así es como pueden tomar el control de tu WhatsApp y enviar mensajes en tu nombre.
En esta demostración, utilicé una herramienta de código abierto, lo que significa que cualquier persona con conocimientos limitados puede usarla, ya que está lista para ser implementada.
El primer paso es generar un código QR, y luego, mediante técnicas de ingeniería social, enviárselo a la víctima, incitándola a escanearlo desde su dispositivo.
Imagen 1.
Interfaz de la herramienta para generar el QR falso.
Una vez que se escanea el código QR, el ciberdelincuente que estamos simulando aquí obtiene acceso a WhatsApp y puede iniciar sesión en la cuenta de la víctima.
Imagen 2.
El atancante tiene control de la cuenta y puede espiar conversaciones y enviar mensajes en nombre de la víctima.
Aquí, el intruso tiene la capacidad de espiar las conversaciones, acceder a su contenido y a los remitentes, e incluso puede comenzar a enviar mensajes desde el número de la víctima, usurpando su identidad.
Imagen 3.
El atacante intervienen una conversación activa de la víctima
¿Cómo se lleva a cabo la autenticación de WhatsApp en la versión de escritorio mediante un código QR?
Para comprender cómo se lleva a cabo el secuestro de una cuenta mediante QRLJacking, que posibilita un spoofing, es fundamental entender el proceso de autenticación de la cuenta a través de un código QR para su uso en WhatsApp Web o WhatsApp Desktop.
El proceso comienza con la utilización de un websocket, que establece una conexión interactiva entre el navegador del usuario y el servidor de WhatsApp. A intervalos regulares, el servidor se comunica con el WebSocket para solicitar una actualización del código QR correspondiente a WhatsApp Web o Desktop.
Al escanear el código QR para la autenticación, se envía información del usuario al servidor, lo que permite identificarlo como el titular de la cuenta. Es importante destacar que toda la comunicación está cifrada de extremo a extremo.
¿Cómo se envían mensajes a través de WhatsApp?
Por último, resulta interesante comprender cómo se lleva a cabo normalmente el envío y la recepción de mensajes en WhatsApp.
La aplicación utiliza el protocolo funXMP, una versión desarrollada por la compañía que modifica el protocolo XMPP, el cual es un estándar abierto basado en XML para el intercambio de información, accesible para los usuarios que pueden analizarlo y modificarlo.
Al vincular un número de teléfono a la aplicación, se establece una clave de cifrado de mensajes que se enviará a los servidores y que se utilizará para autenticar la cuenta del usuario antes de permitir el envío de mensajes.
Esto garantiza en primera instancia que solo el usuario puede enviar y recibir mensajes cifrados mediante una clave única asociada únicamente a su número de teléfono.
¿Cómo prevenir este tipo de ataques?
- Verifica la procedencia del código QR: Nunca escanees un código QR de WhatsApp que provenga de fuentes poco confiables. Si recibes un QR a través de un mensaje, correo o sitio web sospechoso, lo mejor es ignorarlo. Los códigos QR de sesión deben ser escaneados exclusivamente desde el sitio oficial de WhatsApp Web o la aplicación de WhatsApp.
- Activa la verificación en dos pasos (2FA): De esta manera, incluso si alguien accede a la sesión mediante un ataque de QRLJacking, necesitará un código PIN adicional para iniciar sesión en otros dispositivos.
- Revisa regularmente las sesiones activas: En WhatsApp, puedes comprobar y cerrar las sesiones activas en otros dispositivos desde la configuración. Si detectas alguna actividad sospechosa, cierra la sesión de inmediato.