jueves, 16 de febrero de 2012

[Hack] La vulnerabilidad que facebook no quiere corregir.

ACTUALIZACIÓN: (02/11/12) Si se fijan en los nuevos enlaces que envía facebook. Han modificado la estructura de los parámetros. Al parecer ya no funciona de la misma forma. 
------------

Esta entrada la iba a publicar mucho antes, pero en facebook necesitaban revisar antes el contenido, para no iniciar acciones legales. Así que hoy lo libero para todos.

En los meses de vacaciones, mientras descansaba y leía el correo. Se me dio por cambiar unos parámetros de la url en facebook (de esa forma acceder mas rápido al contenido, y no tener que buscarlo), y vaya sorpresa que me di cuando apareció un cartel que decía "Bienvenido/a de vuelta ******* ******** (Nombre del usuario)", Y al hacer click en aceptar entraba directamente al facebook sin requerir contraseña. No podía creer que existiera tal error, o acaso ¿era una simple casualidad?. En ese momento no me percaté de tomarle una captura de pantalla, cerré el facebook y empecé aprobar cambiando los id de usuarios o con diferentes enlaces, a ver si volvía a ocurrir, y nada.
Comencé a buscar en la red a ver si había un caso registrado, una imagen o algo que hablase del mensaje de bienvenida y no hallé nada.
Hasta que analizando bien los parámetros pude volver a repetirlo, con otra cuenta.
-----------

Verán, cuando uno inicia sesión en alguna pagina la forma de permitir que los usuarios puedan navegar libremente por el sitio y este lo diferencie de otro usuarios. Se crean sesiones propiamente dicho, para las que se utiliza una cookies o la url con un identificación de usuario que puede ser fijo o aleatorio, variable dentro de la pagina o temporal.
Es decir, que un usuario en ese momento tiene un numero id lo suficientemente largo, lo que lo hace imposible de adivinar, y varía de un explorador a otro. Pero que no es inmune a técnicas de sidejacking (La sesión solo se puede usar mientras la "víctima" esté utilizando la pagina), hijacking (Secuestro de sesión, a través de "man in the middle" donde un atacante interfiere con la sesión).

¿Como funciona la vulnerabilidad?
Facebook cada cierto tiempo al cerrar y volver a conectar genera un nuevo identificador, pero si no iniciaste nuevamente sesión, cada notificación que te llega al correo utiliza el ultimo identificador de sesión y peor aun, como muchas aplicaciones moviles no cierran sesión para poder avisarte de un nuevo mensaje, este identificador permanece sin modificación.
Pero intenten abrir un comentario que llega al correo, desde otro explorador nos pide la contraseña. Lo mismo ocurriría desde otro PC.
Lo que no muchos saben es que facebook tiene una pagina para autentificar los identificadores, "autologin.php" que cuando coinciden los datos nos da la bienvenida nuevamente y nos pide hacer click en confirmar (solo la primera vez), así las demás veces nos redirigirá automaticamente a la publicación.
Explotando el autologin.
Si nos fijamos en las distintas publicaciones, dependiendo del tipo que sea utilizan el mismo formato y solo cambia el id de la publicación. La diferencia con estas url y las que nos envía facebook al mail es mínima. Ejemplo de una mensaje en el muro de otro usuario:
http://www.facebook.com/permalink.php?story_fbid=123456789012345&id=000000000000001
donde "story_fbid" es el identificador de la publicación y "id" mi identificador. Entonces lo que llegaria al mail del otro usuario sería:
http://www.facebook.com/n/?permalink.php&story_fbid=123456789012345&id=000000000000001&mid=2G5f0e365f3eaf3d73G5e92G294b1&bcode=mNXa4XoZ&n_m=otro_usuario%40hotmail.com

Fíjense que no hay mucha diferencia, "mid" y "bcode" son los parámetros que se asignan para identificar la sesión. Utilizando esa url y a menos que estés conectado a esa cuenta, va a pedir contraseña.
Para que funcione el autologin se necesita engañar al servidor enviando dos url. Una con los parámetros "mid" y "bcode" falsos y otra con los últimos utilizados.

1-Buscamos los datos de la publicacion:


2-Armamos la primera url con los datos obtenidos, mid es una secuencia de 29 0 30 dígitos inventada y bcode una secuencia de 8 digitos también inventada.
http://www.facebook.com/n/?permalink.php&story_fbid=115819891876976&id=100003*********&mid=2G5f0e365f3eaf3d73G5e92G294b1&bcode=mNXa4XoZ&n_m=pepe_usuario%40hotmail.com
Al querer entrar nos va a pedir la contraseña.


