離線破解Navicat密碼

目錄

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

用法作者也已經給出了

可以看到已經成功解密出資料庫的密碼了,至於之後的提權等內容之後再慢慢說。

推薦閱讀

  1. php-fpm在nginx特定環境下的任意程式碼執行漏洞(CVE-2019-11043)
  2. SQL server手工注入入門
  3. Linux許可權詳解
  4. Linux文件查找命令詳解
  5. Linux重定向及反彈shell詳解

如果對你有幫助,請點擊在看或者轉發

都是對我的一種支援