我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

栏目: 编程工具 · 发布时间: 6年前

内容简介:在微软今年五月份的漏洞更新安全公告中,提到了一个跟远程桌面协议(RDP)有关的漏洞。我们之所以要在这里专门针对这个漏洞进行分析,是因为这个漏洞更新涉及到Windows XP以及其他多个Windows操作系统,而众所周知,Windows XP已经很多年没有过更新了。那么为什么微软这一次要修复这个高危漏洞呢?别着急,我们现在一起来看一看!根据微软发布的安全公告,这是一个非常严证的安全漏洞,它将导致攻击者在目标设备上实现远程代码执行,并植入蠕虫等恶意软件。这也就意味着,一旦目标组织的其中一台设备受到了感染,整个网

我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

写在前面的话

在微软今年五月份的漏洞更新安全公告中,提到了一个跟远程桌面协议(RDP)有关的漏洞。我们之所以要在这里专门针对这个漏洞进行分析,是因为这个漏洞更新涉及到Windows XP以及其他多个Windows操作系统,而众所周知,Windows XP已经很多年没有过更新了。那么为什么微软这一次要修复这个高危漏洞呢?别着急,我们现在一起来看一看!

根据微软发布的安全公告,这是一个非常严证的安全漏洞,它将导致攻击者在目标设备上实现远程代码执行,并植入蠕虫等恶意软件。这也就意味着,一旦目标组织的其中一台设备受到了感染,整个网络系统内其他未受安全保护的计算机设备也将“无一幸免”。在这份安全公告中,微软提到了著名的网络蠕虫“WannaCry”。在2017年三月份,微软修复了针对该恶意软件的相关漏洞(MS17-010),但是在此之前,很多攻击者都在使用“WannaCry”进行网络攻击。

鉴于该漏洞的安全威胁等级(高危漏洞),攻击者很有可能会在这段时间内开发出相应的漏洞利用工具,McAfee高级威胁研究团队也对该漏洞以及相关的威胁场景进行了深度分析,我们建议广大用户尽快修复漏洞CVE-2019-0708。

受影响的操作系统

Windows 2003

Windows XP

Windows 7

Windows Server 2008

Windows Server 2008 R2

RDP协议

远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议可以帮助用户(客户端或称“本地电脑”)与提供微软终端机服务的电脑(服务器端或称“远程电脑”)建立通信连接。目前,市场上大部分的Windows都安装了远程桌面协议。其他操作系统也有相关的客户端软件,例如 Linux 、FreeBSD和Mac OS X等等。

该协议是对国际电信联盟发布的一个国际标准的多通道会议协议T.120 的一个扩展。RDP协议在终端服务推出后已有四个版本,即4.0、5.0、5.1、5.2。一般来说,版本是根据windows的版本确定的。从客户端的角度来说,5.X版本间提供的功能差别不是很大,相对于4.0版本,它提供了用户带密码直接登录、客户端驱动器资源映射、客户端音频回放、最高24位色显示和符合FIPS加密级别连接。另外,从4.0协议开始变提供的客户羰功能有:高、中、低三种数据加密级别,客户端自定义初始登录环境,客户端打印机映射,客户端LPT端口映射,客户端com端口映射,剪贴板映射,客户登录的个性化设置(包括键盘、显示界面大小等)。7.0版:这是最新的版本,仅支持Windows Server 2008 R2 或 Windows 7及以上版本。

漏洞概览

蠕虫病毒可以在受感染的网络系统内进行自我复制和传播,并在受感染的远程主机上自动运行,而不需要用户任何的额外交互。如果一款恶意软件的主要攻击载体是网络的话,那么它就应该被归类为蠕虫。

远程桌面协议(RDP)定义了通信双方在虚拟信道间的数据通信方式,支持客户端建立点到点的连接。这种虚拟信道为双向数据通道,可以扩展RDP的功能。Windows Server 2000在RDP v5.1中定义了32种静态虚拟信道(SVC),但是由于其中涉及还到大量动态虚拟信道(DVC),因此可用的信道数量以及种类会受到一定限制。SVC是在会话开始时创建的,并在会话终止前保持不变,但DVC不同,因为它是根据用户需求来创建和删除的。

漏洞分析

