Sunday, August 14, 2016

Branded me Y tú ¿qué quieres hacer con mi token OAuth

Branded me Y tú ¿qué quieres hacer con mi token OAuth


En los últimos tiempos he estado recibiendo correos electrónicos procedentes de una nueva red para profesionales que se llamaba Branded.me. A simple vista - y sin haberla probado aún - intenta buscarse un hueco en el espacio profesional que ahora ocupa Linkedin ya que está orientada crear conexiones para el mundo laboral. Los correos que he estado recibiendo me han ido llegando con avisos de contactos míos que ya se habían dado de alta en ella, y al final decidí ir a ver - al menos - la web de la red social.

Figura 1: Branded.me, ¿para qué quieres mi token OAuth?

Cuando llegué allí, vi que para darte de alta puedes utilizar uno de los ID Providers que más cuota de mercado han conseguido en la red que, como podéis ver en la imagen, son Facebook, Twitter, Google o darte de alta con tu propia cuenta. Microsoft no ha entrado en los planes iniciales de esta red y, por supuesto, tampoco Linkedin.

ID Providers en Branded.me

Como en cualquier otra web, puedes también utilizar tu correo electrónico y hacerte una cuenta desde cero, pero para muchos usuarios es más cómodo usar una de las identidades que ya tienen creadas en otras redes sociales y que la nueva web tome los datos que sean necesarios para dar de alta la cuenta del ID Provider. Es decir, que te des de alta tu nueva cuenta en Branded.me con tu cuenta Twitter y tome de ella los datos que necesite, o hacerlo con la cuenta Facebook, o con la cuenta de Google. Al final, ¿qué necesita Branded.me saber de mí para hacer el login en su red? Esa es la pregunta que quise responder.

Figura 2: ID Providers permitidos en Branded.me

Si has seguido con atención la serie de artículos de Sappo: Spear Apps to Steal OAuth Tokens, sabrás que este tipo de altas con ID Providers se basa en la aprobación de un un Token OAuth que lleva asociados una serie de permisos de SCOPE. Con esos permisos, la app - en este caso Branded.me - podrá hacer determinadas acciones en tus cuentas del ID Provider, es decir, podrá hacer determinadas cosas tu Facebook, tu Twitter o tu Google. ¿Y qué SCOPE pide para cada una de las cuentas?

Figura 3: Creación de tu cuenta de Branded.me con Facebook.
Pide acceso para datos personales.

Pues para Facebook pide acceso a datos personales tuyos, como tu nombre, tu fecha de cumpleaños, tu historial de trabajo, de estudios, dónde vives o tu lista de amigos. Datos tuyos y contactos para expandir la red. Como se puede ver, Facebook deja claro que con ese token OAuth la aplicación de Branded.me no podrá postear en tu time-line ni un solo post, pero probablemente podrá spamear a los amigos que tengas en tu cuenta. Una técnica común de Growth Hacking para cualquier servicio tipo red social.

Figura 4: SCOPE pedido por Branded.me para darse de alta con cuenta Google

Si miramos el caso en el que, en lugar de darte de alta con tu cuenta Facebook, te dieras de alta con tu cuenta Google, puedes ver que lo que pide es distinto. En este caso el Token OAuth solicita una lista de SCOPE que le da acceso a tu dirección de correo electrónico e información básica de tu perfil. Es decir, no tiene acceso a lista de contactos ni a los mensajes de correo electrónico, ni a enviar, ni recibir ningún mensaje de correo electrónico.

¿Y si te das de alta con Twitter?

Por último, si miramos lo que se pide cuando decides darte de alta con tu cuenta Twitter, podemos ver que los permisos que van en el SCOPE List asociados al token OAuth le permiten a Branded.me publicar mensajes en tu time-line de Twitter. Es decir, que si has elegido darte de alta en Branded.me, ellos pueden publicar los mensajes que deseen a través de tu cuenta de Twitter además de actualizar tu perfil.

Figura 5: Abrir la cuenta de Branded.me con tu cuenta Twitter

Esta es una de las cosas que muchas aplicaciones conectadas a tu cuenta Twitter solicitan y por ello un hacker creo un plugin de Latch para Twitter llamado "Twlatch" que evita que se te escapen este tipo de mensajes no controlados por culpa de que esos tokens OAuth que has concedido se vuelvan maliciosos. Este vídeo explica su funcionamiento y puesta en marcha en solo 2 minutos.


Figura 6: Funcionamiento de Twlatch, un plugin de Latch para Twitter

Lo más curioso de todo esto es que, dependiendo de cuál sea el ID Provider que elijas para darte de alta en un nuevo sistema, los datos y los riesgos son completamente distintos, así que revisa antes con cuidado qué quiere hacer con tu token OAuth en cada caso, para luego no llevarte sorpresas indeseadas. Hablando en concreto de Branded.me siempre puedes de alta con una dirección de correo electrónico de un dominio que controles tú y listo.

Saludos Malignos!

Available link for download