- Grave Bug en Gmail - |
Also available in english version at: http://www.elhacker.net/gmailbug/english_version.htm INTRODUCCIÓN Este bug ya ha sido corregido por Google y por eso ha sido publicado (Octubre-Noviembre 2005) En este manual se explica paso a paso como explotar la vulnerabilidad del Gmail que te daba acceso a cualquier cuenta, reportada por Anelkaos, colaborador del foro de elhacker.net y parcheada por Google el día 18 de Octubre. Dada la gravedad del bug (permitía en unos sencillos pasos acceder a cualquier cuenta gmail) se decidió no publicar este documento mientras el fallo continuara activo. Los motivos son más que obvios puesto que TODAS las cuentas de gmail quedaban al descubierto. Google no se ha pronunciado definitivamente al respecto, y parece que no tiene intención de reconocer el bug. La veracidad del fallo fué demostrada ante los editores de la revista Seguridad0, entrando en una cuenta creada con ese propósito, tal como se describe en http://www.elistas.net/lista/informativos/archivo/indice/61/msg/79/. También se "atrevieron" a publicar la noticia CyruxNET y PCWorld. El bug fué descubierto el día 14 y el bug se cerró el día 18 gracias a que ANELKAOS decidió contactar con Gmail en vez de publicar el bug en alguna lista de seguridad, y lamentablemente no pudimos hacer otras demos en otro sitios donde mandamos la noticia, y como no somos HBX Networks, todos nos pedían un hackeo de prueba. Menos mal que tenemos guardados todos los emails donde Google si reconoce el fallo. ;). A diferencia del reportado por HBX y publicado en BetaNews el año pasado, este no requiere robo de cookies, con lo que su peligrosidad era bastante más elevada. PROCEDIMIENTO Esta es la forma que desarrolló Sirdarckcat, compañero de EHN, aunque el método original es algo más simple, el concepto es el mismo. Debido a que este demostración fue realizada contra una cuenta ajena, se han ocultado todos los datos con información que pueda traer consecuencias legales. En la variable AUTH va cifrada la dirección del propietario del correo, y aunque nosotros no sabemos descifrarla, hemos preferido ocultar sus valores, por si "otros" si pudieran :) Primero, necesitamos 2 sesiones. Para eso hemos optado por usar Internet Explorer y Mozilla. Iniciamos sesión normalmente... en Mozilla por ejemplo. Si nos fijamos, nos damos cuenta de que la pantalla de Login ahora es distinta. No pregunta solamente por si ha olvidado su contraseña, sino que ahora pregunta además por el usuario. ¿Demasiada casualidad no? Que de pronto y coincidiendo con la publicación de la existencia de este bug haya habido cambios en la autenticación es demasiada casualidad no? ;). Hablamos de hace 10 días :) Bueno, seguimos. Ahora necesitamos algunos datos que modificaremos. Para eso también iniciamos sesión en Internet Explorer, pero detenemos el navegador en cuanto salga Loading... Simplemente miramos el código fuente y guardamos el valor de la variable ver que necesitaremos después.
A continuación permitimos que continué la carga de la página, y miramos la dirección de la bandeja de entrada, que podemos ver dando click derecho, propiedades. Vamos a necesitar la variable zx, y la guardamos. Vamos a mail/?username=victima&zx= [Variable zx] y detenemos la carga de la pagina justo cuando acabe de cargarse, entrando a: Detenemos de nuevo el navegador, y miramos el fuente. asi Aquí tenemos el código de auth que necesitamos para iniciar sesión como nuestra victima, pero nuestra cookie no está de acuerdo. Miramos lo que hay en la cookie, y cambiamos el valor de ID por el de la variable ver que conseguimos al principio, esto lo que hace sorprendentemente es generar un valor válido. No tiene información relacionada, ¿Por que pasa esto? Quien sabe. Gmail confirma que este bien cifrado, y que todo pasa correctamente las normas. Sin embargo, aunque el contenido no tiene nada que ver, no da error.
Una vez modificada la cookie, en la sesión de explorer.. entramos a la siguiente pagina: http://mail.google.com/mail?gxlu=victima&zx= [Variable zx]
En este momento aún no hemos iniciado sesión, solo nos hemos asociado con la cuenta de la víctima. Así que vamos a: www.google.com/accounts/ServiceLoginAuth. y este te manda a: mail.google.com/mail/?auth= [CODIGO auth] En este punto solo nos queda modificar los valores de las cookies que nos va a expirar.. al menos les damos 1 minuto de vida. Entramos en mail.google.com/mail/?&&rm=false&null=Entrar&continue detenemos el loading porque si no nos va a cerrar la sesión y escribimos: javascript:document.cookie+=";expires=Thu,%2001%20Jan%202070%2000:00:00%20GMT"; Una vez alargada la vida de las cookies, entramos a mail.google.com/mail/?auth= [CODIGO auth] y ya iniciamos la sesión como la victima. Acceso completo por supuesto :) DESPEDIDA Y CIERRE Vale que sea una versión Beta, y que no tienen por qué reportar nada. Pero si lo hubieran reconocido y publicado una nota de agradecimiento, esta información no hubiera sido publicada. Nosotros hemos conseguido llegar al mismo resultado de tres formas distintas, las otras dos bastante mas simples, con lo que fácilmente se deduce que esto es un multibug, y un error de diseño. Con todas estas pistas no tardarán en salir nuevos métodos. |
| encuesta | foro | boletín | recomendar | ¿algún fallo? | |