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

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

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


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

查看所有标签

猜你喜欢:

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

别怕,Excel VBA其实很简单(第2版)

别怕,Excel VBA其实很简单(第2版)

Excel Home / 北京大学出版社 / 2016-7 / 59.00元

对于大部分没有编程基础的职场人士来说,在学习VBA时往往会有很大的畏难情绪。本书正是针对这样的人群,用浅显易懂的语言和生动形象的比喻,并配合大量插画,对Excel中看似复杂的概念和代码,从简单的宏录制、VBA编程环境和基础语法的介绍,到常用对象的操作与控制、执行程序的自动开关—对象的事件、设计自定义的操作界面、调试与优化编写的代码,都进行了形象的介绍。 本书适合那些希望提高工作效率的职场人士......一起来看看 《别怕,Excel VBA其实很简单(第2版)》 这本书的介绍吧!

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

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

RGB CMYK 互转工具