3-Conseguir la url o los parametros mid y bcode para agregarlos a alguna publicación. Tienen que ser los utilizados mas recientemente.

4-En la ventana anterior, donde nos pidió la contraseña. Borrar la url y colocar la nueva url. El autologin va a comprobar nuevamente los parámetros y mostrará la siguiente ventana.


5-Al hacer click en continuar nos enviará directamente a la publicación, pero logueado con la cuenta del usuario. ;)

-----------------
Según facebook "They require a malicious person to be in control of a user's email inbox in order to gain access to their Facebook account." pero es solo una de las formas, veamos 4 casos que me han funcionado:

1-Ataque pos explotacion: Si tenemos acceso a su correo, o tenemos la oportunidad de acceder solo nos enviamos el correo de la ultima notificacion a nuestra cuenta.

2-Ingenieria social:


3-A través del autocompletar o historial del explorador.




4-A través de una búsqueda web especialmente diseñada, para entrar a cuentas al azar.
-----------------
Si ya tenias que lidiar con la intercepción de contraseñas, ahora esto. Obviamente no lo van a corregir porque se requiere también de acciones externas. Pero acaso ¿no es el mismo problema que al olvidarte la contraseña sea mandada al mail?

53 comentarios:

  1. puedes hacer un video de como hacer esto?? te lo agradeceria infinitamente :-)

    ResponderEliminar
  2. Que tal, no puedo ser mas especifico. Acuerdate que necesitas la notificacion que le llega al otro usuario al correo para sacar los mid y bcode actuales.

    saludos

    ResponderEliminar
  3. Disculpa, afuerzas tiene que ser mozilla firefox?

    ResponderEliminar
  4. No precisamente. Lo probé en mozilla, chrome y Iexplorer, en los tres no hubo problemas.

    Saludos!

    ResponderEliminar
  5. Hizelo que me dices, pero la pagina no abre, que hago? solose queda cargando

    ResponderEliminar
  6. Debe ser algun otro problema con el explorador, o conexion. Si los identificadores no son validos simplemente te mandan al login pero no queda cargando.

    saludos

    ResponderEliminar
  7. No entiendo el paso 3, cómo consigo el mid y bcode? Gracias

    ResponderEliminar
  8. El mid y bcode lo mandan al correo del otro usuario, ya sea por una subscripcion, o aviso de cualquier notificacion, dentro del link.
    Obviamente se tiene que conseguir el ultimo mail, con el riesgo que el usuario renueve sesion y se renueven esos parametros.
    No es tan simple.

    Saludos

    ResponderEliminar
  9. oye necesito hackear un face. . pero no lo tengo com amigo que puedo hacer?. .

    ResponderEliminar
  10. Disculpa, no puedo dar consejos de esos. Yo solo pongo ejemplos para prevenir accesos a nuestras cuentas.

    Para este ataque se requiere cualquier publicacion que aparesca en su muro.
    Pero recuerda que debes tener tambien su ultimo mail de notificacion.
    La forma en que alguien lo obtiene, o cualqueira de las otras tecnicas explicadas en el el weblog es responsabilidad de cada uno.

    No existe ninguna forma directa, la mayoria son "engaños" para que el otro usario mande la contraseña, instale malware o en este caso envie los identificadores.

    A menos que se consiga estar en la misma red (wifi) como en el articulo
    http://gonzac-studios.blogspot.com/2011/11/hack-las-paginas-juegan-con-nuestros.html

    saludos

    ResponderEliminar
  11. Amigo, no logro poder realizar los pasos, no se si no los entendi bien o hay alguna falla, que podria hacer? Alguna otra explicacion posible?

    Gracias.

    ResponderEliminar
    Respuestas
    1. Si se cierra secion y se vuelve a abrir se renuevan los id. Es mejor que no esten usando la cuenta, ya que en un momento llega una notificacion y se renuevan los id.
      Te aconcejo que pruebes con tu cuenta, y distintas notificaciones. Hasta que te salga bien.

      Saludos

      Eliminar
  12. hola gonza puedes ayudarme? es de caracter urgente...necesito una contraseña de una cuenta de hotmail...puedes? t dejo mi mail jacqueline.educar@gmail.com

    ResponderEliminar
    Respuestas
    1. Que tal, hoy en dia no se puede interceptar ni obtener la cable por los certificados de seguridad. Lo normal cuando obtienen las contraseñas es por ingenieria social adivinando la contraseña o la pregunta secreta con datos personales. Otras veces utilizando SCAMS de las paginas creando un loguin falso. Puedes buscar sobre scam hotmail en google.
      Recientemente se descubrio una nueva vulnerabilidad para resetear la contraseña pero no estoy al tanto.

      Saludos

      Eliminar
  13. hola sabes que e leido atentamente todo pero no he comprendido porfavor si haces un video se me haria de gran ayuda! Graciias :)

    ResponderEliminar
    Respuestas
    1. Que tal, no puedo ser mas especifico. Recientemente no he podido probarlo nuevamente. Puede ser que ya lo hayan corregido, pero segun me informaron de facebook estos parametros son requeridos para iniciar sesion, por lo que deberia seguir funcionando.

      Saludos

      Eliminar
  14. compadre me puedes ayudar con una contraseña porfa...eh leido todo lo que pusiste...pero la verdad es que no entendi...eh buscado en mil paginas pero nada me resulta!!! si me ayudas te lo agradeceria de por vida...
    te dejo mi correo ryyf_07@hotmail.com saludos man ;)

    ResponderEliminar
    Respuestas
    1. Prueba algo mas sencillo como lo de http://gonzac-studios.blogspot.com.ar/2011/11/hack-las-paginas-juegan-con-nuestros.html por si te sirve.

      Saludos

      Eliminar
  15. tu no me puedes ayudar a hackear una cuenta verdad?

    ResponderEliminar
    Respuestas
    1. hoy en día es mucho mas complicado incluso estando dentro de la misma red. La manera mas fácil es a través de SCAMs para engañar al usuario o probando con datos personales. Y algo parecido, estando en la misma red podrías colocarte como intermediario y actuar como un servidor falso.

      Saludos

      Eliminar
  16. el enlace ya no aparece como antes, ahora te sale algo asi (http://www.facebook.com/DaianaSoledadGarzonio/posts/463795163636803) dice post no history, se puede hakear todavia?
    saludos :D

    ResponderEliminar
    Respuestas
    1. Estuve probando este ultimo tiempo. Y pareciera que eliminaron el autologin.

      Saludos

      Eliminar
  17. hola... no entiendo algo... el enlace de la foto de una persona es este, por ejemplo: http://www.facebook.com/photo.php?fbid=305156306230163&set=a.305156302896830.71852.100002073879579&type=3&theater

    tomo esta parte --> fbid=305156306230163&set=a.305156302896830.71852.100002073879579&type=3&theater

    y luego a qué se la agrego? es que no comprendo de dónde tomás mid y bcode y cómo lo armás :/ no logro entenderlo bien, he probado y nada.

    gracias!

    ResponderEliminar
    Respuestas
    1. la primera url la armas http://www.facebook.com/n/?
      photo.php?fbid=305156306230163&set=a.305156302896830.71852.100002073879579
      &mid=(30 digitos inventados)&bcode=(8 digitos inventado)&n_m=(mail del usuario)

      Luego cuando estas en el login, escribes la url real obtenida del ultimo correo que mando facebook al usuario.

      saludos

      Eliminar
  18. la url real obtenida del último correo que mandó facebook al usuario? esa cómo la obtengo? tú disculpa mi lentitud, jaja.

    ResponderEliminar
    Respuestas
    1. Esa es la parte compleja, Hay que engañar al usuario para que te pase el ultimo correo o acceder a su casilla de correo interfiriendo la red y falsificando certificados lo que muy complejo.
      La idea era mostrar, que si bien facebook no almacena las contraseñas ni las envia al email por razones de seguridad. Se puede robar la sesion con sus notificaciones.
      Lamento si no te ha servido la informacion.

      Saludos

      Eliminar
  19. Muchas gracias! Hay alguna forma de hackear facebook que no sea esa?

    ResponderEliminar
    Respuestas
    1. Actualmente se corrigieron muchísimas vulnerabilidades, las formas de acceder a una cuenta se limita a engaños por SCAM, e ingenieria social.

      Saludos

      Eliminar
  20. Hola! yo ingreso al hotmail de esta persona copio el URL y que mas?

    ResponderEliminar
    Respuestas
    1. Primero tienes que crear la url como en los pasos 1 y 2, de tal forma que nos envie a la pagina del login. Buscas la ultima notificacion de facebook de su correo y copias el link.
      Borras la url del login que apareció antes y colocas la url que copiaste.
      Se deberia abrir una pagina nueva que debes aceptar.
      saludos

      Eliminar
  21. Hola! Entonces para poder tener la ultima notificacion de facebook! Tengo que tener acceso a su mail o como??

    ResponderEliminar
    Respuestas
    1. Lamentablemente es la forma mas fácil.
      Estando en la misma red, puedes robar la cookie para poder logearte, sino utilizando un scam para engañar al usuario.
      Busca mas informacion en el buscador.

      Saludos

      Eliminar
    2. Diay si uno tubiera ya el acceso al correo de la victima no necesitaria hacer tanto mate, nada mas le diria a facebook, que olvido la contraseña y que se la mande de nuevo al correo y entraria.....parecias convincente gonza pero con esto no demuestras ma que querer obtener clientes para venderles un servicio imposible de realizar...tener acceso a facebbok agenno.

      Eliminar
    3. Creo que no entendiste nada, facebook no guarda tu contraseña. Y tampoco la envía a tu correo. Son medidas que nosotros los programadores tomamos antes. Se guarda su hash irreversible y no se manda al correo. Si intentas "recuperar" la contraseña te va a pedir que la cambies, por lo que la otra persona no perderá el acceso a su cuenta. Por otro lado existe la opción de avisar a un correo alternativo o celular cuando se intenta cambiar la contraseña. Esta medida era silenciosa, hasta que lo corrigieron hace poco.
      Y finalmente no vendo nada, por favor lea antes y remítase a comentar.

      Saludos cordiales

      Eliminar
  22. sólo me manda a la publicación =/ que hago??

    ResponderEliminar
    Respuestas
    1. Recientemente facebook, cambio la forma de los parámetros. Así que parece ser que no funciona. Al menos, yo he probado con los link nuevos y no me ha funcionado.
      Saludos

      Eliminar
  23. anonima13 oie y entonces no conoces otra forma de hackear que sea efectiva y sin descarga de programas?

    ResponderEliminar
    Respuestas
    1. En realidad la forma mas efectiba seria engañando al usuario con alguna pagina, como un scam o algo.
      Saludos

      Eliminar
  24. Hay un face falso que se hace pasar por mi, me roba las fotos y las sube a su cuenta falsa, quisiera hakcearla para poder borrarla, ya que en facebook las cuentas no se borran por siempre tambien quisiera ver la manera de acabar con ese facebook por siempre :S

    ResponderEliminar
    Respuestas
    1. Facebook ha tomado muchas medidas recientemente, es improbable solo intentando con datos personales de la persona por contraseña.
      Puedes ir al perfil y usar la opción de reportar por robo de identidad, y ellos tomaran las medidas indicadas.

      Saludos

      Eliminar
  25. uff Necesiit Hackear Una Cuenta Qiien Me Ayuda De Urgemciia

    ResponderEliminar
  26. podrias ayudarme? como puedo contactarte para que me asesores starteckpl@hotmail.com

    ResponderEliminar
    Respuestas
    1. Actualmente las unicas formas efectivas es engañando al usuario o teniendo acceso a su equipo. Busca a cerca de SCAM de facebook, o revisa esta entrada sobre los keyloggers http://gonzac-studios.blogspot.com.ar/2009/12/no-siempre-estamos-seguros-keyloggers.html

      Saludos

      Eliminar
  27. Hola me podrias ayudar a hackear una cuenta de facebook

    ResponderEliminar
    Respuestas
    1. Lo veo poco viable. Hoy en día la única forma es a través de ingeniería social o scam de facebook.

      Saludos

      Eliminar
  28. holaa..me gustariaa q ne ayudaras a hackear un facebook.. es urgenteee :S

    ResponderEliminar
    Respuestas
    1. Lo veo poco viable. Hoy en día la única forma es a través de ingeniería social o scam de facebook.

      Saludos

      Eliminar
  29. hola, sabes si hay algun programa para sacar la contraseña de un face, osea no quier cambiarsela sino tenerla, espero tu respuesta, gracias

    ResponderEliminar
    Respuestas
    1. La unica forma es teniendo acceso al equipo e instalar algun keylogger etc http://gonzac-studios.blogspot.com.ar/2009/12/no-siempre-estamos-seguros-keyloggers.html

      Saludos

      Eliminar
  30. ayudame ha hackear uno,oh cobras?

    ResponderEliminar
    Respuestas
    1. No se conoces de una forma efectiva de obtener una cuenta. Busca SCAMS de facebook en google.

      saludos

      Eliminar
  31. Hola disculpen podrian ayudarme le hackearon la cuenta a un amigo y la vdd hacen mal uso de ella solo queremos recuperarla para poder eliminarla pero tmb nos quitaron la cuenta del correo

    ResponderEliminar
    Respuestas
    1. Disculpa la demora, debes hacer las denuncias correspondientes tanto en facebook como en tu proveedor de correo electronico.
      Ellos deberian solucionarte el problema, la proxima vez intenta utilizar todas las mendidas de seguridad de facebook como aviso por correo y sms, aviso de inicio de sesion, guardar dispositivos. Etc.

      Saludos

      Eliminar