小迪安全v2023学习笔记(一百三十四讲)—— Windows权限提升篇&数据库篇&MySQL&MSSQL&Oracle&自动化项目

文章目录

前记

  • 本节课是关于数据库权限提升的内容,主要介绍了三款主流的数据库:MySQL、MSSQL和Oracle的提权方式
  • 以介绍工具为主,实战的时候直接一把梭就完事了

权限提升------第一百三十四天

Windows权限提升篇&数据库篇&MySQL&MSSQL&Oracle&自动化项目

前置知识

所处位置
  • 还是老传统,本节课处在的位置是:
shell 复制代码
Web权限  -->  数据库权限  -->  计算机系统权限
MySQL、MSSQL、Oracle简介
  • 我们介绍这节课之前先来简单了解一下这三个数据库:
    1. MySQL:开源数据库,与 PHP、Python、Java 等语言集成良好,但功能相对简单,适用于网站、初创公司
      • 默认端口:3306
      • 最高权限默认账户:root
      • 是否默认支持外连:否
    2. MSSQL:又叫SQL Server,微软开发的闭源数据库,与 Windows 和 .NET 深度集成,适用于企业、政府
      • 默认端口:1433
      • 最高权限默认账户:sa
      • 是否默认支持外连:是
    3. Oracle:Oracle公司开发的闭源数据库,功能极为强大,适合企业关键业务,适用于金融、电信、大型机构
      • 默认端口:1521
      • 最高权限默认账户:SYS / SYSTEM
      • 是否默认支持外连:是
数据库提权流程
1、获取数据库账号密码
  • 如何获取网站的数据库账号密码呢?之前也讲过:
shell 复制代码
网站存在SQL注入漏洞
数据库的存储文件或备份文件
网站应用源码中的数据库配置文件
采用工具或脚本爆破账号密码(需解决外连问题)
2、利用数据库自动化提权项目进行连接
3、解决不支持外连的问题
  • 有的时候数据库并不支持从外网连接,这时候我们就需要让他支持外连,有两种方式:
    1. 利用已知Web权限建立代理节点,然后自动化提权项目在连接这个代理节点(等同于本地连接) ==> 隧道代理
    2. 利用已知权限执行SQL开启外联(让数据库支持外联) ==> 数据库配置
  • 第一种方法是内网的问题,这里暂时不讲,主要是第二种方式,只需要哥斯拉连接数据库之后执行如下命令即可:
MySQL(默认不支持外连)
mysql 复制代码
GRANT ALL PRIVILEGES ON *.* TO '账号'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privileges;
MSSQL(默认支持外连)
sql 复制代码
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
Oracle(默认支持外连)
sql 复制代码
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;

Web到Win - 数据库提权-MySQL

  • 提权的条件

    1. ROOT密码
    2. my.conf文件中的secure-file-priv为空
    3. 存在MySQL\lib\plugin目录
  • 提权的技术:UDF、MOF(Windows Server 2008之后废除)、启动项、反弹Shell

  • 我这里就用Windows Server 2022服务器搭建phpstudy + PHP7.3 + MySQL5.7 + Zblog来进行案例演示吧

  • 我们直接上传木马,然后哥斯拉连接:

  • 这里虽然是最高权限了,但是我们暂时不管,我们就假装是一个低权限用户

  • 然后我们看看这个网站有没有数据库文件,这里暂时不考虑其他的数据库架构,本质都是一个道理,我们找到在这个位置:

MDUT
  • 然后根据这个信息,直接尝试用刚才提到的工具连接数据库,比如MDUT:
shell 复制代码
java8 -jar .\Multiple.Database.Utilization.Tools-2.1.1-jar-with-dependencies.jar
  • 因为这里是MySQL,所以一般不允许外连,所以会提示失败,我们需要先经过哥斯拉连接这个数据库,然后将他的外连开启:

  • 此时再回到工具点击测试连接,就会发现连接成功了:

  • 然后我们直接尝试执行命令,这里不用UDF也可以成功:

  • 如果原始的执行不了,那就点击UDF提权,再执行命令,如果这里报错:

  • 那么就在C:\phpstudy_pro\Extensions\MySQL5.7.26下创建一个lib\plugin目录,因为它是 MySQL 5.1 以后唯一允许加载 UDF 的路径,所以必须把 dll/so 丢到这里,否则 mysqld 拒绝加载

  • 不过这里,我们使用的是这些集成化工具可能不会自带该目录,如果是手动搭建的话是有的;然后它和MySQL的版本也有关系,phpstudy中MySQL8又有该目录;搞不懂,反正实战下就是能提就提,提不了就跑路吧

Template
  • 这个工具的话,它支持的数据库和功能更多一些,然后它需要先生成配置文件:

  • 再解析这个配置文件,新增一个数据库连接:

  • 然后再选择MySQL Attack,尝试连接并进行提权:

  • 同样也是,直接就提权成功了:

Web到Win - 数据库提权-MSSQL

  • 提权条件:知道sa密码

  • 提权技术xp_cmdshellsp_oacreate、CLR沙盒

  • 这里我去尝试安装了一下SQL Server,太麻烦了,我就懒得弄了,有时间的可以下去复现一下

  • 这里就以小迪的演示为例吧,简单看一下,因为实战中也就是拿着工具直接扫,能提就提,不能提就跑路

  • 首先还是通过哥斯拉拿到Web权限,然后尝试翻出数据库信息:

  • 然后就通过哥斯拉自带的管理工具进行连接:

  • 连接成功,说明数据库配置信息没有问题,那我们就可以尝试工具提权了

MDUT
  • 和之前一样,打开工具直接连就好了:

  • 进去之后,就可以做个点鼠标的猴子,一个个试就可以了:

  • 有时候也会出现报错的情况,就先恢复,然后再激活组件:

RequestTemplate
  • 然后这个也是一样的,直接连接然后提权即可:

Web到Win - 数据库提权-Oracle

  • 提权条件:知道数据库账号密码
  • 提权技术:DBA、普通用户、注入模式
  • 也不多说了,都是一样的,遇到直接工具梭哈:

相关推荐
小光学长3 小时前
基于Vue的保护动物信息管理系统r7zl6b88 (程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
一匹电信狗3 小时前
【MySQL】数据库的相关操作
linux·运维·服务器·数据库·mysql·ubuntu·小程序
迦蓝叶3 小时前
JAiRouter v1.0.0 正式发布:企业级 AI 服务网关的开源解决方案
java·运维·人工智能·网关·spring·ai·开源
安卓开发者3 小时前
鸿蒙NEXT应用接入快捷栏:一键直达,提升用户体验
java·harmonyos·ux
yudiandian20143 小时前
03 Eclipse 配置 JDK 环境
java·ide·eclipse
_码力全开_3 小时前
P1005 [NOIP 2007 提高组] 矩阵取数游戏
java·c语言·c++·python·算法·矩阵·go
陈一Tender4 小时前
JavaWeb后端实战(登录认证 & 令牌技术 & 拦截器 & 过滤器)
java·开发语言·spring boot·mysql
Camel卡蒙4 小时前
红黑树详细介绍(五大规则、保持平衡操作、Java实现)
java·开发语言·算法