解开Firefox的加密和救援保存密码!
#编程 #教程 #python #安全

FirefoxDecrypt

谁从未利用无与伦比的浏览器功能来节省时间并避免记住我们注册的各个站点的所有密码的压力?今天有这么多不同的个人资料,这种便利已成为方向盘上真正的母亲!

但是,正常的是,这一过程的某些保证是出现的,毕竟,我们信任导航员的妈妈中的明智信息。但是他们不用担心,让我们一起解开Firefox如何处理这一重要方面。

在本文中,我们将深入研究Firefox操作以及它如何存储我们的密码。这真的很安全吗?让我们更好地了解如何处理数据,从而通过使用此浏览器便利性感到更加平静。

查找存储位置

在本节中,让我们找出文件夹在哪里存储您的标准配置文件上的Firefox数据。这个地方可能会因您的平台而异。查看下面的路径:

Windows:

C:/Users/<username>/AppData/Roaming/Mozilla/Firefox

Mac OS X船长:

~/Library/Application Support/Firefox

linux:

~/.mozilla/firefox

在计算机上运行时,请记住更换母亲的用户名。这些信息将在恢复密码的过程中,我们将详细看到。

现在,进入特定文件夹,我们将列出容器以识别我们的操作的重要文件:

└─$ cd cwprco4r.default-esr && ls -lah 
...
-rw-r--r--  1 higor higor 2,5K jul 22 09:30 logins.json
...

上面,我们有针对我们的操作的重要文件,该文件夹中包含的其余文件对于本文的操作并不重要。

执行像cat logins.json这样的读取命令,我们将有以下内容。

