Inicio QRishing ¿Cómo lo lleva a cabo un ciberdelincuente?
Entrada
Cancelar

QRishing ¿Cómo lo lleva a cabo un ciberdelincuente?

Disclaimer!

Antes de comenzar con el post, remarcar que no me hago resonsable del uso indebido que se le pueda dar al aprendizaje de esta materia. Mi intención es meramente informativa, para dar conciencia y una visión “real” de cómo una persona NO ética puede hacer un uso indebido o fraudulento de esta tecnología/herramienta. Dicho esto, espero que lo disfrutéis mucho!

Banner

Antes de comenzar con la práctica, vamos a repasar una serie de conceptos:

El primero de todos, ¿qué es el QRishing? El QRishing es una variante del Phishing mediante la cual, un atacante intenta realizar una suplantación de identidad sobre un producto, organización, persona… para atentar contra una o varias víctimas, generalmente con fines lucrativos. El ataque consta en generar un código QR malicioso para un posterior escaneo del mismo por parte de la víctima.

Además, podrás preguntarte, ¿qué es un ataque de ingeniería social? Es muy difícil intentar explicar este concepto con una única y breve definición pero, podría decirse que un ataque de ingeniería social se basa en la práctica ilegímita de obtener cualquier tipo de información confidencial a través de la manipulación de usuarios que si tienen acceso a dicha información (accesos, permisos, documentos…).

Como pequeño inciso y con tono humorístico, no debemos de confundir o mezclar el concepto de QRishing con el de Cruishing solo por el mero hecho de que se pronuncian de forma muy parecida, aunque el resultado de ambos puede dar fruto a algo que en ninguno de los casos esperábamos (risas).

Una vez repasados los conceptos, vamos a plantear dos escenarios posibles, aplicables al día a día en los que un ciberdelincuente podría utilizar esta técnica para llevar a cabo una actividad fraudulenta:

1. Volcado de credenciales hacia un servidor web del propio atacante, suplantando la identidad de una web legítima
2. Un atacante es contratado por un restaurante para quitar clientela al restaurante de al lado, el cual le genera mucha competencia y así incrementar sus ganancias

Presentado los escenarios, procedamos con la práctica!

Tened en cuenta que no se realizará todo lo “profesional/real” posible, no intentaremos ocultar nuestro rastro por lo que si lo realizáis esta práctica tal y como aparece en el post, no tardarían mucho en descubriros y tendríais problemas legales.

ESCENARIO 1: CONSEGUIR CREDENCIALES

Vamos a suponer que en este caso, estamos en un centro comercial y vemos diversos códigos QR indicándonos que nos regalan 100€ por seguir la cuenta de Instagram del propio lugar. Las víctimas escanearían el código QR, introducirían sus credenciales (logueo de Instagram ilegítimo) y una vez introducidos los datos, se redirigirá al perfil de Instagram del centro comercial para que las víctimas no sospechen de nada.

Lo primero de todo, vamos a abrir nuestra máquina de atacante, en mi caso utilizaré Kali Linux. Vamos a utilizar las herramientas Ngrok y SocialPhish para generar el portal de captura de credenciales.

