Microsoft SQL Server漏洞浅析

  • 来源:深信服安全中心
  • 发布时间:2018-11-09
#

事件描述

0x01 Microsoft SQL Server数据库简介

Microsoft SQL Server 是微软公司推出的关系型数据库管理系统,因其具有使用方便与可伸缩性好,且与相关软件集成程度高等优点,从而被广泛使用。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理对高可用和高性能有需求的业务业务场景。

目前Microsoft SQL Server数据库在全球的应用量也比较靠前,据统计,在全球范围内对互联网开放Microsoft SQL Server数据库服务的资产数量多达237,065台,发现中国地区对外开放的Microsoft SQL Server数据库服务数量排名第一,数量为75793台,接近全球总量的30%。排名第二与第三的分别是美国与荷兰地区,其对外开放的Microsoft SQL Server数据库服务数量分别为35,965台和33,664台。由此看来,国内使用Microsoft SQL Server数据库的用户很广泛,对Microsoft SQL Server数据库的漏洞防范就显得尤为重要了。

 图片1.png)

漏洞概述

近几年Microsoft SQL Server数据库爆发的漏洞数量与其它类型数据库相比,所暴露出来的漏洞相对较少。在此,挑选两个可利用性高,且具有代表性的漏洞进行分析,分析列表如下:

 

漏洞名称

Microsoft SQL Server sp_replwritetovarbin远程堆溢出漏洞

Lyris ListManager MSDE SA弱密码漏洞

漏洞类型

风险级别

CVE编号

缓冲区溢出

CVE-2008-5416

弱密码

CVE-2005-4145

 

漏洞分析

 漏洞分析

一、漏洞信息:


Microsoft SQL Server sp_replwritetovarbin Stored Procedure Buffer Overflow Vulnerability

CVE-2008-5416

Buffer Overflow Vulnerability

二、漏洞概述:

Microsoft SQL Server是一款流行的SQL数据库系统。Microsoft SQL Server的sp_replwritetovarbin扩展存储过程中存在堆溢出漏洞,如果远程攻击者在参数中提供了未初始化变量的话,就可以触发这个溢出,向可控的位置写入内存,导致已有漏洞SQL Server进程的权限执行任意代码。在默认的配置中,任何用户都可以访问sp_replwritetovarbin过程。通过认证的用户可以通过直接的数据库连接或SQL注入来利用这个漏洞。

三、漏洞影响:

CVE-2008-5416漏洞影响的版本如下:

1CVE-2008-5416漏洞PoC我们从互联网中找到了C,如下是漏洞Po通过PoC代码可以看出,先定义未初始化的自定义变量,然后传入超长数据段(数据段中可构造恶意攻击代码),通过2CVE-2008-5416漏洞攻击流量分析:

图片2.png当登陆请求认证成功后,进一步查询数据库服务器的版本信息。如下所示:

 

Load载荷,进行存储过程溢出攻击。如下所示:

 

五、漏洞验证:

sploit渗透测试框架对存在图片5.pnghttps://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2009/ms09-004

2CVE-2005-4145漏洞分析:

一、漏洞信息:

Lyris ListManager MSDE Weak SA Password Vulnerability

CVE-2005-4145

Weak Password Vulnerability

二、漏洞概述:

Lyris_technologies_inc ListmanagerMicrosoft SQL ServerLyris_technologies_inc Listmanager  Lyris_technologies_inc Listmanager 

Lyris_technologies_inc Listmanager 5.0  

Lyris_technologies_inc Listmanager 6.0  

Lyris_technologies_inc Listmanager 7.0  

Lyris_technologies_inc Listmanager 8.0  

Lyris_technologies_inc Listmanager 8.8a

四、漏洞分析:

我们从互联网中找到了C,如下是漏洞Po从上面的漏洞PoC代码可以看出,先尝试使用账号lminstall进行尝试登陆,如成功,就执行下面的SQL利用代码,否则,进一步对SA账户进行进程PID暴力枚举来获取登陆权限,如登陆成功,同理,执行下面的SQL利用代码。

攻击者通过TDS协议对靶机不停的发起远程登陆认证请求,用户名为SA,不停的枚举密码。

 

五、漏洞验证:

sploit渗透测试框架对存在图片7.pngCVE-2005-4145漏洞Podra等工具枚举成功后,再将枚举成功的值填写P目前,官方已经在8.9b及以上版本。

结语

 7、 2000、 2005这三个版本。

2、影响范围比较广的漏洞类型有:缓冲区溢出漏洞、弱密码、权限提升、拒绝服务等四种。

3、Microsoft SQL Server类漏洞比较集中爆发的时期是1997年至2005年这8年。随着微软对安全性越来越重视,在随后发布的Microsoft SQL Server 



解决方案

 M SQL Server漏洞已具备检测能力,新用户可申请30天免费试用,全天24小时不间断进行事前检测,注册地址:AF下一代防火墙,深信服下一代防火墙已经具备了icrosoft类漏洞的防御能力。建议深信服下一代防火墙用户,及时更新规则库至最新版本,并开启IPS安全防护,可轻松抵御此类漏洞风险。