Você está na página 1de 11

A finales del ao pasado miraba como funcionan las aplicaciones de Facebook, y la verdad es que despus de haber hecho unas

pruebas en el Graph API para desarrolladores, como era de esperar, la seguridad de Facebook vuelve a mostrar errores no deseable. La gente que tiene algo de conocimientos sobre como funcionan las Apps de Facebook en relacin con nuestra informacin personal, sabrn que no es nada de otro mundo que obtengan acceso de forma fcil a ella - a nuestra informacin -, y los que no entienden mucho, ahora lo entenderis. Cada aplicacin de Facebook requiere permisos de los usuarios para poder acceder a nuestra informacin y realizar ciertas acciones, los cuales algunos de esos permisos son necesarios para que funcione dicha aplicacin. Los permisos que nos pueden pedir son variados y van desde publicar estados, fotos, acceder a nuestra fecha de cumpleaos, numero de celular hasta acceder a nuestra carpeta de mensajes privados, crear notas, eventos, agregar amigos y ms. Para ello, cuando entramos a una nueva aplicacin, esta nos pide los permisos, los cuales la mayora de la gente los acepta sin leerlos, como si instalaran un programa en el PC, ya sabis, le dan a aceptar antes de instalar. Solo aceptarlos basta para dejar expuesta nuestra informacin a la aplicacin que la solicito. Interesante no? Quines de los que estn leyendo este articulo se quedo pensando y para que cojones una aplicacin querr acceder a mis mensajes? O crear eventos? Aqu entran en juego las aplicaciones creadas por los tos malos para robar datos. Como dije anteriormente estas te piden no solo un permiso, sino que te piden todos y t se los das con dos o tres clics y luego a toda tu informacin es usada para venderlos al mercado negro, suplantar tu identidad, campaas de spam, marketing indeseable, etctera, etctera, etctera. Permisos como crear eventos o notas son usados para distribuirse invitando a toda tu lista de contactos en campaas virales, as son mas las personas afectadas. Si entramos a alguna aplicacin lo ms probable es que aparezca un cartel parecido a ste:

Figura 1: Solicitud de permisos de una aplicacin Facebook

Permisos de las aplicaciones Facebook Ah claramente podemos ver los permisos que pide la aplicacin, una aplicacin normal pide esos permisos y alguno que otro ms. La direccin de la peticin de permisos seria en un estilo estructurado as: https://www.facebook.com/dialog/oauth?client_id={ID REDIRECCION}&scope={PERMISOS} ID DE LA APLICACIN: Numero de identificacin de la aplicacin. URL DE REDIRECCIN: Direccin URL establecida por la aplicacin, se puede modificar pero solo con direcciones de servidores de Facebook o con la que la aplicacin haya establecido, de lo contrario nos tirar un error. PERMISOS: Son establecidos por la aplicacin, se pueden modificar pero si les quitamos los permisos que nos pide puede que la aplicacin no funcione correctamente. La mayora de las aplicaciones que hay dentro de Facebook funcionan con cdigos de acceso (a nuestra informacin) denominados access token, de tal manera que cuando aceptamos los permisos se genera dicho cdigo con el cual la aplicacin es capaz de realizar distintas acciones segn se lo hayamos permitido. DE LA APLICACION}&redirect_uri={URL DE

Si deseamos ver el cdigo de acceso que la aplicacin genera, hay que modificar la direccin de peticin agregndole al final el tipo de respuesta y tambin modificar elredirect_url con algn servidor de Facebook o con la pagina definida por la aplicacin. La estructura quedara as: https://www.facebook.com/dialog/oauth?client_id={ID DE LA APLICACIN}&redirect_uri={URL DE

REDIRECCIN}/&scope={PERMISOS}&response_type=token Si navegamos dicha URL, la aplicacin nos pedir los permisos que desea obtener y si los aceptamos se nos redireccionar a: http://www.facebook.com/#access_token={CDIGO GENERADO}&expires_in={TIEMPO EN EL QUE EL CDIGO EXPIRAR} Como vern, el cdigo que se genera tiene un periodo para que expire. Es decir que se podr usar ese cdigo durante un cierto tiempo hasta que volvamos a generar otro. Si el tiempo en el que el cdigo expira (expires_in) es igual a 0 entonces no expirar a menos que cambiemos nuestra contrasea o le quitemos los permisos a la aplicacin. Para ver la aplicacin, los permisos, el usuario, el tiempo de vencimiento, etctera, de un cdigo podemos utilizar el Debugger que Facebook ofrece a los desarrolladores.

Figura 2: Debugger de aplicaciones Facebook