Como primer paso, vamos a descargarnos el software Ngrok desde su web oficial (https://ngrok.com/download).

1
2
3
4
5
mkdir ngrok
cd ngrok
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
sudo tar xvzf ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list && sudo apt update && sudo apt install ngrok

Para poder utilizar ngrok, debemos de registrarnos (https://dashboard.ngrok.com/signup) y conseguir un AuthToken. Sin él, no podremos utilizar el software correctamente. Vamos a proceder al registro y al añadido del token a la herramienta:

ngrokToken

Añadimos el AuthToken a ngrok

1
ngrok config add-authtoken <token>

Cuando tengamos todo lo anterior en funcionamiento, procedemos a abrir un tunel http por el puerto 3333.

Si nos finaliza el comando ngrok con el siguiente error (The account “XXX” may not start an ngrok agent session until the admin’s email address is verified. Verify your email at https://dashboard.ngrok.com/user/settings) debemos de verificar el correo que nos ha mandado la compañía de ngrok al correo electrónico proporcionado a la hora del registro para conseguir el AuthToken.

1
ngrok http 3333

Realizado todo esto, estaríamos a la escucha y podríamos proceder al siguiente paso (además ngrok nos proporciona un panel de administración en la URL http://127.0.0.1:4040). El resultado sería el siguiente:

ngrokEscucha

El siguiente paso sería crear el portal de autenticación de Instagram para poder enlazarlo al servidor que acabamos de crear. Vamos a clonar el repositorio de SocialPhish (https://github.com/xHak9x/SocialPhish) y procederemos a su instalación.

1
2
3
4
git clone https://github.com/xHak9x/SocialPhish
cd SocialPhish
chmod +x socialphish.sh
./socialphish.sh

Cuando lo ejecutemos, vamos a indicarle la opción 01 Instagram y posteriormente la opción 02 Ngrok

socialphish

Hecho todo esto, ya tendríamos el servidor web disponible, indexándose la página de logueo de instagram para introducir las credenciales. Cabe destacar que la URL que nos proporciona ngrok es muy sospechosa por lo que, un ciberdelincuente enmascararía o camuflaría la URL con un acortador o una prácticamente igual o parecida (lnstagram.es, instagrm.es…)

instagram

Esta herramienta además de capturar las credenciales (si la víctima nos la proporciona), captura IP pública y User Agent, solo con el mero hecho de indexar la web en el navegador (escanear QR).

useragent

Destacar que ngrok termina baneándote porque detecta una actividad ilícita de su servicio por lo que, aunque lo utilicéis para una simulación o prueba, se os acabará banenado si continuáis usándolo para esta actividad.

Teniendo todo en funcionamiento, lo único que nos haría falta para poder realizar el ataque de QRishing sería enlazar la URL maliciosa en un código QR. Existen diversas herramientas, incluso vía web de forma totalmente gratuita. Esta vez, usaremos me-qr, basándose en un generador de códigos QR vía web (https://me-qr.com/).

El proceso es muy sencillo, teniendo la URL de ngrok en nuestro portapapeles, abrimos en enlace de la herramienta y generamos un nuevo QR:

generarQR1

Esta herramienta nos permite además, customizar nuestro código, pudiéndolo camuflar más aun, siendo a su vez más creible para las víctimas.

generarQR2

Este sería el código QR final que un ciberdelincuente pondría por toda la zona, con sus correspondientes carteles informativos, pudiendo incluir una pequeña guía de como hacer el proceso para intentar despistar aun más a sus víctimas potenciales.

generarQR3

El resultado podría ser el siguiente:

cartel

ESCENARIO 2: PROPORCIONAR INFORMACIÓN ERRÓNEA

En este escenario nos vamos a centrar más en un ataque de ingeniería social, intentando dar una información errónea a un consumidor sobre una serie de productos. Imaginémonos dos restaurantes familiares: Bar Pepe y Bar Laura, situados en un pueblecito de tan solo 5000 habitantes. Ambos negocios están abiertos en la Plaza Mayor, teniendo una fuerte rivalidad. En días festivos hay muchos turistas por lo que, generan muchos clientes y ambos propietarios se llevan muy mal, tanto personal como profesionalmente. Ahí entra a escena el hacker NO ético. Bar Pepe contrata sus servicios para que deje al establecimiento rival sin carta (solo se puede visualizar la carta por código QR). En días con mucha clientela, los camareros son incapaces de comentar la carta a todos los clientes de “memorieta” debido al gran volumen de personas que hay tanto en terraza como dentro del establecimiento. Por lo que, Bar Pepe piensa que si deja a Bar Laura sin carta de productos y serivicios, los clientes que lleven mucho tiempo esperando, irán a su establecimiento a consumir.

El primer paso, sería generar un código QR que indexe una web en blanco (si no se quiere ser detectado) o una página de burla para ofender al cliente y que se vaya directamente de ese establecimiento. Esta vez, vamos a poner como prueba que indexe esta misma web (https://waidroc.github.io/).

Vamos a generar dicho QR como en el escenario anterior, con la herramienta me-qr (https://me-qr.com/).

En este caso, vamos a personalizar el logo del QR (supongamos que tenemos el logo de Bar Laura), proporcionándole el logo del establecimiento de la víctima para que sea más creíble y que ni ellos mismos se den cuenta (intentándolo asemejarlo al lícito que hay justo ahora).

barlaura

Una vez tenemos el código, solo habría que pegarlo encima de todos los QR que hay en Bar Laura (mesas, entrada, barra…) y desde ahora, Bar Pepe ganará algunos clientes hasta que no se detecte el ataque.

escaner

CONCLUSIONES

Acabamos de presenciar dos escenarios que podrían suceder realmente. Este post sirve para concienciar a las personas de que siempre (o casi siempre) hay que desconfiar a la hora de usar estas tecnologías. Está claro de que en el 99,9% de los casos los códigos QR tienen información real y que no se trata de casos como estos. He querido exponer y realizar estos casos tan extremos para que se visualice de que es completamente realizable, pudiendo pasar totalmente desapercibido.

Me gustaría dar unos tips o consejos a la hora de entrar a una web o recurso escaneado desde QRs:

✓ Visualizar si la URL es legítima o no.
✓ Comprobar que tiene certificado.
✓ Desconfiar de los QR que intentan regalar algún producto o servicio.
✓ Comprobar que el QR está en un sitio visible y transitado.
✓ Sentido común

Si has llegado hasta aquí, muchas gracias por leer el post. Este ha sido el primero y por consecuente, el más tedioso. Para cualquier duda (o petición), podéis contactarme vía correo electrónico: waidroc@protonmail.com

Muchas gracías por leer, Waidroc :)

Esta entrada está licenciada bajo CC BY 4.0 por el autor.

-

Writeup - NightCityCTF

Comments powered by Disqus.