Todos estamos familiarizados con las diferentes aplicaciones como WhatsApp que nos permiten acceder a nuestras cuentas utilizando un código QR (SQRL o Secure Quick Response Login). Para poder acceder, la aplicación nos muestra el código en pantalla y nosotros sólo tenemos que escanearlo con el smartphone, sin necesidad de utilizar contraseñas.
Image 1: Cómo saltarte un login basado en códigos QR |
En la actualidad este método es considerado más seguro que la autenticación mediante contraseñas, debido a que previene los ataques MiTM y de fuerza bruta, sin embargo un investigador ha publicado una técnica para comprometer esta protección conocida como secuestro QR basado en sistema de acceso, o simplemente QRLJacking.
El investigador Mohamed Abdelbasset Elnouby ha sido capaz de demostrar cómo hackear las cuentas de los servicios que hacen uso de este sistema basado en la autenticación de código QR. De manera que el atacante sólo tendría que convencer a la víctima para que lea sus códigos QR maliciosos.
Imagen 2: ataque de QRLJacking |
Secuencia del ataque:
1- El atacante inicia una sesión con QR y clona el código en una página de phishing.
2- El atacante envía el phishing a la víctima.
3- Si cae en la trampa, la víctima escanea el código QR con la aplicación móvil correspondiente.
4- La aplicación móvil envía el token secreto para el servicio de destino para completar el proceso de autenticación.
5- Como resultado, el atacante consigue el control sobre la cuenta de la víctima.
6- Luego el servicio inicia el intercambio de todos los datos de la víctima con la sesión del navegador del atacante.
"Lo que los atacantes necesitan hacer para llevar a cabo con éxito un ataque QRLJacking es escribir un script para clonar periódicamente los códigos QR expirables y refrescar los que aparezcan en la página web de phishing creada, porque como sabemos un proceso QR Login bien implementado debe tener una intervalo de caducidad para los códigos QR".
Aquí tenéis el vídeo con la demostración: