如何以纯文本形式读取key3.db和logins.json?

如何以纯文本形式读取key3.db和logins.json?

如何使用命令行获取key3.db和/或logins.json以纯文本形式打印?

$ cat /home/*/.mozilla/firefox/*.default/key3.db

$ cat /home/*/.mozilla/firefox/*.default/logins.json

答案1

我在Linux上做了什么:

  1. 获取nss适合您的发行版的源包。
  2. 解压、修补并配置。
  3. 进入 nss/cmd/pwdecrypt 子目录
  4. 构建pwdecrypt工具。

我使用以下命令行来构建该工具(CentOS 7.7):

gcc -o pwdecrypt \ 
  -I/usr/include/nspr4 -I/usr/include/nss3 -I../lib \ 
  -lnss3 -lplc4 -lnspr4 -lnssutil3 -lsmime3 \ 
  pwdecrypt.c ../lib/secutil.c ../lib/basicutil.c ../lib/secpwd.c ../lib/pppolicy.c 

这可能需要安装某些开发包(在我的情况下是 nss-devel)。

获得该工具后,进入 Firefox 配置文件目录并执行:

jq -r -S '.logins[] | .hostname, .encryptedUsername, .encryptedPassword' logins.json | \ 
  pwdecrypt -d .

或者(如果使用 key4.db 而不是 key3.db):

jq -r -S '.logins[] | .hostname, .encryptedUsername, .encryptedPassword' logins.json | \ 
  pwdecrypt -d sql:.

你可能会发现透露已保存的 Mozilla Firefox 密码这篇文章很有帮助。

答案2

要列出 Firefox 或 Thunderbird 登录信息和密码,您可以使用这个firepwdPython 脚本

要在 Debian/Ubuntu 系统上安装它:

wget https://github.com/lclevy/firepwd/archive/master.zip
unzip master.zip && rm master.zip 

apt install python3-pip # add sudo if needed

cd firepwd-master
pip3 install -r requirements.txt

运行它:

python3 firepwd.py -d /path/to/your-profile/

请注意,路径末尾的斜杠是必需的。

这还将打印来自的盐key3.db。要跳过它们并仅显示登录名和密码,您可以添加| sed '1,/^decrypting login/d'。例如,如果您的 Firefox 配置文件目录x.default在您的主目录的默认文件夹中调用:

python3 firepwd.py -d ~/.mozilla/firefox/x.default/ | sed '1,/^decrypting login/d'

还有另一个 Pyhon 脚本,我还没有尝试过,建议security.stackexchange.com 上的这个答案https://github.com/unode/firefox_decrypt

因为它只是一个 Python 脚本,所以它当然也可以轻松地安装在 Windows 或 Mac 系统上。

答案3

假设你不需要经常这样做,并且乐意手动完成第一步,那么你可以使用密码导出器,在我转换到 KeePass 之前我曾经使用过它。

相关内容