一、原理
windows管理規範(wmi)提供了如下三種方法編譯wmi儲存庫的託管物件格式(mof)檔案:
將mof檔案執行為命令列引數及mofcomp.exe檔案
使用imofcompiler介面和$compilefile方法
拖放到 %systemroot%\system32\wbem\mof 資料夾下的mof檔案中
託管物件格式(mof)檔案在 c:\windows\system32\wbem\mof 目錄下,它是建立和註冊提供程式、事件類別和事件的簡便方法。其作用是每隔五秒就會去監控程序建立和死亡。那麼只需要將惡意**寫入該檔案中即可提權。
二、前提
mysql5.7 開始預設使用 secure-file-priv 選項,不能隨意選擇匯出路徑,所以 mof 提權僅適用於以下條件:
作業系統版本低於 win2008
資料庫為 mysql<5.7 且知道登入賬號密碼並且允許外連
總結來說就是當前 root 賬戶可以複製檔案到 %systemroot%\system32\wbem\mof 目錄下。
三、提權
3.1實驗環境
攻擊機:win10 ip:192.168.34.1
靶機:win2003 ip:192.168.34.131
攻擊機在靶機寫入一句話木馬,蟻劍連線。
3.2利用方法
先 select version(); 判斷資料庫版本,小於 5.7 可以利用 mof 提權。
將以下**儲存為 test.mof 檔案,修改第 17 行**為新增乙個普通使用者命令。
1 #pragma namespace("\\.\root\subscription")
2 instance of __eventfilter as$eventfilter3 ;11
12 instance of activescripteventconsumer as$consumer13 ;19
20 instance of __filtertoconsumerbinding21 ;
上傳該檔案到伺服器上任意位置,再通過 mysql 語句將檔案匯入。
select load_file(『c:/phpstudy/www/test.mof『) into dumpfile 『c:/windows/system32/wbem/mof/test.mof『;
執行匯入命令失敗,show variables like "secure_file_priv"; 命令檢視當前 secure_file_priv。
為了實驗看一下效果,靶機 my.ini 新增一行 secure_file_priv = 代表不限制目錄,重啟 mysql 再執行一次匯入命令。
匯入後,系統會自動執行該檔案,可以再修改第 17 行**進行新增管理員等操作。由於 mof 是由 system 執行,所以許可權滿足建立使用者、新增管理員等操作,即可完成提權過程。
四、防範
盡量不要使用 root 賬號連線資料庫
root 賬號使用強加密方式
對 mysql 資料庫目錄許可權嚴格限制
作業系統目錄 c:\windows\system32\wbem 禁止寫入
如果伺服器發現被使用 mof 提權,解決迴圈建立使用者方法:
開啟 cmd 使用命令:net stop winmgmt
刪除資料夾下內容 c:\windows\system32\wbem\repository
再執行 net start winmgmt 即可
五、總結
參考:原文:
mysql提權原始碼 mysql提權
namp 掃瞄ip埠 cms 探測 wpscan kali 工具 wpscan 掃瞄出來使用者名稱。用使用者名稱登入ssh 然後利用mysql udf提權。2.gcc g shared wl,soname,raptor udf.so o raptor udf.so raptor udf.o lc 3...
mysql 提權 通過Mysql提權的幾種姿勢
本文記錄利用mysql資料庫,在拿到shell之後進行提權的兩種方法。一 udf提權 基本步驟 1 匯出udf.dll檔案到指定目錄 有些webshell整合,直接導 出即可,沒有,則需要上傳 2 基於udf.dll建立自定義函式cmdshell 3 利用自定義函式,執行高許可權cmd命令 以下按照...
mysql提權總結
windows管理規範提供了以下三種方法編譯到wmi儲存庫的託管物件格式 mof 檔案 1 執行mof檔案指定為命令列引數講mofcomp.exe檔案。2 使用imofcompiler介面和 compilefile方法。3 拖放到 systemroot system32 wbem mof資料夾的mo...