0x01 介绍python
0x02 提取密码git
0x03 离线破解github
注:文中使用的是Navicat Premium 12.x,Navicat 11.x与12.x的加密方式有一些不一样,实际上按照11.x的方式解密就能够了算法
Navicat是一套快速、可靠并价格至关便宜的数据库管理工具,专为简化数据库的管理及下降系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的须要。Navicat 是以直觉化的图形用户界面而建的,让你能够以安全而且简单的方式建立、组织、访问并共用信息。数据库
balabala,反正是挺经常使用的一个数据库链接工具了,若是在实际环境中碰到了,那将是一大幸事,里面确定会保存着不少服务器数据库的链接密码,这个时候如何将其提取出来就是一个相当重要的事情了安全
首先须要明确一下,Navicat针对不一样的数据库,它所存放的地点是不同的服务器
MySQL HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers\ MariaDB HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers\ MicrosoftSQL HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers\ Oracle HKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers\ PostgreSQL HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers\ SQLite HKEY_CURRENT_USER\Software\PremiumSoft\NavicatSQLite\Servers\
这里仍是拿MySQL进行举例吧dom
咱们先在注册表中访问一下工具
既然是在注册表中,咱们直接导出其内容就能够了加密
IP reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v host 用户名 reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v UserName 密码 reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v pwd
同理也能够提取其余数据库的IP、帐号和密码hash
当拿到这些内容的时候,咱们接下来就是进行离线破解
至于如何逆向navicat保存密码的加密算法,做者已经写的很清楚了,有兴趣的能够本身去看看
https://github.com/DoubleLabyrinth/how-does-navicat-encrypt-password
咱们直接拿来使用就好了,咱们使用其中的python3脚本
首先先安装依赖pycryptodome
用法做者也已经给出了
能够看到已经成功解密出数据库的密码了,至于以后的提权等内容以后再慢慢说。
本文由博客一文多发平台 OpenWrite 发布!