最近在测试一个项目,遇到了MYSQL数据库,想尽办法提权,最终都没有成功,很是郁闷,可能是自己很久没有研究过提权导致的吧,学习中收集到这个工具,分享给大家。

原理:
mof提权原理:
mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就会去监控进程创建和死亡。其就是用又了mysql的root权限了以后,然后使用root权限去执行我们上传的mof。隔了一定时间以后这个mof就会被执行,这个mof当中有一段是vbs脚本,这个vbs大多数的是cmd的添加管理员用户的命令。

udf提权:
udf提权这是最常见的提权方式了,但是往往在执行过程中老是遇到"Can't open shared library"的情况,这里我们可以利用NTFS ADS流来解决这个问题。

  1. 最常见的是直接使用udf.php此类的工具来执行udf提权,具体如下。连接到mysql以后,先导出udf.dll到c:\windows\system32目录下。
  2. 创建相应的函数并执行命令,具体如下:

用于MySQL 提升权限。

python-promoting-privileges 权限

1.自动导出你的后门和mof文件,
2.自动判断mysql版本,根据不同版本不同的UDF的DLL到不同的目录,UDF提权
3.导出LPK.dll文件,劫持系统目录提权
4.写启动项提权
工具仅能方便使用,技术含量几乎没有。
用py脚本写的,也打包成exe了,个人用的还算顺手。
运行:


promote:PythonDemo v5est0r$ python root.py  __            _    __  __       ____   ___  _ / _|_   _  ___| | _|  \/  |_   _/ ___| / _ \| || |_| | | |/ __| |/ / |\/| | | | \___ \| | | | |      Author:v5est0r|  _| |_| | (__|   <| |  | | |_| |___) | |_| | |___|_|  \__,_|\___|_|\_\_|  |_|\__, |____/ \__\_\_____|                            |___/
usage: root.py [-h] [-a HOST] [-o PORT] [-u USER] [-p PASSWD] [-e EXECUTE]               [-m METHOD]
fuckmysql
optional arguments:  -h, --help            show this help message and exit  -a HOST, --host HOST  MySQL server ip  -o PORT, --port PORT  MySQL Port  -u USER, --user USER  mysql UserName  -p PASSWD, --passwd PASSWD                        mysql password  -e EXECUTE, --execute EXECUTE                        command for UDF to execute  -m METHOD, --method METHOD                        elevate method,eg:udf/mof/lpk/st


我在虚拟机演示打包好exe远程提权,我就不多说了,直接上图:
默认UDF提权,也可以-m udf指定方式,-e ipconfig指定执行的cmd,默认执行whoami:


root.exe -a 192.168.1.105 -p root -e "ver&whoami" -m udf


避免UDF无效,我们使用LPK.dll劫持:


root.exe -a 192.168.1.105 -p root -m lpk


验证一下:

把你的木马的hex复制到同目录的hex.txt就行了,程序会导出木马到指定目录,并用mof执行。



停止UDF和LPK都无效,那我们只能暂时暂停启动项:


root.exe -a 192.168.1.105 -p root -m st


可能的路径编码问题写不成功,你可以根据提示,用本地的MySQL连接开始,执行。

当然还有情况提权,UDF不能创建插件目录,网上流传的ADS流创建目录我是没有成功过,工具加了ADS流创建目录的代码,那么我们远程创建的插件目录,再利用:


本地模式:PHP一般权限都是可以创建目录的,因此必须指定localhost或127.0.0.1中主机为本地调用模式:


root.exe -a localhost -p root -e "ver&whoami" -m udf


mysql提权工具.zip