jueves, 19 de junio de 2014

Los correos de tu banco o AFP podrían no ser tan privados

Una mañana como cualquier otra llegó a mi correo un mensaje de cierta empresa con el típico "spam" sobre la última gran tontería que se les ha ocurrido para sacarte dinero. Abrí el correo y busqué en las letras pequeñas algún link para darme de baja o similar. Para mi sorpresa, cuando lo encontré, noté que la URL a la que dirigía era de un dominio que no pertenecía a la empresa que supuestamente me había enviado el correo. El foco de alerta naranja se encendió inmediatamente y me dispuse a examinar el link y descartar algún intento de phishing (por supuesto, con la mascarilla, los guantes y la bata blanca puestos).

Falsa alarma. El dominio sospechoso terminó siendo de una empresa que se dedica a enviar el "spam" a nombre de sus clientes: "Email Marketing" le dicen. Pronto noté que todos los links en el correo apuntaban al dominio de la empresa de marketing (que desde ahora llamaré Master Enterprise Spammer) y luego redirigían a la web del cliente por medio de un PARAMETRO EN LA URL!!!

Un par de pruebas más tarde concluyo que no validan nada y que es posible cambiar la URL y hacer redirecciones arbitrarias. Teniendo en cuenta el contexto de esta vulnerabilidad, se podría explotar perfectamente para ataques de phishing. Un usuario ya familiarizado con los links de Master Enterprise Spammer no sospecharía de nada aunque esos links luego lo condujeran a una página maliciosa. Además revisando la cartera de clientes en la web de Master Enterprise Spammer se pueden ver importantes entidades financieras y bancos en países latinos además de otras empresas.

Abro los ojos, parpadeo y los vuelvo a abrir. Sigue ahí. El logo de mi AFP está en la lista de víctimas clientes de Master Enterprise Spammer.

Reviso los correos que me ha enviado mi AFP en los últimos meses solo para constatar que efectivamente fueron remitidos con el servicio de "Email Marketing". Al observar con mayor detenimiento los links en las letras pequeñas, encuentro una opción interesante: "Si no puede visualizar bien este E-mail, haga click aquí". El enlace me conduce a una página web con el mismo contenido del email. Nuevamente, algunos parámetros raros en la URL:

/blablabla.asp?customer=CLIENTE&ID=IDXXXXaaYYYYYYbbZZZZZ

Luego de analizarlo un poco deduje lo siguiente:

El parámetro "customer" es sencillamente el nombre del cliente, en mi caso el nombre de mi AFP. El parámetro ID consta de 3 partes: el identificador del mensaje (XXXX), el identificador del contacto (YYYYYY) y la clave del contacto (ZZZZZ). El identificador del mensaje es un número entero y se asocia al contenido del correo, haciendolo variar secuencialmente se puede pedir el contenido de otros mensajes, sin embargo, el sistema valida que el mensaje haya sido enviado al contacto indicado por el identificador de contacto y si no coinciden no mostrará el mensaje. El identificador de contacto es también un número entero y se asocia con la dirección de correo a la cual fue enviado el mensaje. Finalmente la clave del contacto es una cadena formada por números y letras mayúsculas y minúsculas. El sistema también valida que la clave y el identificador de contacto indicados se correspondan.

Entonces, para mostrar los mensajes enviados a una misma dirección de correo, solo es necesario hacer variar el identificador del mensaje secuencialmente. El ID de contacto y la clave permanecerán constantes.

Para probarlo utilizé WebSlayer he hice algo de fuzzing en el ID del mensaje utilizando mis propios ID de contacto y clave. Luego de algunos minutos obtuve algunas otras URLs que mostraban los demás correos que me había enviado mi AFP.

¿Y se podrá ver los correos enviados a otras personas?

Puesto que el ID de contacto y la clave se envían en la URL, es probable que en algún momento queden registrados por un servidor proxy en un fichero de log o peor aún que caigan en las garras de un motor de búsqueda como Google o Bing. Algo que incrementa esta última posibilidad es que el servidor web no cuenta con una configuración adecuada para evitar la indexación de las páginas con el contenido de los correos: No hay un fichero robots.txt, ni un header X-Robots-Tag y tampoco un metatag "robots".

Efectivamente, luego de probar algunos dorks en Google, encontré muchos IDs de contacto y sus claves correspondientes. El resto es tirar un fuzzer y tomar café...

Y bien... eso es lo que pasa cuando no te tomas la seguridad en serio. Cuando usas una empresa de spamming "Email Marketing" para enviarle correos a tus clientes con, por ejemplo, el reporte de su "fondo acumulado" (como en el caso de mi AFP) u otra información sensible.

Y tú ¿Has revisado el spam que te envía tu AFP, tu banco, tu aseguradora, etc? Quizá también sean clientes de Master Enterprise Spammer... si es el caso, suerte }:]

Un saludo.

3 comentarios:

  1. Esto es justamente lo que me mostraste ese dia ... pucha ahora que me lo pienso comenzaré a colocar robotxs cuandi envío correo con url a mis clientes xD

    ResponderEliminar
  2. Por Master Enterprise Spammer te refieres a trk.masterbase.com? A mi me llegan desde allí. También me parecía sospechoso el uso de esos servicios.

    ResponderEliminar