Foro de elhacker.net

Seguridad Informática => Criptografía => Mensaje iniciado por: Debci en 2 Septiembre 2013, 13:49 pm



Título: Sobre TripleDES y el signons.sqlite de firefox
Publicado por: Debci en 2 Septiembre 2013, 13:49 pm
Buenas a todos!
Alguien tiene algo de información sobre como está cifrado el fichero de contraseñas de firefox, el famoso signons.sqlite?

Leo y leo pero no hay nada explícito y habiendo probado ya varias cosas, no logro descifrar ninguna contraseña.

Se supone que hay una masterkey en key3.db, pero yo no la fijé. Alguien puede arrojar luz al asunto?

Saludos


Título: Re: Sobre TripleDES y el signons.sqlite de firefox
Publicado por: Mad Antrax en 2 Septiembre 2013, 14:02 pm
Desconozco como está cifrado, pero creo que debe haber alguna forma "más fácil" para leer ese contenido. Nirsoft tiene muchas utilidades y una de ellas dumpea los password de firefox:

http://www.nirsoft.net/utils/passwordfox.html

Se me ocurre desensamblar dicho programa, ver que APIS utiliza (si ataca el fichero *.sqlite o no, si accede al registro o lo sea) y poder aprender como ese programa logra los passwords.

Yo al menos tiraría por ésta vía, que a mi modo de ver, es la más divertida jeje

Saludos


Título: Re: Sobre TripleDES y el signons.sqlite de firefox
Publicado por: Debci en 3 Septiembre 2013, 11:08 am
Tengo claro que se encuentra en estos archivos pero no he logrado de-codificar sin la passphrase que exige el  triple Des + salt que usa firefox para guardar las contraseñas. Obteniendo la passphrase en key3.db, no sé cómo aplicarla luego.

Alguien tiene idea?


Título: Re: Sobre TripleDES y el signons.sqlite de firefox
Publicado por: kub0x en 9 Septiembre 2013, 17:58 pm
Bueno gracias a un par de búsquedas y varias comidas de tarro he conseguido descifrar las contraseñas alojadas en signons.sqlite. Eso sí, el proceso lo he implementado sin tener en cuenta la contraseña maestra de Firefox. Si existiera una establecida, el juego sería distinto.

Como ya sabrás FireFox cifra tus credenciales mediante Triple DES, codificándolas posteriormente en Base64 para alojarlas en la respectiva base de datos. La historia es que utiliza un Salt en el cifrado y una clave predeterminada (si la contraseña maestra no fue establecida). Para poder implementar dicho proceso, FF se sirve de la librería NSS (openSource) y de los módulos PCKS #11. Lo único que debes de hacer es comprender como FF cifra las credenciales y revertir el proceso. No hay que comerse la cabeza con TDES ni salts ni nada ;)

Referencias:

http://raidersec.blogspot.com.es/2013/06/how-browsers-store-your-passwords-and.html (http://raidersec.blogspot.com.es/2013/06/how-browsers-store-your-passwords-and.html)
http://media.blackhat.com/bh-us-11/Bursztein/BH_US_11_Bursztein_Owade_Slides.pdf (http://media.blackhat.com/bh-us-11/Bursztein/BH_US_11_Bursztein_Owade_Slides.pdf)

Respondo por PM a todas tus preguntas. El lenguaje en el que lo he desarrollado es VB .NET aunque podría facilitarte el código en C#/C++ (o parte de éste).

Saludos!


Título: Re: Sobre TripleDES y el signons.sqlite de firefox
Publicado por: Debci en 15 Septiembre 2013, 14:54 pm
Bueno gracias a un par de búsquedas y varias comidas de tarro he conseguido descifrar las contraseñas alojadas en signons.sqlite. Eso sí, el proceso lo he implementado sin tener en cuenta la contraseña maestra de Firefox. Si existiera una establecida, el juego sería distinto.

Como ya sabrás FireFox cifra tus credenciales mediante Triple DES, codificándolas posteriormente en Base64 para alojarlas en la respectiva base de datos. La historia es que utiliza un Salt en el cifrado y una clave predeterminada (si la contraseña maestra no fue establecida). Para poder implementar dicho proceso, FF se sirve de la librería NSS (openSource) y de los módulos PCKS #11. Lo único que debes de hacer es comprender como FF cifra las credenciales y revertir el proceso. No hay que comerse la cabeza con TDES ni salts ni nada ;)

Referencias:

http://raidersec.blogspot.com.es/2013/06/how-browsers-store-your-passwords-and.html (http://raidersec.blogspot.com.es/2013/06/how-browsers-store-your-passwords-and.html)
http://media.blackhat.com/bh-us-11/Bursztein/BH_US_11_Bursztein_Owade_Slides.pdf (http://media.blackhat.com/bh-us-11/Bursztein/BH_US_11_Bursztein_Owade_Slides.pdf)

Respondo por PM a todas tus preguntas. El lenguaje en el que lo he desarrollado es VB .NET aunque podría facilitarte el código en C#/C++ (o parte de éste).

Saludos!

Disculpa mi descortesía!
He tardado en responder porque ando liado con estudios/trabajo.

Muchísimas gracias, ya tengo material para trabajar :D

Un saludo