Windows RDP 服务高危漏洞分析 (CVE-2019-0708)

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

内容简介:2019 年 5 月 14 日微软官方发布紧急安全补丁,修复了 Windows 远程桌面服务的远程代码执行高危漏洞 CVE-2019-0708(CNVD-2019-14264、CNNVD-201905-434),该漏洞影响了某些旧版本的 Windows 系统。由于该漏洞无需身份验证且无需用户交互,所以这个漏洞可以通过网络蠕虫的方式被利用,利用此漏洞的恶意软件可以从被感染的计算机传播到网络中其他易受攻击的计算机,传播方式与 2017 年 WannaCry 恶意软件的传播方式类似。RDP 是微软终端服务应用的协

作者: 启明星辰ADLab

公众号: https://mp.weixin.qq.com/s/5WRJUPgPXU2Ja_R6pRPh_g

1. 背景

2019 年 5 月 14 日微软官方发布紧急安全补丁,修复了 Windows 远程桌面服务的远程代码执行高危漏洞 CVE-2019-0708(CNVD-2019-14264、CNNVD-201905-434),该漏洞影响了某些旧版本的 Windows 系统。由于该漏洞无需身份验证且无需用户交互,所以这个漏洞可以通过网络蠕虫的方式被利用,利用此漏洞的恶意软件可以从被感染的计算机传播到网络中其他易受攻击的计算机,传播方式与 2017 年 WannaCry 恶意软件的传播方式类似。

2. 影响范围

  • Windows 7
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows 2003
  • Windows XP

3. RDP协议简介

RDP 是微软终端服务应用的协议,服务端基于 Windows 操作系统,Windows 从 NT 开始提供终端服务。RDP 协议基于 T.128(T.120 协议族)提供多通道通信,并进行了拓展。

Windows RDP 服务高危漏洞分析 (CVE-2019-0708)

RDP 协议的连接流程可以分为 10 个不同的阶段。这里我们关注通道连接相关的几个阶段。

(1)ConnectionInitiation(连接初始化)

客户端通过向服务器发送 Class 0 X.224 ConnectionRequest PDU 启动连接请求。服务器使用 Class 0 X.224 Connection Confirm PDU 进行响应。之后,客户端和服务器之间发送的所有后续数据都被包裹在 X.224 数据协议数据单元(PDU)中。

(2) BasicSettings Exchange(交换基本设置)

通过使用 MCS Connect Initial PDUMCS Connect Response PDU 在客户端和服务器之间交换基本设置。GCC 的全称是 Generic Conference Control,GCC 作为 T.124 的标准协议,用于连续传输大量数据时,将数据整理分块传输。

(3)Channel Connection (虚拟通道连接)

客户端通过发送 multiple MCS Channel Join Request PDUs 加入用户信道,输入/输出通道及所有的静态虚拟通道(IO 和静态虚拟通道 ID信息在 GCC 数据包中)。服务器通过 MCS Channel Join Confirm PDU 回复每个通道。

4. 补丁分析

通过补丁包分析,我们发现补丁前后差异在于 termdd.sys 文件的 IcaBindVirtualChannelsIcaReBindVirtualChannels ,增加了对 MS_T120 协议通道的判定。如果是通道协议名为 MS_T120 ,则设定 IcaBindChannel 的第三个参数为 31 。

Windows RDP 服务高危漏洞分析 (CVE-2019-0708)

服务端在初始化阶段,会创建 MS_T120 , Index 为 31 的通道。在收到 MCS Connect Initial 数据封包后进行通道创建和绑定操作。

IcaBindVirtualChannels 函数中进行绑定时, IcaFindChannelByName 函数只根据通道名进行通道查找。当通道名为 MS_T120 (不区分大小写)时,会找到系统内部通道 MS_T120 的通道并与之绑定,绑定后,通道索引会即被更改为新的通道索引。

5. 漏洞原理分析

我们在客户端 MCS Connect Initial 数据封包中,增加一个名为 MS_T120 的通道。

Windows RDP 服务高危漏洞分析 (CVE-2019-0708)

接下来,我们释放这个 Channel 。我们向 MS_T120 通道发送构造的数据,但由于这个通道已经被绑定到内置的 MS_T120 通道,所以数据最终会派发到相应的处理函数 rdpwsx!MCSProtData 中,然后调用 MCSChannelClose 函数关闭通道。

Windows RDP 服务高危漏洞分析 (CVE-2019-0708)

此后,我们向系统的 MS_T120 通道发送数据,再次引用被关闭的通道,从而导致 UAF 漏洞。

Windows RDP 服务高危漏洞分析 (CVE-2019-0708)

6. 解决方案

  • 目前启明星辰已经发布了对应的产品级解决方案,相关链接:https://www.venustech.com.cn/article/1/9148.html。
  • 对于 Windows 7 及 Windows Server 2008 的用户,及时安装 Windows 发布的安全更新。
  • 对于 Windows 2003 及 Windows XP 的用户,及时更新系统版本。
  • 临时危害减轻措施:开启网络身份验证(NLA)。请注意如果攻击者拥有合法的网络身份,依然可以绕过该身份验证,利用漏洞攻击目标主机。

启明星辰积极防御实验室(ADLab)

ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截止目前,ADLab已通过CVE累计发布安全漏洞近1000个,通过 CNVD/CNNVD累计发布安全漏洞近500个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖操作系统与应用系统安全研究、移动智能终端安全研究、物联网智能设备安全研究、Web安全研究、工控系统安全研究、云安全研究。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。

Windows RDP 服务高危漏洞分析 (CVE-2019-0708)


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

点石成金

点石成金

[美] 史蒂夫·克鲁克 / De Dream' / 机械工业出版社 / 2006-8 / 39.00元

可用性设计是Web设计中最重要也是最困难的一项任务。《点石成金》的作者根据自己多年从业的经验,剖析用户的心理,在用户使用的模式、为浏览进行设计、导航设计、主页布局、可用性测试等方面提出了许多独特的观点,并给出了大量简单、易行的可用性设计的建议。这本书短小精悍,语言轻松诙谐,书中穿插大量色彩丰富的屏幕截图、趣味丛生的卡通插图以及包含大量信息的图表,使枯燥的设计原理变得平易近人。 此书适合从事W......一起来看看 《点石成金》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具