漏洞CVE-2019-0708涉及到了RDP驱动器termdd.sys中的_IcaBindVirtualChannels 和_IcaRebindVirtualChannels。我们可以从下图中看到,系统初始化了RDP连接序列,并且会在安全机制启用前完成信道的建立,这就导致了漏洞CVE-2019-0708的可蠕虫化,因为它可以通过开放端口3389在目标网络系统内实现自我复制和传播。

我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

先给大家简单介绍一下“MS_T120”这个静态虚拟信道,它的RDP信道编号为31,位于GCC会话初始序列中。这是一个微软内部使用的信道名称,而且在客户端通过一个SVC来请求建立连接时,不会显示关于“MS_T120”这个信道的使用信息。

下图显示的是GCC会话初始化序列的信道请求信息,我们可以看到其中不涉及到任何关于MS_T120信道的信息。

我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

但是在GCC会话初始化的过程中,客户端提供的信道名称并不在服务器端的白名单中,因此攻击者将能够设置另一个名为“MS_T120”的SVC信道(而不是之前编号为31的合法信道)来让目标系统发生堆内存崩溃,或实现远程代码执行。

下图显示的是GCC会话初始化过程中的非正常信道请求(“MS_T120”信道编号为4):

我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

MS_T120信道管理中涉及到的组件我们在下图中进行了标注。MS_T120参考信道会在rdpwsx.dll中创建,堆内存也会在rdpwp.sys中分配内存池。当MS_T120参考信道在信道编号非31的场景下建立时,便会发生堆内存崩溃。

我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

下图显示的是微软的漏洞修复情况,微软在termdd.sys的_IcaBindVirtualChannels和_IcaRebindVirtualChannels函数中的客户端连接请求部分添加了针对信道名称“MS_T120”的检测代码,并确保该信道会跟信道序列31进行绑定。

我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

在对Windows 2003和Windows XP的漏洞补丁进行了分析之后,我们弄清楚了RDP协议在安装补丁之前以及安装补丁之后的信道解析流程,因此我们打算针对这个漏洞开发一份漏洞概念验证代码,并尝试在目标设备上利用该漏洞来实现远程代码执行,然后启动计算器程序。

下图为我们PoC程序的执行截图:

我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

经过简单配置之后,我们在目标设备上启用了远程桌面协议,并且在运行概念验证代码前确保了该设备没有安装漏洞补丁。

我们通过研究分析,确认了PoC代码的有效性,并成功在目标系统上实现了远程代码执行。但是,如果目标系统启用了网络等级认证功能,那么这份PoC代码就无法正常运行了。不过攻击者如何能够获取到目标网络系统的管理员凭证,那么他们仍然能够绕过这种安全保护机制。

由于微软已经针对该漏洞发布了相应的漏洞补丁,因此我们就不再详细讨论针对该漏洞的利用方法了,而且出于对广大用户的安全性负责的角度考虑,我们也不打算对外公开我们的PoC代码。

缓解方案

1、 确保我们的Windows系统已安装了针对漏洞CVE-2019-0708的安全补丁,我们强烈建议广大用户尽快安装该补丁。

2、 禁止设备在外网使用远程桌面协议,并将其限制在内网使用。如果可以的话,建议广大用户直接禁用远程桌面协议,因为该协议如果被禁用,那么设备安全也就完全不会受到该漏洞的影响了。

3、 在远程桌面协议的GCC会话初始化序列时,将“MS_T120”与信道编号31进行绑定,如果请求的信道编号不正确,则禁止建立连接。

需要注意的是,我们还可以在注册表中修改默认的RDP端口,重启之后我们就可以使用新的通信端口了:

我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708

但是,恶意软件在获取到了目标系统的管理员权限之后,是可以修改这种配置参数的,并且在注册表中写入新的通信端口。

McAfee用户须知

McAfee NSP在2019年5月21日增加了如下所示的签名验证保护,因此McAfee NSP用户不会受到此类攻击的影响:

0x47900c00 “RDP: Microsoft Remote Desktop MS_T120 Channel Bind Attempt”


以上所述就是小编给大家介绍的《我们一起分析一下这个刚刚修复的RDP漏洞CVE-2019-0708》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Code

Code

Charles Petzold / Microsoft Press / 2000-10-21 / USD 29.99

Paperback Edition What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of ......一起来看看 《Code》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具