权限提升-MY&MS&ORA等SQL数据库提权

发布时间 2023-09-08 23:36:37作者: 执小汐

Web提权本地提权皆可,核心是得到数据库的账号密码

在利用系统溢出漏洞无果的情况下,可以采用数据库进行提权

数据库提权的前提条件:服务器开启数据库服务及获取到最高权限用户密码

除Access数据库外,其他数据库基本都存在数据库提权的可能

流程:服务探针-信息收集-提权利用-获取权限

 

数据库应用提权在权限提升中的意义

在利用系统溢出漏洞无果的情况下,可以采用数据库进行提权

WEB或本地环境如何探针数据库应用

通过探针判断有数据库相关的服务

通过端口扫描看是否开启对应端口

通过命令段看是否开启相关服务

通过浏览文件或文件夹判定是否安装相关数据库

数据库提权权限用户密码收集等方法

配置文件、储存文件、暴力拆解、其他方式

配置文件:一些需要调用数据库的程序会有配置文件记录账号密码

储存文件:将数据库中的一些储存文件下载还原,解析里面的账号密码

暴力拆解:通过爆破脚本等爆破密码

一般是前两种,第一种最常见。从相关的配置文件中获得账号密码

目前数据库提权对应的技术及方法等

要进行分类,根据数据库的不同使用不同的方法

Mysql 数据库提权演示-脚本&MSF 

UDF提权知识点:(基于MYSQL调用命令执行函数)

读取网站数据库配置文件(了解其命名规则及查找技巧)

sql data inc config conn database common include等

读取数据库存储或备份文件(了解其数据库存储格式及对应内容)

mysql数据库的密码存储在mysql数据库中

提权利用—UDF提权

---UDF 提权知识点:(基于 MYSQL 调用命令执行函数)

---select version来查看(我这里只能查看表中的数据,不能执行数据库操作)

---当然,这里可以通过上传脚本,执行SQL语句来查看数据库版本 

---select @@basedir:查看MySQL的安装目录 

手工创建plugin目录或者利用NTFS流创建

select 'x' into dumpfile '目录/lib/plugin::INDEX_ALLOCATION';

1.mysql<5.1 导出目录c:/windows或system32

2.mysql>=5.1 导出安装目录/lib/plugin/(这个目录默认是没有的,需要我们去创建)

如果这里出现mysql报错:1290 - The MySQL server is running with the --secure-file-priv option

则将mysql目录下的my.ini添加如下

开外联后使用MSF导出,在执行后续命令调用执行

select * from mysql.func where name= "sys_exec"; //查看

create function sys_eval returns string soname "RUJKAZal.dll";//创建函数绑定dll

select sys_eval("whoami");//调用函数进行命令执行