jueves, 3 de marzo de 2011

Tracking The Tracker

Quiero compartir en esta entrada un "truco" que les puede ser útil en algún momento cuando alguien este tratando de hacerles email tracking.

#set mode black On

En algunas ocasiones (personales, laborales) es posible que se necesite encontrar la dirección IP de una persona y después de haber probado los trucos de MSN y similares, decidimos que es mejor hacer un rastreo por medio del sistema de correo. Para esto podemos escribir un correo y esperar a que nos devuelvan una respuesta y tratar de identificar la dirección IP desde donde escribieron el correo, sin embargo en los sistemas públicos como Gmail, Hotmail, Yahoo, etc es posible que no podamos identificar esta dirección porque los servidores "la esconden".

Si enviar este correo no funciona pasamos a lo siguiente que consiste en enviar un email con un sistema de rastreo incorporado (email tracking), la técnica que se usa es incluir una imagen única dentro de los correos que nos permita identificar los datos básicos del navegador y la dirección IP de la persona que abra el correo, magnifico no?. Esta técnica es bien conocida y existen sitios web que se dedican a ofrecer este servicio, ofreciéndonos un portal de administración web donde podemos recibir los datos de forma organizada. Ejemplos:
Claro está, si lo vemos de una forma mas común, el email tracking lo hacen las  empresas de salud, pensión, bancos, centros comerciales, etc, que nos envían publicidad, recordatorios de eventos o promociones.
#set mode white On

Cuando recibimos estos correos que intentan rastrearnos hay forma de identificarlos, un procedimiento básico es este:

1. Buscamos una alerta indicándonos que el correo cargará imágenes desde sitios externos.

2.  Recibimos mensajes que nos incentivan a hacer click.


3. Cuando supuestamente cargan las imágenes pero no vemos nada, realmente si están allí,, solamente que están del color del fondo o transparentes. Una forma de verlas es resaltar el texto hasta encontrar pequeños recuadros, rectángulos, etc.

Muchas veces las imágenes de tracking son pixeles de 1x1, bastante pequeños para que los veamos.


4. Una vez identificados los recuadros podemos sacar las URL de tracking de las imágenes (haciendo click derecho - ver código fuente) estas son las que se cargarán cuando se abra el correo y son las que posibilitarán que detecten la IP desde el lugar que la abrimos. Otra forma de verlas es quitando el soporte de HTML del sistema de correo, de esta forma las imágenes no podrán cargar automáticamente.

Ejemplos  de Urls son:
  • http://email.smdigital.com.co/a/hBNcCI6B8Il1IB8Zcq0Nsh0BH6t/imagen
  • http://200.31.94.56/DMG.BulkMailReports/Rastreo/AbrioMail.aspx?compania=xxx&campana=201l-1&email=juanito@google.com&accion=clic&url=http://www.xxx.com/
  • http://www.getnotify.com/white.asp?eid=6611e6bc619fe9e0c6d68a5328319104
  • http://images.mail69.com/2b71b/signature.gif
En conclusión, no tenemos que abrir el correo que consideramos sospechoso, pero si podemos identificar cuales son las imágenes de tracking que se quieren robar nuestra información.
Un sistema de estos se puede programar fácilmente, con los siguientes pasos:

1. Instalar un servidor web público.
2. Crear un script que genere una imagen y use como nombre un código único (por ejemplo un hash) en una ruta especifica.
3. Insertar en el correo el link de la imagen dentro de una etiqueta OnLoad o SRC de HTML.
4. Esperar a que la persona abra el correo.
5. Verificar los logs de acceso del servidor web y extraer la información relacionada con el código de la imágen, los datos que se pueden extraer son los mismos que genera el navegador cuando visita un sitio web, en apache los podemos ver en access_log.

Entonces cual es la diferencia con esta técnica y con lograr que el usuario haga click sobre un enlace cualquiera?, la verdad ninguna, los datos que podemos conseguir son los mismos, el único detalle es que esta técnica de las imágenes se puede ver como algo automático.

#set mode Gray On
Ahora sí, contragolpe!
El truco que quiero explicarles es que podemos rastrear a la persona que nos quiere rastrear por medio del correo, cómo?. Los sistemas de tracking de emails generalmente no validan la respuesta que obtienen de los logs del servidor, así que podríamos intentar insertar código HTML, JAVASCRIPT tal y como si se tratara de un bug de XSS logrando con esto obtener información de la persona que nos rastrea. Para comprobar esto tomé dos de los sistemas gratuitos mas populares y con estas líneas de python inserté una alerta en javascript:

import urllib2
url = 'INSERTAR_URL_DE_LA_IMAGEN_QUE_NOS_RASTREA'
user_agent = '<script>alert("XSS en sistemas de Tracking de Emails")script> (Mozilla 4.4 compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }
req = urllib2.Request(url, '', headers)
response = urllib2.urlopen(req)
Demostración:

Con esta técnica también se pueden rastrear defacers, spammers, pedófilos y todo esa gente que pide a gritos que la encuentren.

Algo para pensar:
 Muchas veces cuando estamos investigando, usamos plataformas disponibles  en Internet y confiamos ciegamente en ellas. Sistemas de mensajería instantánea, sistemas de correo, aplicaciones en la nube y en general todas esas herramientas que nos ayudan a hacer la tarea. Pero pocas veces nos cuestionamos sobre la seguridad de las mismas, sobre la confiabilidad de los plugins que descargamos, sobre los shellcodes que ejecutamos y esto simplemente es otro vector de ataque en Ingeniería Social, muchas personas liberan código, aplicaciones, plugins, etc, solo con el objetivo de insertar malware por doquier. ¿Cuantas aplicaciones has instalado que nunca hayas usado?, cuantas puertas traseras tienes en este momento?

Como ejemplo de esto expongo una vulnerabilidad de uno de  los servicios antes mencionados para  hacer tracking de emails, la cual me permitirá en determinado momento hacerle seguimiento mas completo a alguien que me lo haga a mí. Es un ataque simple de SQL Injection, pero cuantos de nosotros nos cuestionamos que esto pueda suceder en un servicio con miles de usuarios?



 

Eso es todo,
Saludos.

4 comentarios:

Anónimo dijo...

Genial.


Buen articulo, a tener en cuenta sobre en los correos.

Gracias nonroot.

EDAGAR dijo...

sencillo, practico, brillante.

Mighty-D dijo...

Una buena tecnica de defensa ofensiva. Keep hacking!

Anónimo dijo...

genial muy buen articulo. me servira de mucho para aplicarlo en mi entorno de redes. nimsoft.com

Entradas populares