数据库提权:
在利用系统溢出漏洞无果的情况下,可以采用数据库进行提权来获得系统权限,不是提升数据库用户的权限,但需要知道数据库提权的前提条件:服务器开启数据库服务及获取到最高权限用户密码。除 Access 数据库外,其他数据库基本都存在数
据库提权的可能。
#数据库应用提权在权限提升中的意义
#WEB 或本地环境如何探针数据库应用
#数据库提权权限用户密码收集等方法
#目前数据库提权对应的技术及方法等
提权流程:服务探针->信息收集->提权利用->获取权限
探针查看是否有数据库服务:
- 扫描端口,mysql:3306、sqlserver:1433、oracle:1521、DB2:5000、PostgreSQL:5432等
- cmd/shell下查看本地服务/进程
- 其他
信息收集获取密码:
- 网站连接数据库的配置文件,一般此方法就够了
- mysql存储文件,见下
- 暴力破坏,见下
- 其他
1)mysql文件夹下有着myd后缀文件是与数据表相匹配的,因此可以直接查看文件来找各种信息,比如mysql的user表存储着用户信息,因此user.myd文件必定存储着root用户的账号密码。(@@basedir/data/数据库名/表名.myd)
2)利用脚本暴力猜解(了解数据库是否支持外联及如何开启外联mysql默认root不允许外联,root只能本机来连接才行),脚本相对于工具更容易在目标本机上执行,同时可以本地爆破连接本机root,避免了外联的限制。
3)总之就这张图:
MySQL数据库提权演示-脚本&MSF:
mysql提权方法有以上四种。
提权利用(一)(UDF方法,基于 MYSQL 调用命令执行函数,需要创建并操作dll文件到指定目录以及利用脚本来实现):
先来了解下mysql的udf是什么:https://blog.csdn.net/luoqiya/article/details/12888553, 简而言之就是我们可以利用udf函数的特性与操作系统进行交互进而命令执行,并且神器sqlmap里边也集成有此功能,在sqlmap根目录\data\udf\myqsl下,具体使用百度。
利用此方法第一步先判断版本和安装路径:
1.mysql<5.1则 导出dll文件到目录 c:/windows 或 system32
2.mysql=>5.1 则 导出dll文件到安装目录 /lib/plugin(这个目录默认是没有的,需要我们去创建)