Browser saved passwords
Warning
Run these techniques only on systems you are explicitly authorized to test. Treat exported credentials as sensitive data and follow the engagement’s rules of use, storage, and deletion.
This operator page covers triaging browser credential locations on a compromised Linux host, extracting profile files, and decrypting saved passwords on Kali Linux using reliable tools. These methods are for ethical penetration testing or authorized recovery, assuming post-exploitation access to copy files to your Kali machine.
Locate browser profiles fast
Firefox (classic and Snap):
Chromium-based profile roots:
What to do with results:
Firefox saved logins are tied to the profile directory containing logins.json and key4.db.
Chromium-based browsers typically use a profile directory like Default/ with a Login Data SQLite DB and a Local State file.
On Linux, Chromium-based browsers can store secrets via desktop keyrings (GNOME Libsecret or KWallet) or as plain text depending on the configured password store.
Extract and Decrypt Credentials
First, copy the relevant profile directories from the target host to your Kali machine (e.g., via scp, assuming SSH access):
Handle the files securely on Kali (e.g., in an encrypted volume). Then use the tools below for decryption..
HackBrowserData (Most modern browsers)
Installation on Kali: Download the latest Linux binary (statically linked Go tool, no deps).
Usage for Firefox passwords (point to copied profile):
Outputs to results/ as CSV/JSON/ZIP. Handles AES-256-CBC for Firefox ≥144.
If master password set: Tool may prompt or fail; check --help for password flags if available.
Usage for Chromium-based (e.g., Chrome; point to copied profile):
Replace "chrome" with "brave", "edge", "opera", etc.
Decrypts Login Data DB using copied Local State. Works offline if plaintext or with emulated keyring (may require session simulation if locked).
For specific profile: Use --profile-path flag.
firefox_decrypt (Firefox)
Installation on Kali:
Usage (point to copied profile):
Interactively selects and decrypts.
Outputs: Human-readable, CSV, JSON. Use --non-fatal-decryption to skip errors.
LaZagne (Chromium)
Install on target
Usage (point to copied profiles via custom run or config):
Notes on Decryption:
For locked keyrings (Chromium): May need to run in a simulated session or use the user's OS password to unlock copied secrets.
Plaintext stores: Query SQLite directly if tools fail (e.g., sqlite3 "/path/Login Data" "SELECT origin_url, username_value, password_value FROM logins" – but decrypt blob fields manually if needed).
Handle outputs securely: Redirect to encrypted files and delete after use.
References
-
Export login data from Firefoxsupport.mozilla.org/en-US/kb/export-login-data-firefox (opens in new tab)
Supported Firefox export flow
-
Import or export passwords with Chromesupport.google.com/chrome/answer/13068232 (opens in new tab)
Supported Chrome export flow
-
Chromium Linux Password Storagechromium.googlesource.com/chromium/src/+/master/docs/linux/password_storage.md (opens in new tab)
Password store backends and behavior on Linux
-
unode/firefox_decryptgithub.com/unode/firefox_decrypt (opens in new tab)
Third-party profile password recovery tool documentation
-
moonD4rk/HackBrowserDatagithub.com/moonD4rk/HackBrowserData (opens in new tab)
Cross-browser decryption tool
-
lessandroZ/LaZagnegithub.com/AlessandroZ/LaZagne (opens in new tab)
Multi-platform credential recovery including Linux keyrings
Was this helpful?
Your feedback helps improve this page.