Eliminacin de una aplicacin Facebook Si ves que te has pillado una de esas aplicaciones que publican cada 2x3 con tu nombre y deseis eliminarla podis hacerlo as, desde la configuracin de tu cuenta en https://www.facebook.com/settings/?tab=applications:

Figura 3: Eliminacin de aplicacin Facebook

Le dan clic a Editar, luego a Eliminar y listo. Si le dan a Editar, se les desplegara toda la informacin de lo que la aplicacin puede hacer. Y como vern en la imagen en la parte de abajo muestra los ltimos accesos en los que la aplicacin hizo uso de nuestros datos. Y estas cosas, se utilizan para hacer maldades? Lo vemos en la segunda parte del artculo.

Tras leer la primera parte de este artculo, ahora que ya tenis una pequea idea de cmo funcionan las aplicaciones les invito a que prueben esta aplicacin paraFacebook y vean una muestra de los permisos que les dan a las aplicaciones. Si el video te ha puesto los pelos de punta y os ha hecho reflexionar sobre toda la informacin que estas dejando de ti, entonces ni pensar en todas aquellas aplicaciones a las que les diste los permisos sin ver ni cuales eran, y mucho menos saber si eran confiables o no Si se fijan en la poltica de privacidad de ese sitio web, en la parte de abajo hay unos escritos en ingles que dicen que es una aplicacin solo para entretenimiento y que no guardaran tu informacin, etctera, etctera. Sin embargo, lo curioso de ese sito es que, si revisan el cdigo de fuente de la aplicacin Facebook, en una parte podemos observar lo siguiente:

Figura 4: El nombre de la aplicacin Facebook se llama "El Colector"

No estoy afirmando que la aplicacin almacene la informacin de las personas que la usen pero la verdad es que suena bastante sospechoso. Imagnense entonces lo que podra llegar a pasar si le dan todos los permisos a una aplicacin diseada por un malo de verdad, especficamente para robar datos de las personas a travs deFacebook. Si piensas que una vez dados los permisos, basta con quitrselos, ests un grave error. Y es que esa aplicacin seguramente ya haya almacenado toda la informacin en un servidor y se acab. Se fueron todos los datos a otro servidor que no tiene nada que ver con la infraestructura de Facebook o sus polticas de privacidad y seguridad. Eliminar una aplicacin no significa que los datos que tomo mientras estabas usndola se borrarn de sus servidores.

De hecho, muchas de esas aplicaciones guardan los datos en servidores que tienen una dudosa seguridad, y es fcil encontrar en esos servidores fallos demasiado comunes y sencillos. (Nota Maligna: De esto os publicar en unos das un artculo con Silverhack sobre este tema)

Figura 5: App Facebook con SQLi, cortesa de Silverhack

Prosigo con lo que en realidad quera hablarles Como deca al principio, despus de unas pruebas en la API de Facebook encontr algunas carencias de seguridad, especialmente debido a que Facebook gestiona todos los accesos mediante una URL que lleva todos los datos necesarios. Si le hemos dado los permisos a una aplicacin y navegamos a una direccin URL que devuelva el Access_token obviamente no volver a pedir los permisos. Por lo que queda almacenado en una en esa URL tu Access_token al aire, por as decir, y ya sabis lo que se puede hacer con el. Lo que puedo decir sobre esto, es que debis fijaros en qu permisos dais a las aplicaciones y qu aplicaciones instalis, si son o no confiables y en caso de haber instalado alguna borrarle los permisos concedidos. Pero que pasara si se pudiera generar un Access_token sin que le deis los permisos a la aplicacin, que todos los permisos existentes se les den solos y que adems no podis quitar dicha aplicacin. Molara verdad? No, la verdad es que no molara, sino que mola porque tras realizar muchas pruebas pude comprobar que es posible hacer esto. Si se configura bien un script bastara con navegar a un sitio web malicioso para que te roben tu

informacin personal, con solo ingresar y nada ms. Para conseguir que entre en esa web, como truco de ingeniera social para robar la cuenta de quien sea se podra usar, por ejemplo, un mensaje enviado a si mismo, que le cause curiosidad y al pinchar el enlace se termin todo. Ya sabis que dejar tal mensaje es pan comido, a travs de la suplantacin de identidad en Facebook, lo nico que deberas saber su direccin de correo pero mucho mas fcil todava. Pero esto, ser en la tercera y ltima parte del artculo, antes de que hagamos unas consultas previas

