无webshell的UDF提权
2016-08-11 16:48
344 查看
1.导入udf提权。
因为已经是mysql的root了,所以肯定考虑用udf直接提权。现在本地虚拟机测试成功了再跑去测试目标机器,这样子安全点。首先在虚拟机搭建wamp环境,用手里的一个可以执行成功的udf提权的网马,将dll文件导入到windows目录下面,把dll文件复制出来。当然经确认这个dll文件可以正常运行的。
用本地客户端navicat连接虚拟机,进入命令行模式
Select hex(load_file(0x433A5C6D7973716C444C4C2E646C6C)) into dumpfile ‘c:\\udf.txt’;
中间的16进制是我的dll路径,即C:\mysqlDLL.dll,(顺便说下dumpfile和outfile的区别,outfile 函数会在行末端写入新行,还会转义换行符,导致2进制可执行文件会被破坏,而dumpfile函数不对任何列或行进行终止,也不执行任何转义处理,所以可以得到一个完整的可执行文件),这样子就可以把dll转成十六进制,如图:
再然后,把它导入到windows目录下面,select
unhex('xxxx') into dumpfile 'c:\\windows\\udf.dll';
其中xxxx为udf.dll中的那些。
然后就是创建函数了。
出错了。1124
- No paths allowed for shared library
百度加google了一阵,发现是因为在mysql5之后不能用绝对路径,提示也是说,dll不允许目录嘛,读了一下那个udf.php的网马的源码发现人家也没用绝对路径,毕竟都在windows目录下了嘛,直接就u.dll就能识别了。好,下面继续:
又悲剧了,1126
- Can't open shared library 'u.dll' (errno: 2 )
再一次跑去百度加google,终于发现,在5.1版本之后,导入到系统目录是不行的,要把dll导入到mysql安装目录下的lib/plugin目录下,只有在那个目录下才允许自定义函数的执行。可是蛋疼的是,mysql的安装目录根本就没那个lib目录,需要自己建这个目录。可是mysql里木有什么函数可以让我们去新建目录,先不管,先在本地试成功再说。于是,在mysql的安装目录下新建/lib/plugin目录。
先执行SHOW VARIABLES LIKE '%plugin%';获取安装目录。
在这个地方可能会出现一个问题,就是mysql lib下没有plugin插件目录,那该怎么办呢,知名大神kingcope提到了一种方法,利用NTFS ADS流来创建文件夹的方法
1.select @@basedir;
//查找到mysql的目录
2.select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION';
//利用NTFS ADS创建lib目录
3.select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION';
//利用NTFS ADS创建plugin目录
继续:
OK,开始创建函数
然后就是 system了
另外还有一种MOF的mysql提权,也是可以达到目的,图片就不贴了,直接贴上我师傅的博客吧。
http://www.waitalone.cn/mysql-tiquan-summary.html
因为已经是mysql的root了,所以肯定考虑用udf直接提权。现在本地虚拟机测试成功了再跑去测试目标机器,这样子安全点。首先在虚拟机搭建wamp环境,用手里的一个可以执行成功的udf提权的网马,将dll文件导入到windows目录下面,把dll文件复制出来。当然经确认这个dll文件可以正常运行的。
用本地客户端navicat连接虚拟机,进入命令行模式
Select hex(load_file(0x433A5C6D7973716C444C4C2E646C6C)) into dumpfile ‘c:\\udf.txt’;
中间的16进制是我的dll路径,即C:\mysqlDLL.dll,(顺便说下dumpfile和outfile的区别,outfile 函数会在行末端写入新行,还会转义换行符,导致2进制可执行文件会被破坏,而dumpfile函数不对任何列或行进行终止,也不执行任何转义处理,所以可以得到一个完整的可执行文件),这样子就可以把dll转成十六进制,如图:
再然后,把它导入到windows目录下面,select
unhex('xxxx') into dumpfile 'c:\\windows\\udf.dll';
其中xxxx为udf.dll中的那些。
然后就是创建函数了。
出错了。1124
- No paths allowed for shared library
百度加google了一阵,发现是因为在mysql5之后不能用绝对路径,提示也是说,dll不允许目录嘛,读了一下那个udf.php的网马的源码发现人家也没用绝对路径,毕竟都在windows目录下了嘛,直接就u.dll就能识别了。好,下面继续:
又悲剧了,1126
- Can't open shared library 'u.dll' (errno: 2 )
再一次跑去百度加google,终于发现,在5.1版本之后,导入到系统目录是不行的,要把dll导入到mysql安装目录下的lib/plugin目录下,只有在那个目录下才允许自定义函数的执行。可是蛋疼的是,mysql的安装目录根本就没那个lib目录,需要自己建这个目录。可是mysql里木有什么函数可以让我们去新建目录,先不管,先在本地试成功再说。于是,在mysql的安装目录下新建/lib/plugin目录。
先执行SHOW VARIABLES LIKE '%plugin%';获取安装目录。
在这个地方可能会出现一个问题,就是mysql lib下没有plugin插件目录,那该怎么办呢,知名大神kingcope提到了一种方法,利用NTFS ADS流来创建文件夹的方法
1.select @@basedir;
//查找到mysql的目录
2.select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION';
//利用NTFS ADS创建lib目录
3.select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION';
//利用NTFS ADS创建plugin目录
继续:
OK,开始创建函数
然后就是 system了
另外还有一种MOF的mysql提权,也是可以达到目的,图片就不贴了,直接贴上我师傅的博客吧。
http://www.waitalone.cn/mysql-tiquan-summary.html
相关文章推荐
- 九种经典Webshell提权
- webshell提权与asp木马提权
- Metasploit 之 webshell 提权
- mysql root权限 udf提权
- 传说的udf.dll提权select语句
- WEBSHELL 提权方法总结
- 九种经典的Webshell提权技术
- udf手动导出提权
- 最全的Webshell提权方法总结
- 经典的webshell提权
- 通用型正方教务(通杀各版本)存在注入(不需登陆)+获得webshell+提权内网漫游
- 神秘提权超强版冷枫去后门webshell文件留有后门程序
- 一套webshell提权教程
- 基于DLL劫持的WebShell提权
- server2008 加载驱动隐藏文件或文件夹方法,可在webshell下提权后使用,付切实可行办法
- 虚拟主机封杀webshell提权!!!!!!!!!!
- 一次艰难的提权 MYSQL中的UDF 的研究
- webshell提权的重点目录总结
- mysql 5.* udf提权之利用ADS创建lib\plugin目录
- webshell提权20种思路