離線破解Navicat密碼
- 2020 年 3 月 8 日
- 筆記
目錄
0x01 介紹
0x02 提取密碼
0x03 離線破解
註:文中使用的是Navicat Premium 12.x,Navicat 11.x與12.x的加密方式有一些不同,實際上按照11.x的方式解密就可以了
0x01 介紹
Navicat是一套快速、可靠並價格相當便宜的資料庫管理工具,專為簡化資料庫的管理及降低系統管理成本而設。它的設計符合資料庫管理員、開發人員及中小企業的需要。Navicat 是以直覺化的圖形用戶介面而建的,讓你可以以安全並且簡單的方式創建、組織、訪問並共用資訊。
balabala,反正是挺常用的一個資料庫連接工具了,如果在實際環境中碰到了,那將是一大幸事,裡面肯定會保存著很多伺服器資料庫的連接密碼,這個時候如何將其提取出來就是一個至關重要的事情了
0x02 提取密碼
首先需要明確一下,Navicat針對不同的資料庫,它所存放的地點是不一樣的
MySQL HKEY_CURRENT_USERSoftwarePremiumSoftNavicatServers MariaDB HKEY_CURRENT_USERSoftwarePremiumSoftNavicatMARIADBServers MicrosoftSQL HKEY_CURRENT_USERSoftwarePremiumSoftNavicatMSSQLServers Oracle HKEY_CURRENT_USERSoftwarePremiumSoftNavicatOraServers PostgreSQL HKEY_CURRENT_USERSoftwarePremiumSoftNavicatPGServers SQLite HKEY_CURRENT_USERSoftwarePremiumSoftNavicatSQLiteServers
這裡還是拿MySQL進行舉例吧
我們先在註冊表中訪問一下

既然是在註冊表中,我們直接導出其內容就可以了
IP reg query HKEY_CURRENT_USERSOFTWAREPremiumSoftNavicatServers /s /v host用戶名 reg query HKEY_CURRENT_USERSOFTWAREPremiumSoftNavicatServers /s /v UserName密碼 reg query HKEY_CURRENT_USERSOFTWAREPremiumSoftNavicatServers /s /v pwd

同理也可以提取其他資料庫的IP、帳號和密碼hash
當拿到這些內容的時候,我們接下來就是進行離線破解
0x03 離線破解
至於如何逆向navicat保存密碼的加密演算法,作者已經寫的很清楚了,有興趣的可以自己去看看
https://github.com/DoubleLabyrinth/how-does-navicat-encrypt-password
我們直接拿來使用就行了,我們使用其中的python3腳本
首先先安裝依賴pycryptodome
用法作者也已經給出了


可以看到已經成功解密出資料庫的密碼了,至於之後的提權等內容之後再慢慢說。
推薦閱讀
- php-fpm在nginx特定環境下的任意程式碼執行漏洞(CVE-2019-11043)
- SQL server手工注入入門
- Linux許可權詳解
- Linux文件查找命令詳解
- Linux重定向及反彈shell詳解
如果對你有幫助,請點擊在看或者轉發
都是對我的一種支援