jueves, mayo 28, 2015

Spam con Phishing para robarte Tokens OAuth de tus cuentas de Microsoft o Google

Últimamente me he topado con muchos casos de personas que han sufrido un espionaje y robo de sus cuentaas de Google y Microsoft Live con un truco bastante sencillo y bien pensado. Se trata de conseguir unos Tokens OAuth que autoricen al atacante a acceder a las partes de la cuenta que le interesen. Con el Token OAuth con los permisos correctos, una atacante podría acceder a todos los datos de la cuenta, además de realizar múltiples acciones con la cuenta, como enviar correos electrónicos, leer tus mensajes, descargarse tu lista de contactos, etcétera.

Figura 1: Spam con Phishing para robarte tokens OAuth de tus cuentas Microsoft o Google

Para entenderlo, digamos que las cuentas de Microsoft, Google, Facebook o Twitter, tienen una serie de datos en ellas, además de una serie de funciones. Cuando se quiere autorizar a un tercero, por ejemplo una aplicación que configure el calendario de eventos - por poner algún caso de manipulación de cuenta -, o a un lector de noticias RSS para que lea tu dirección de correo electrónico, se debe pedir permiso al usuario. Para ello, el usuario debe aprobar que se genere un token OAuth que permitirá a cualquier app identificarse e interactuar con la cuenta con los permisos que se le hayan concedido. 

Figura 2: Esquema de flujo de funcionamiento de OAuth 2.0

Estas implementaciones de OAuth 2.0 en Microsoft se conocen como Live Connect, y en cada uno de los proveedores de identidad tiene un nombre similar, como Facebook Connect, o Mobile Connect cuando hablamos de la identidad de los números de teléfono.

Un spam con phishing para lograr el token OAuth

Para conseguir este token con permisos autenticados hay que conseguir que la víctima acepte conceder dichos permisos, así que como siempre, el recurso más fácil es el de hacer una campaña de phishing con un buen gancho. En los últimos días he visto campañas de falsos premios de Netflix, Media Mark y Spotify, que te permitían acceder a servicios gratis.

Figura 3: Correo de spam con un phishing de Spotify que lleva un enlace a una web

El enlace del "call-to-action" que lleva cada uno de estos mensajes lleva a un servidor web hackeado de alguna empresa, pero que, cada vez que se hace clic, fuerza un redirect, tal y como se puede ver en la siguiente imagen.

Figura 4: El redirect para la generación del token OAuth

El sitio al que lleva es al panel de aprobación de Tokens OAuth con permisos de acceso a la cuenta del proveedor de la identidad que se quiere robar.

Figura 5: Login para generar un token OAuth que de acceso a tu cuenta de Microsoft

En el caso de Microsoft, como es este ejemplo, llegaremos a la página de login de Live, donde se solicitará el usuario, la contraseña, y el segundo factor si fuera necesario, para poder aprobar la generación del token.

Los permisos del token OAuth

Por supuesto, el sitio es un sitio original de Microsoft por lo que para muchos usuarios puede parecer normal, pero si nos fijamos en la URL del redirect, podemos ver que estamos concediendo los permisos de: wl.signing, wl.basic, wl.emails, wl.emails_contacts. Si revisamos los permisos en la documentación de Microsoft podemos ver que esto significa lo siguiente:

Figura 6: Permisos de acceso a tu cuenta Microsoft con Live Connect

Al final, le estamos permitiendo que esa app maliciosa que ha sido creada para esta campaña, sea capaz de acceder a todos los datos de las cuentas a los que permiten los permisos que se conceden a ese token y que como veis son muchos.

Figura 7: Lista de permisos de acceso extendidos de Live Connect

Una vez que se consigan esos accesos, es fácil para la aplicación maliciosa conseguir expandiéndose como un gusano enviando nuevos correos electrónicos al resto de los contactos de la víctima para conseguir más tokens y más objetivos.

Revisar los Tokens de acceso a tu cuenta condecidos

Tanto en Microsoft, como en Google, como en Facebook, puedes revisar que apps han sido autorizadas con un Token OAuth y con qué permisos, por lo que lo suyo es que lo revises periódicamente. En el caso de Microsoft puedes ir al siguiente enlace y ver qué apps tienes conectadas, si ves algo raro, quítale el acceso.

Figura 8: Aplicaciones conectadas con una cuenta Microsoft

Lo mismo en Google, en el siguiente enlace de tu cuenta puedes ver qué apps tienes conectadas y revocarle el acceso si lo consideras oportuno.

Figura 9: Aplicaciones conectadas a una cuenta Google

Una vez más, ten mucho cuidado con los enlaces que te llegan en correos electrónicos de conocidos o amigos, pero sobre todo evita autenticarte y aprobar accesos a tus cuentas si no sabes a qué lo estás haciendo. Como recomendaciones finales, revisa periodicamente las propiedades de seguridad de tu cuenta y pon segundos factores de autenticación en todas tus identidades.

Saludos Malignos!

2 comentarios:

Anónimo dijo...

Que yo recuerde de alguna vez que he implementado OAuth, la primera vez se redirige a la página de login (fig. 5), pero a continuación - una vez logeado - se presenta otra pantalla en la que Microsoft, Google,... solicita permiso para autorizar a la aplicación, mostrando los permisos que reclama esa aplicación.

Anónimo dijo...

No había interpretado correctamente el artículo. Por lo que entiendo se realiza una ataque CSRF llamando a la misma URL que se invocaría desde la ventana de autorización de la aplicación.

Entrada destacada

Infraestructuras Críticas y Sistemas Industriales: Auditorías de Seguridad y Fortificación de @0xWord

Desde hoy está disponible a la venta un nuevo libro de 0xWord centrado en la seguridad de los Sistemas Industriales y las Infraestructuras...

Entradas populares