测试环境
windows 2003
mysql 5.1
iis 6.0
mysql默认是以system权限启动的,但是为了安全很多管理员都会给mysql降权到 guest 权限去启动。 目前百度搜索的文章大部分的方法是这样的
1.新建立一个用户 并删除users 组 让它不属于任何组。
2.给mysql 安装目录该用户的完全控制权限。
3.将服务启动方式改为该用户。
其实这样降权后就算拿到了root帐号也无法利用常规的思路进行提权,但是可以注意下第二步是给的完全控制权限,那么以我们使用root权限自然是可以写入文件的。
刚开始我测试的思路是导出到udf 到plugin 目录 的,但是换个思维来说 既然可以导出udf 而且是完全控制权限那么直接导出一个lpk 到 bin 目录也是完全可以的。
测试:
lpk创建一个文件夹
//创建lib/plugin 插件目录 _mkdir("test");
重启mysql服务
相关回帖:
sec, 2012-7-24 23:44:
这个有点意思了...
你mysqld-nt.exe或者是mysqld.exe是普通权限启动的,
比如lpk.dll里写的是添加用户的代码并且如你所示已经被成功加载,
但是楼主觉得lpk里面的提权命令能被执行么.
简单举个例子 在电脑上新建一个普通用户登录进去
找一个添加用户的lpk.dll放一个exe的目录
然后去运行那个exe 用户肯定添加不上..
或者是在5.1.x版本的mysql利用lpk去创建一个plugin 方便导出udf
已经是普通权限启动的mysql 导出udf来又有什么用呢
我没测试过 但是我也觉得不可行 或者是我理解错了楼主的意思
deleter:
回复 4# sec
其实我觉得楼主的思路是反弹一个低权限的shell来执行命令,然后进行下一步的提权
个人觉得这种方法的思路和楼主写的那个Zend_DLL_Hijacking的思路类似
小菜之见
落叶:
回复 4# sec
没表达清除,这只是获取一个cmdshell权限 而已
0xcodede:
MYSQL被降权了,普通权限下你把LPK放进MYSQL目录里,低权限执行了LPK有用么.
落叶:
回复 7# 0xcodede
在webshell无法执行命令的时候就有用了