zoukankan      html  css  js  c++  java
  • 导出firfox保存的密码

    感谢前辈们铺好的路

    https://3gstudent.github.io/3gstudent.github.io/%E6%B8%97%E9%80%8F%E6%8A%80%E5%B7%A7-%E5%AF%BC%E5%87%BAFirefox%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%E4%BF%9D%E5%AD%98%E7%9A%84%E5%AF%86%E7%A0%81/
    

     这里是由于是遇到了目标用户没有%APPDATA%环境变量的时候用了chrome和firfox但是密码都抓不到引发的思考。而且目标系统很奇怪不像一般的用户目录是C:userswww这种

    学习思路

    原理
    常用工具
    利用
    

     由于firfox在没有关闭自动更新的情况下,一般使用就会自动更新,所以这里我们只看最新版的

    不同版本的Firefox保存记录的文件名称不同,具体区别如下:

    • Version大于等于32.0,保存记录的文件为logins.json
    • Version大于等于3.5,小于32.0,保存记录的文件为signons.sqlite

    这里由于我们的版本Version大于3.5了,所以保存记录的文件为signons.sqlite,由于这是我的测试机器,所以环境变量和目录
    都是正常目录且版本为84.0.1
    C:Usersjava>dir %APPDATA%MozillaFirefoxProfiles*logins.json /s /b
    C:UsersjavaAppDataRoamingMozillaFirefoxProfilesvcpi2zfq.default-release
    logins.json

    其中encryptedUsernameencryptedPassword是加密的内容,解密需要获得密钥文件(key和iv)并作3DES-CBC解密

    不同版本的Firefox密钥文件的位置不同,具体区别如下:

        Version小于58.0.2,密钥文件为key3.db
        Version大于等于58.0.2,密钥文件为key4.d
    

     这里介绍一下Master Pass,就像二级密码一样在我理解来

    解密流程

    读取密钥文件(key4.db或key3.db),获得key和iv
    读取记录文件(logins.json或signons.sqlite)的内容
    如果未设置Master Password,使用key和iv对记录文件中的加密内容进行3DES-CBC解密 如果设置Master Password,还需要获得明文形式的Master Password,才能进行解密
    

     导出工具

    0X01PasswordFox

    这是https://www.nirsoft.net/utils/web_browser_password.html的子项目

     此工具并不支持master pass解密

    0X02firepwd.py

    地址:https://github.com/lclevy/firepwd

    python报错解决办法

    https://nomodulenamed.com/m/Crypto.Util.Padding

     我们加master pass看看

    刚刚的解密不出来了

     python firepwd.py -p 123456789 -d mozilla_db

    成功解密

     

     0X03Lazagne

    这个就不用多介绍了 神器 想必大家都知道

    地址:

    https://github.com/AlessandroZ/LaZagne/

    0x04firefox_decrypt.py

    地址:https://github.com/unode/firefox_decrypt

     0X05net版firfox解密

    https://github.com/gourk/FirePwd.Net

    利用方法

    在设置了Master pass的情况下如果不知道master pass 很难解密

    在未设置的情况下 最好是脱文件回来解密 因为 在目标机器上还要与av对抗 如果你的bypass AV能力不是特别强 最好不要正面与AV对抗能避免就避免

    其实这篇文章也只是学习了工具的使用,对于加解密算法并未深入了解

    参考

    https://3gstudent.github.io/3gstudent.github.io/%E6%B8%97%E9%80%8F%E6%8A%80%E5%B7%A7-%E5%AF%BC%E5%87%BAFirefox%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%E4%BF%9D%E5%AD%98%E7%9A%84%E5%AF%86%E7%A0%81/
    http://kb.mozillazine.org/Profile_folder_-_Firefox
    https://www.nirsoft.net/password_recovery_tools.html
    https://github.com/lclevy/firepwd/issues?q=is%3Aissue+is%3Aclosed
    https://nomodulenamed.com/m/Crypto.Util.Padding
    https://github.com/unode/firefox_decrypt
    https://github.com/gourk/FirePwd.Net

    学习之路 少就是多 慢就是快

  • 相关阅读:
    go学习笔记day08
    go学习笔记day07
    go学习笔记day13
    Linux下php连接sql server 2008
    Linux下解决php扩展模块mcrypt的问题
    php实现无限级树型菜单(函数递归算法)
    Apache配置文件中的deny和allow的使用
    apache动态库加载出错:cannot restore segment prot after reloc: Permission denied
    Apache编译参数注解
    ibmcrypt was not found解决方案
  • 原文地址:https://www.cnblogs.com/-zhong/p/14482659.html
Copyright © 2011-2022 走看看