{
  "nextId": 3,
  "logins": [
    {
      "id": 1,
      "hostname": "chrome://FirefoxAccounts",
      "httpRealm": "Firefox Accounts credentials",
      "formSubmitURL": null,
      "usernameField": "",
      "passwordField": "",
      "encryptedUsername": "MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYJITKoZIhvcNabAwcE7x8cECOMFrk7xgPbEBBjqYBBzCDYxqHeHziM1jV/M7lzxfYpY3os=",
      "encryptedPassword": "MIIDdAQQ+AAAAAAAAAAAAAAAAAAAATAUBggqhkiG9w0gc2aae45DBwQISyY0ItSG+VQEgat1gNIkM7/xitAyu7BaD8YvkZ3GUfbfsUxGkTJyZwKFyQVjnwVlBgUmrC84lSycKkzdoeDsX2VFQoka90izrJ7gwxSlCbXX8DotPYjNGZEjIOKuODsxbXHEen7m/UIh0UqkKKtkQeU9OxG3vViGrPJgZs2kLpJtpX3YEVGbgHig6orJtZtjfkSfB2CTpaSsGDHJBsKwFt1wUYOp8NdQPndrRcTZ3kF9if93rDhfxlgkpePGYYl3NkgQIu6jJ76hOLYeEh0Mm7mCIHa/jiKwUHtU6xVxc3OMX0BY/E0jCeN6NMuxC44HgPhjkKqMGaKBNxp/SdMO7a2L3dPw0pndkKhx5XweylFU4KBcrRJSWzAPbHsRQ5gOg4umn6R+idKJpp3UbBovlte4fWOJyk+2hSLabKdHvOX82D5Hbg03ThOI62uXyVsAqmAxgLUsIAh9kRxA2MyfwnD5OVF4lBCQzEmPVTGfs8mi196WxYXJekC2Bn4ARH1rZlJo7c6bsGBcw5dRx5QqGmOrYYhSUr1+B9onLV+Ja1n+G8dNXGq3803+nSAcLZOBzq3YxB0+dJ/o4S9M+jNZChnDiJ3LF2JXIqKY5MnIw7sFrI0y1YTvEUWeVrGAGh3vDqBVOtlznx7G4VdX92nGjwuHDfH07QDXplVYbjthIvRN6Ykm+MLGoTY84kWuGkqpczeXtUQp3P5/JziUVCePdoaJhwU4JATpNXy25PNcgprW2SFQ4L/jCJ3L9JL9P+XRSZ3nVzDqm+xVLqWQVmda1fDWAAkmRmzPaDF+M5hXTM4NVJy8DbLrQislKsBWcw1GUCZNe0ja4019vXkUqV0LhAa7EnoidgoxBPVCUw0/37/2lAGURMdo5Q6dujWtku6fMhlsr7SVtVTaxnK9jZnkhqb2H8qhW4aoajHeym9EpKYKsqlraragGT8Cn7NmQs7BTicEQwvOYP+oUEFAcXYIX1yE/3zmQSH29QfkeobX1PcwaIRuct6hf8IG13TjOQe/K5k6UJep9XTEpUpfW7dWcipRLnXKXK+pSBwpj1WYHpYG7+qdSmf/85YiexedTWk5px/9DyH1RlqH7UT4Uern4ynEOBJcys9InNFGRiBhvQtvXclBanP",
      "guid": "{a2eb5150-685d-4615-a254-1c5dd58bee56}",
      "encType": 1,
      "timeCreated": 1689961688625,
      "timeLastUsed": 1689961688625,
      "timePasswordChanged": 1689961698732,
      "timesUsed": 1
    },
    {
      "id": 2,
      "hostname": "https://example.website.net",
      "httpRealm": null,
      "formSubmitURL": "https://example.website.net",
      "usernameField": "EmailAddress",
      "passwordField": "Password",
      "encryptedUsername": "MEIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcE7x8cECOMFrk7xgPbEBBjqYBBzCDYxqHeHziM1jV/M7lzxfYpY3os=",
      "encryptedPassword": "MFIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcvcrBCiECFZc/kfDKvcrBCinGLow37uiKmg7K83IUGntneBODTMeV1jMrg95p3sCQzSknnBdG2ef",
      "guid": "{f0459b50-b0fe-4512-a085-e94e72319579}",
      "encType": 1,
      "timeCreated": 1687392175539,
      "timeLastUsed": 1689971142811,
      "timePasswordChanged": 1687392175539,
      "timesUsed": 2
    }
  ],
  "potentiallyVulnerablePasswords": [],
  "dismissedBreachAlertsByLoginGUID": {},
  "version": 3,
  "sync": {
    "lastSync": 1689961704.49,
    "syncID": "MDoEEPgAAoZIhvcNAwAAAAAAAAAAA03210x,mmmAAAAAoZIhvcNAwEwFAYIKoZIhvcNAwcECD42iieWPdOhBBAjVsIqtcbz7b/ttYPhb2D0ZI63"
  }
}

此文件包含必要的信息,以恢复浏览器中保存的密码。

加密和安全库标识

为了确保安全性,使用称为PKCS#11的加密模式(公开密钥加密标准#11)对常规和密码进行加密的名称。此模式定义了访问加密设备的标准接口,例如智能卡和USB令牌,使操作安全并保护敏感信息。

Firefox使用NSS库采用此模式,根据操作系统,图书馆以不同的方式找到:

Windows:

nss3.dll

Mac OS X船长:

libnss3.dylib

linux:

libnss3.so

这些库对于密码解密过程至关重要。

解密密码

现在,让我们去解密的步骤!为此,我们需要遵循以下步骤:

  • 克隆存储库,其中包含解密的必要代码:
git clone git@github.com:unode/firefox_decrypt.git
  • 运行代码,告知包含Firefox文件的文件夹:
python firefoxy_decrypt.py /home/higor/.mozilla/firefox/cwprco4r.default-esr

预期的结果将是显示保存在浏览器中的密码的信息:

Website:   https://example.website.net
Username: 'higor@gmail.com'
Password: 'teste#123'

包括£o

浏览器中的航行密码可能非常实用,可以在访问我们的帐户时节省时间和精力。但是,必须小心并遵循良好的安全持有人。避免使用药丸计算机访问重要帐户,并且永远不会与第三方共享密码。

我希望这篇文章有益且内容丰富!

继续关注我们更多地包含技术,网络名和其他有趣的主题。

在©a a a近!

反思

https://medium.com/geekculture/how-to-hack-firefox-passwords-with-python-a394abf18016