Para lograr que con solo navegar a una determinada URL se genere un Access_Tokencon todos los permisos sin que el usuario los haya aceptado antes, realizando unas pruebas me top con las aplicaciones desarrolladas por Facebook. Todas estas aplicaciones creadas por los mismos desarrolladores de Facebook no piden permisos al usuario debido a que para ellas no es necesario porque son del mismo Facebook. Algo como suele hacer Apple con sus aplicaciones o ... bueno, ya sabis. Esto lo puedes comprobar fcilmente ya que cuando cualquier aplicacin en tu iPhoneo Android quiere acceder a tus datos en Facebook es necesario darle los permisos, mientras que cuando usas Facebook para iOS o Facebook para Android esto no es as. Es decir, estas aplicaciones tiene una categora especial que les permite acceso total a tus datos, o lo que es lo mismo, generar un Access_Token para ellas sin interactuar con el usuario. Las aplicaciones que son de Facebook son las que estn en Facebook Apps y alguna otra ms que no est por ah. Conocido esto, es posible suplantar la peticin que hace Facebook para iPhone con el objetivo de conseguir un Access_Token con todos los permisos. Si miramos la peticin que hace esta aplicacin, se puede ver lo siguiente: https://www.facebook.com/dialog/permissions.request?app_id=6628568379&next=https://faceb ook.com/connect/login_success.html&response_type=token Como se puede ver, lo que devuelve esta URL es un Access_Token con todos los permisos para acceder a la cuenta del usuario. Esta es la redireccin que se obtiene, con el Access_Token. https://www.facebook.com/connect/login_success.html#access_token=AAAAAAYsX7TsBAEmjMvx nhzHd6EjaGrGZBnrVsYsdsacHLGNDQiWhOtYHeJpAbA4[CENSORED]MBaodL8r6OsBe6EXkbG1hnumon0 YP7xTAvnpYFb&expires_in=87731 Y as, a lo tonto, en ese Acces_Token est el acceso a toda nuestra cuenta, es decir, como si fuera el usuario y la contrasea.

Figura 6: Surprise!

Una key que permite acceder a todos los datos de la cuenta. Por supuesto, para obtener ese Acces_Token de cualquier persona hace falta un poquito de ingeniera social, que haga clic en un enlace malicioso y conseguir el Access_Token de la respuesta mediante un script. Como Facebook aun no ha hecho nada para corregir eso, la gente malvada y losempresarios de moral distrada y tcnicas de Black SEO han comenzado a crear servicios en Internet que te ponen 1000 likes como el tipo que se cambi el nombre por Mark Zuckerberg por ser baneado y denunciado por Facebook en estados, fotos, comentarios, etctera, debido a que almacenan miles de Access_Tokens y los usan para dar el servicio, es decir, te piden tu cdigo y usan los cdigos de los dems para darte el servicio, y as sucesivamente. Hay miles de maneras de robarlo y las mass sencillas son mediante trucos dePhishing, o servicios de engao como saber quin usa tu perfil, eliminar la biografa, o saber cuentas que existen en Facebook. Si lo quieren hacer menos llamativos, a los Phishers les bastar con cambiar el esquema de Phishing y pedir a las vctimas que, en lugar de insertar la contrasea y el e-mail, inserte eseAccess_Token para ver la informacin privada de una persona... o lo que se les ocurra.

Como prueba de concepto de la gravedad de esto programe una aplicacin que permite realizar distintas funciones como leer los mensajes, ver notificaciones, actualizar estado, dar likes y ms con solo ingresar el cdigo de acceso, con la que jugu e hice muy popular algn post gracias a Acces_Tokens cedidos por amigos. Aqu una imagen del programa.

Figura 7: Extrayendo info de una cuenta con un Access_Token "robado"

En este caso, probando la aplicacn con mi cuenta, lo que hice es acceder a toda mi lista de contactos y mostrar el ID, el nombre del contacto - en otras palabras el e-mail de Facebook - y el e-mail de la persona - si no lo han ocultado -. En definitiva muestra a quin le gustara que le suplanten la identidad en Facebook, ya que tiene el e-mail pblico - Chema, ponlo pblico! -. Seguramente a alguno le llamara la atencin la imagen de la Foca all. Es una funcin del Graph API de Facebook que se llama metadata y lo que hace es listar todas las URLs que contienen los datos del usuario. Y a m me gusta la FOCA. En definitiva, la creacin de Access_Tokens sin validacin por parte del usuario, simplemente suplantando el ID de una aplicacin de Facebook es un bug demasiado grav, del que estoy seguro que Facebook tiene constancia viendo las empresas que bloquea y demanda. Ahora hay que ver si con la difusin masiva lo cierran - aunque sera ms engorroso para las aplicaciones Facebook

Você também pode gostar