Sobre TripleDES y el signons.sqlite de firefox

Iniciado por Debci, 2 Septiembre 2013, 13:49 PM

0 Miembros y 1 Visitante están viendo este tema.

Debci

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

Mad Antrax

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
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Debci

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?

kub0x

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://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!
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


Debci

Cita de: 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://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