El spoofing es una técnica en la que un atacante falsifica la identidad de un usuario a fin de hacerse pasar por él con fines maliciosos.

En el WhatsApp spoofing el ciberdelincuente toma el control de una cuenta y envía mensajes en nombre de la víctima. Para esto, el atacante se vale de distintos medios, como pueden ser la clonación de la tarjeta SIM o eSIMs, o el QRLJacking, entre otros.

En esta entrada te mostramos un ejemplo simulado de intervención de una cuenta de WhatsApp mediante el QRLjacking, una técnica en la que el atacante genera un QR de inicio de sesión falso con el que tomará el control de tu cuenta. De esta forma, podrá enviar mensajes en tu nombre, leer tus mensajes; todo esto sin que puedas advertirlo.

Control de WhatsApp mediante QRLJacking

El QRLJacking (Quick Response Code Login Jacking) es un vector de ataque de ingeniería social simple que puede afectar a todas las aplicaciones que dependan de la función “Iniciar sesión con código QR”.

La víctima escanea, engañada, el código QR que le envía el cibercriminal. Sin darse cuenta, entrega el control de su cuenta y habilita al atacante a poder desviar las comunicaciones a su propio servidor, desde el cual podrá enviar mensajes e intervenir conversaciones.

Este tipo de ataques puede pasar desapercibido por la víctima, ya que podrá seguir logueándose y abriendo a su sesión de WhatsApp web o desktop. Esto marca una diferencia respecto a otros casos en los que la cuenta de WhatsApp queda inaccesible para la víctima, como por ejemplo el secuestro de WhatsApp pleno.

Así pueden secuestrar tu WhatsApp y enviar mensajes a tu nombre

En esta demostración utilicé una herramienta OpenSource, lo que indica que una persona sin tanto conocimiento podría utilizarla ya que viene lista para su implementación.

Lo primero que hacemos es generar un QR para luego mediante técnicas de ingeniería social enviárselo a la víctima, e inducirla a que lo escanee desde dispositivo.

Ilustración 1 Interfaz de la herramienta para generar el QR falso.

 

Una vez escaneado el QR, el ciberdelincuente que simulamos aquí, obtiene acceso al WhatsApp y se puede loguear a la cuenta de la víctima.

Ilustración 2: El atancante tiene control de la cuenta y puede espiar conversaciones y enviar mensajes en nombre de la víctima

Ya aquí el intruso puede espiar las conversaciones, ver su contenido y remitentes, y puede comenzar a mandar mensajes desde el número de la víctima, suplantando su identidad.

Ilustración 3: El atacante intervienen una conversación activa de la víctima

¿Cómo sucede la autenticación de WhatsApp desktop a través de QR?

Para entender como sucede el secuestro de la cuenta a través de un QRLJacking que permitirá un spoofing, es importante conocer como sucede la autenticación de la cuenta a través de QR para poder utilizarla desde WhatsApp web, o WhatsApp desktop.

Para iniciar el proceso, se utiliza un websocket (que abre una sesión de comunicación interactiva entre el navegador del usuario y el servidor de WhatsApp).

Cada cierto lapso el servidor se comunica con el WebSocket solicitando una actualización del código QR del WhatsApp web o desktop.

Al escanear el QR y para la autenticación, lo que sucede es que se remite información del usuario al servidor, lo que permitirá identificarlo como titular de la cuenta.

Vale aclarar que toda la comunicación en tráfico se encuentra cifrada de extremo a extremo.

¿Cómo funciona el envío de mensajes por WhatsApp?

Por último, es interesante entender cómo funcionan habitualmente el envío y recepción de mensajes en WhatsApp.

El protocolo que usa la aplicación es funXMP, una versión creada por la compañía que es una modificación del protocolo XMPP —un protocolo abierto, basado en XML para el intercambio, que es accesible para los usuarios que pueden examinarlo y modificarlo.

Al vincular un número de teléfono con la aplicación, establece una clave de cifrado de mensajes que será enviada a los servidores y que será utilizada para autenticar la cuenta del usuario previo al envío de mensajes.

Esto en primeras instancias garantiza que solo el usuario pueda remitir y recibir mensajes encriptados mediante una clave vinculada exclusivamente a su número de teléfono.

 ¿Cómo evitar este tipo de ataques?

  • Verifica la fuente del código QR: Nunca escanees un código QR de WhatsApp desde fuentes no confiables. Si recibes un QR por mensaje, correo o sitio web sospechoso, es mejor ignorarlo. Los códigos QR de sesión deben ser escaneados únicamente desde el sitio oficial de WhatsApp Web o la aplicación de WhatsApp.
  • Habilita la verificación en dos pasos (2FA): Así, incluso si alguien obtiene acceso a la sesión mediante un ataque de QRLJacking, necesitaría un código PIN adicional para iniciar sesión en otros dispositivos.
  • Revisa sesiones activas regularmente: En WhatsApp, se puede revisar y cerrar las sesiones activas en otros dispositivos desde la configuración. Si identificas alguna actividad sospechosa, cierra la sesión de inmediato.