Hacking Tools

Firefox Decrypt – Mastering Password Recovery For Mozilla Applications

As of 1.0.0 Python 3.9+ is required. Python 2 is no longer supported. If you encounter a problem, try the latest release or check open issues for ongoing work.

If you definitely need to use Python 2, Firefox Decrypt 0.7.0 is your best bet, although no longer supported.

Table Of Contents

  • About
  • Usage
    • Advanced Usage
    • Non-Interactive mode
  • Ouput formats
    • CSV/Tabular
    • Pass – Password Store
  • Troubleshooting
    • Windows
    • MacOSX
  • Testing
  • Derived works

About

Firefox Decrypt is a tool to extract passwords from profiles of Mozilla (Fire/Water)fox™, Thunderbird®, SeaMonkey® and derivates.

It can be used to recover passwords from a profile protected by a Master Password as long as the latter is known.

If a profile is not protected by a Master Password, passwords are displayed without prompt.

This tool does not try to crack or brute-force the Master Password in any way. If the Master Password is not known it will simply fail to recover any data.

It requires access to libnss3, included with most Mozilla products. The script is usually able to find a compatible library but may in some cases load an incorrect/incompatible version.

If you encounter this situation please file a bug report.

Alternatively, you can install libnss3 (Debian/Ubuntu) or nss (Arch/Gentoo/…). libnss3 is part

If you need to decode passwords from Firefox 3 or older, although not officially supported, there is a patch in this pull request.

Usage

Run:

python firefox_decrypt.py

The tool will present a numbered list of profiles. Enter the relevant number.

Then, a prompt to enter the master password for the profile:

  • if no password was set, no master password will be asked.
  • if a password was set and is known, enter it and hit key Return or Enter
  • if a password was set and is no longer known, you can not proceed

Advanced Usage

If your profiles are at an unusual path, you can call the script with:

python firefox_decrypt.py /folder/containing/profiles.ini/

For more information click here.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

1 hour ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 hour ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

2 hours ago

file Command in Linux: Identify File Types Without Extensions

The file command inspects the actual contents of a file and reports its type — regardless of…

1 day ago

chattr Command in Linux: Set File Attributes with lsattr

chattr sets and removes special file attributes that operate at the filesystem level, separate from standard…

1 day ago

env Command in Linux: Show and Set Environment Variables

env prints the current environment, sets or removes variables for a single command, and can start…

1 day ago