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

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

内容简介: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)


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

查看所有标签

猜你喜欢:

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

React

React

卓越开发者联盟 / 寸志、范洪春、杨森、陈涌 / 电子工业出版社 / 2015-5-1 / CNY 65.00

2014 年横空出世的由Facebook 推出的开源框架React.js,基于Virtual DOM 重新定义了用户界面的开发方式,彻底革新了大家对前端框架的认识,将PHP 风格的开发方式迁移到客户端应用开发。其优势在于可以与各种类库、框架搭配使用。《React:引领未来的用户界面开发框架》是这一领域的首作,由多位一线专家精心撰写,采用一个全程实例全面介绍和剖析了ReactReact.js 的方方......一起来看看 《React》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

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

在线图片转Base64编码工具