Si eres usuario de Firefox, seguramente habrás notado que es posible almacenar todas tus contraseñas en el propio navegador. Esta función resulta muy tentadora: te permite iniciar sesión rápidamente en tus cuentas o servicios sin tener que recordarlas de memoria. Además, si usas Firefox como tu navegador principal, todo queda sincronizado entre tus dispositivos. Pero... ¿alguna vez te preguntaste si realmente es seguro? ¿Sabes cómo almacena y protege tus contraseñas este navegador? En este artículo, vamos a desglosar el funcionamiento del administrador de contraseñas de Firefox, sus medidas de seguridad y los posibles riesgos de confiarle la información más sensible de tus cuentas.

¿Cómo se guardan nuestras credenciales en Firefox?

Cuando aceptamos guardar algún tipo de credencial, el primer paso que realiza el navegador es buscar una llave de cifrado. Para ello, genera (si no se ha creado antes) una llave de 256 bits para luego proteger las contraseñas usando el algoritmo de cifrado simétrico AES en su modo CBC (o Cypher Block Chaining).

Esta llave se genera una sola vez, y será utilizada para cifrar todas las credenciales que el usuario del sistema operativo almacene en Firefox. A su vez, la llave debe ser cifrada y aquí Firefox ofrece dos opciones: si el usuario tiene una contraseña maestra configurada, se cifra con esta; o, si no tiene contraseña maestra, el navegador delega esta tarea al sistema operativo para ser protegida por algún programa de administración de credenciales (DPAPI en Windows, Keychain en macOS, o gnome-keyring/Kwallet en Linux). En una última instancia, si el equipo no cuenta con estas funcionalidades, Firefox utiliza un algoritmo de cifrado propio. En todos estos casos, la información referida a llaves de cifrado se almacena en un archivo de tipo SQLite llamado key4.db (o key3.db en versiones anteriores).

Una vez cifradas, las credenciales se guardan en un archivo llamado logins.json que se almacenará, junto con la base de datos mencionada antes en:

  • Windows: C:\Users\[Usuario]\AppData\Roaming\Mozilla\Firefox\Profiles\[Perfil]
  • Linux: ~/.mozilla/firefox/[Perfil]
  • macOS: ~/Library/Application Support/Firefox/Profiles/[Perfil]
guardar-contrasenas-firefox-riesgos-1
Imagen 1: Ejemplo de credencial en logins.json.

Para que podamos utilizar esta contraseña, Firefox sigue el proceso inverso y la desencripta.

Además, Firefox ofrece la posibilidad de sincronizar las credenciales almacenadas entre distintos dispositivos. Esta, llamada Firefox Sync, cifra además las comunicaciones que contienen credenciales en tránsito, evitando así posibles ataques de Man in the Middle a la hora de realizar la sincronización.

¿Por qué es riesgoso almacenar nuestras contraseñas en Firefox?

Existen varias herramientas que permiten recuperar las contraseñas almacenadas en Firefox, que son útiles si requerimos transferir o recolectar nuestras credenciales en un solo archivo o salida. Sin embargo, estos mecanismos también permiten a cibercriminales que tengan acceso a nuestro equipo, ya sea física o remotamente, poder hacerse con nuestros accesos.

A modo de ejemplo, utilizaremos la herramienta Firefox Decrypt, un script que recolecta credenciales a partir de un perfil de Firefox sin contraseña maestra (o con una previamente conocida). Comenzaremos con las siguientes contraseñas almacenadas en el perfil de la víctima:

guardar-contrasenas-firefox-riesgos-2
Imagen 2: Contraseñas almacenadas en el perfil de la víctima.

En este caso, el perfil contará con las configuraciones por defecto del administrador de contraseñas, incluyendo la clave maestra desactivada.

Para comprender el funcionamiento del script, podemos llamarlo con la flag -h

guardar-contrasenas-firefox-riesgos-3
Imagen 3: Funcionamiento del script.

La extensa salida nos muestra las funcionalidades de la herramienta, incluidos formatos para exportar, un modo debug, o la opción de indicar la clave maestra

Para fines de demostración, solamente nos hace falta incluir la opción “verbose” o -v, para obtener la mayor información posible en la consola. El script nos dará a elegir entre los perfiles cargados (si hay más de uno), para luego mostrar automáticamente la lista de credenciales desencriptadas.

guardar-contrasenas-firefox-riesgos-4
Imagen 4: Lista de credenciales desencriptadas.

Esta es solo una de las tantas herramientas que existen con este mismo propósito, y para otros navegadores también. Entre ellas está LaZagne, un proyecto multiplataforma que permite extraer credenciales de navegadores, bases de datos, correos, e incluso del propio sistema operativo.

Es importante remarcar que no es posible utilizar estas herramientas si el perfil tiene una contraseña primaria o maestra configurada desconocida.

Conclusión

Si bien representa una comodidad, almacenar nuestras contraseñas en un navegador como Firefox tiene sus riesgos. Basta con una intrusión en nuestro equipo que tenga la sesión del sistema operativo iniciada para que estas queden expuestas, y puedan ser robadas por cibercriminales mediante herramientas o códigos maliciosos que realicen esta extracción de manera automatizada.

Por estos motivos, recomendamos o bien preferir aplicaciones de gestión de credenciales o, si decidimos igualmente utilizar el administrador de contraseñas de Firefox, configurar una contraseña maestra. Esto agregará una capa de seguridad extra, más allá del cifrado básico que realiza el navegador. Por último, es importante ser consciente de los riesgos de utilizar cualquier administrador de contraseñas, y cómo los ciberatacantes pueden llegar a la información más sensible que tenemos como usuarios en línea.