在提权的过程中,如果能得到MYSQL的ROOT账号,又或者MSSQL的SA账号等等数据裤信息,会给我们的提权大大的增加成功的可能和提权效率。
而本文记录的是如果找不到ROOT或者SA,目标服务器中又恰巧安装有Navicat的话,可以通过Navicat尝试获取ROOT、SA密码,国外大牛文章地址[ GO ]
注册表对应位置
Database Type | Path |
---|---|
MySQL | HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers\<your connection name> |
MariaDB | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers\<your connection name> |
Microsoft SQL | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers\<your connection name> |
Oracle | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers\<your connection name> |
PostgreSQL | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers\<your connection name> |
SQLite | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatSQLite\Servers\<your connection name> |
CMD命令下查询
reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v host reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v pwd reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v UserName reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v port
密码是加密的,需要解密
国外大佬详细的分析了一波Navicat的加密解密,其实我想说,哪有那么麻烦,Navicat自带导出导入功能。
比如我已经通过以上的命令,获取到了目标的MYSQL的链接信息,那么我只需要打开本地电脑中的Navicat,创建一个MYSQL链接信息,随便填即可。
创建好了过后我们在将这个链接信息导出
然后在用记事本打开导出的这个文件
如上图,这样一对比,是不是一目了然?我们只需要将查询注册表时得到的 host
pwd
username
port
信息改进这个ncx文件里,然后在Navicat导入这个文件即可。
需要注意的是Navicat 11和Navicat 12使用不同的算法来加密密码,所以本地的Navicat得和目标上的Navicat版本一致。
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !