Secuestro de cuenta en Facebook
Se ha hecho público la existencia de un salto de restricciones en la protección CSRF en Facebook que podría permitir a un atacante remoto obtener la cuenta de otro usuario de la red social.
Para que el ataque pueda hacerse efectivo es necesario la implicación de la víctima para que acceda a un enlace especialmente manipulado previamente preparado por el atacante. Dicho a groso modo, este enlace vulnerable, bajo el dominio de Facebook, hará otra petición a una dirección escogida por el atacante la cual añadirá el parámetro ‘fb_dtsg’ en el cuerpo de la petición, esto junto a algunas redirecciones, permitirán al atacante hacerse con el control de la cuenta de la víctima.
Aunque a groso modo parece una tarea sencilla, no lo es. A continuación se detalla el proceso de toma de control de otra cuenta de la red social.
Para la toma de control de la cuenta es necesario la adición en la cuenta de la víctima una cuenta de correo electrónico o número de teléfono en manos del atacante. Esto cuenta con el problema de que la víctima debería de visitar dos direcciones web, una para añadir el correo/teléfono y otra para confirmar la acción.
Para evitar esto, el engaño se hará mediante la autorización de una aplicación del atacante mediante un enlace similar al que se muestra en la siguiente imagen.
Esto autorizará la aplicación y redireccionará a una página en manos del atacante con el token de acceso de la víctima como parámetro en la dirección web gracias una redirección intermedia a https://www.facebook.com/v3.2/dialog/oauth
Una vez realizadas las redirecciónes, el atacante tendrá en su poder el token de acceso de la víctima, y a continuación añadirá el correo electrónico bajo su control como punto de contacto de la cuenta, que volverá a redireccionar a una página bajo el control del atacante mediante una petición similar a la siguiente.
Con esto el sitio web del atacante obtendrá el ID del usuario y podrá confirmar por su parte el correo añadido. Para confirmar el correo por la parte de la víctima el atacante redireccionará a la siguiente dirección gracias a que los datos necesarios son extraídos del correo de confirmación del atacante.
Después de esto solo quedará hacer que la víctima acceda a la dirección https://www.facebook.com/settings?section=email que volverá a redirigir al recurso “/confirm_code/dialog/submit/” para terminar de realizar la validación del correo electrónico.
Tras esto, el atacante podrá tener acceso a la cuenta de la victima gracias a la funcionalidad de restablecer la contraseña. Un proceso que parece muy tedioso y largo, pero que realmente se hace en poco tiempo de forma automática.
El error fue reportado a Facebook el día 26 de enero y fue corregido 5 días después, por lo que actualmente no supone ningún peligro,. Aún así queremos hacer hincapié en el peligro que puede suponer el visitar un enlace que puedan tener un origen sospechoso o desconocido, ya que un error de este calibre puede permitir al atacante hacerse pasar por la víctima con todo lo que ello conlleva, incluso eliminar la cuenta.
Más información:
Bug bounty write-ups
https://ysamm.com/?p=185
Powered by WPeMatico