MySQL數據庫提權(一)


一、獲取Mysql登錄賬號和密碼

1.數據庫提權需要知道數據庫的賬號密碼、以及它的配置文件,一般配置文件都在網站的根目錄下,這些配置文件命名有鮮明的特征,如:conn、config、data、sql、common、inc等等

 

 

 

 

 

 

 

 

 以上這些文件都有包含連接數據庫的信息,包括連接賬號,密碼,數據庫名等等,

2.如果在這些文件里找不到需要連接數據庫的信息,可以到數據庫的安裝目錄下找,默認目錄為:C:\phpStudy2016\MySQL\data\mysql,在此目錄下找到user.myd文件,里面記錄了登錄賬號和密碼

 

 3.通過暴力破解得到賬號和密碼,這個步驟比較麻煩一些,再有一個,Mysql默認不允許遠程連接,所以要暴力破解,只能通過腳本來進行破解,獲取賬號密碼,運行一個腳本文件,用弱口令加字典掃描,來破解數據庫用戶和密碼

 

 

 

 在頂端顯示已經將用戶名和密碼爆破出來,另外暴力破解還可以使用工具,如:hscan、Bruter、hydra(九頭蛇)等,但是這些工具的使用前提是數據庫開啟對外遠程連接,

登錄到mysql中,為root遠程訪問授予權限,執行語句:

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";

mysql>flush privileges;

 

通過遠程機訪問MySQL數據庫:

 

 

 

 telnet遠程連接已經可以看得到數據庫的版本信息,

除了語句開啟遠程連接之外,還可以用大馬(php)腳本來開啟:

 

 

 

 開啟成功之后,再利用專業的數據庫連接工具,來遠程連接

比如Navicat for MySQL可視化工具

 

 另外用腳本的方式連接:

 

 可以選定某一個數據庫,在左上角導出,可以導出到本地,此過程也稱為托庫,

另外再使用Bruter工具,掛載字典來破解

 

 二、數據庫提權

1.UDF提權

需要注意的是,MySQL版本小於5.1,udf文件放在:C:\\WINDOWS\\udf.dll或者C:\\WINDOWS\\system32\\udf.dll,

MySQL等於5.1版本的時候,udf文件在:%mysql%\\plugin\\udf.dll ,用select @@plugin dir 查詢plugin文件路徑,默認的在C:/Program File/MySQL/MySQl Server5.1/lib/plugin/udf.dll,如果安裝了phpstudy,目錄可能就在C:\php\MySQL-5.1.50\lib\plugin\udf.dll,在以上的步驟中,已經將遠程連接打開,直接使用提權工具來連接

 

 看到目前的版本是5.5.53,大於5.1版本,提示將udf文件導入到lib\plugin目錄

使用菜刀工具連接到目標主機,

 

在phpstudy/MySQL/lib下創建plugin目錄,再回到MySQl提權工具導入udf.dll文件

 

 新建號好之后,回到MySQL提權工具

 

 發現導入失敗,原因之一可能是數據庫的配置文件中:secure_file_priv="";

 

 設置為空后,退出重啟MySQL服務,再來工具導入

 

 發現可以導入成功,並且在真實目錄下也能看到udf.dll文件

 

 現在就可以在工具中執行數據庫命令:Create Function cmdshell returns string soname 'udf.dll';語句的意思是通過udf文件來創建一個cmdshell函數,執行創建后,就可以用它(cmdshell)來操作數據庫其他命令,

 

 2.執行"ver"命令:

 

 3.執行"net user"命令:

 

 4.遠程開啟3389端口,因為執行3389是一個函數,所以要先創建類似於cmdshell的3389()函數,

 

 

 

此時目標機是沒有開啟3389遠程端口,

 

執行3389()函數命令,

 

 

 

 再來看遠程桌面狀態

 

 已經開啟了3389端口,我們可以遠程連接到它的服務器,進行后續操作,

以上UDF是在允許遠程連接的情況下進行,如果不允許遠程連接的情況下,可以運行腳本(kill.php)來輔助udf提權,之所以叫它kill,通殺所有的udf提權

 

 

 

 先將moonudf.dll文件導出

 

 

 

 成功導出,

5.如同提權工具類似,執行命令之前首先要創建執行該命令的命令執行函數

 

 執行后

 

 語句無報錯,說明創建成功,執行查看用戶命令:

 

 執行成功,也可以手工創建用戶(普通):

 

 此腳本最大的優點在於,如果對方的3306端口完全沒有開放,我們可以用菜刀將此腳本傳入對方主機,通過的方式web訪問腳本,創建函數,來做命令執行,遠程開放對方的某些端口,

綜上就是數據庫UDF提權的所有步驟。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM