本文記錄利用mysql數據庫,在拿到shell之后進行提權的兩種方法。
一、UDF提權
原理:UDF是mysql的一個拓展接口,UDF(Userdefined function)讓用戶通過該接口可以自定義mysql函數。UDF 定義需要DLL動態鏈接庫文件支持。
基本步驟:
1、導出udf.dll文件到指定目錄(有些webshell集成,直接導 出即可,沒有,則需要上傳)
2、基於udf.dll創建自定義函數cmdshell
3、利用自定義函數,執行高權限cmd命令
以下按照步驟進行記錄
第一步:首先我們上傳UDF提權的馬到服務器,然后輸入對應用戶名密碼,表名選用mysql,
第二步:導出udf
這里已經導出成功。
需要注意,針對mysql不同的版本,導出的路徑也不相同:
這里在lib下需要創建對應的目錄,即可導出成功。
第三步:創建cmdshell:
第四步:通過創建的cmdshell來進行創建用戶並且添加到管理員組的操作:
再通過馬集成的命令可以查看用戶已經添加:
二、mof文件提權
mof提權原理就是把一個mof文件上傳到c:/windows/system32/wbem/mof/下,然后系統會特定的時間就去執行一次,進而創建用戶。
Mof文件源碼:
創建賬戶
添加到管理員組。
注意這是分成兩個mof文件執行了
第一步:借助webshell把mof文件上傳到服務器上
第二步:通過SQL語句把文件改名放到指定目錄下
select load_file('C:/PhpStudy/PHPTutorial/WWW/pikachu/test創建賬號.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof'
第三步:等待一會,用戶就會創建
第四步:用相同的操作把第二個mof文件也就是加到管理員組上傳上去就可以
三、利用遠程管理工具
