如何进行Windows远程桌面服务代码执行漏洞的CVE-2019-0708预警

本篇文章为大家展示了如何进行Windows远程桌面服务代码执行漏洞的CVE-2019-0708预警,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

2019年9月7日凌晨,深信服安全团队监测到关于CVE-2019-0708相关情报,该情报披露CVE-2019-0708漏洞利用代码,该EXP可以通过RDP协议进行远程代码执行攻击。官方描述此漏洞相关危害可参考2017年WannaCry事件,深信服强烈建议用户及时安装补丁以避免受到损失。

漏洞名称:Remote Desktop Protocol漏洞

威胁等级:严重

影响范围:Windows XP;Windows 7 ;Windows Server 2003;Windows Server 2008;Windows Server 2008 R2

漏洞类型:任意代码执行漏洞

利用难度:容易

漏洞概述

CVE-2019-0708,属于任意代码远程执行漏洞,当未经身份验证的攻击者使用RDP连接到目标系统并发送特制请求时,即可以触发该漏洞。此漏洞属于预身份验证,无需用户交互,成功利用此漏洞的攻击者可以安装应用程序,查看、更改或删除数据或创建具有完全用户权限的新账户。

由于该漏洞可能导致的后果较为严重,今年5月份,深信服安全团队在追踪到该漏洞情报时已经第一时间向广大用户推送预警,并提供相应的防范措施:漏洞预警 | Remote Desktop Protocol任意代码执行漏洞(CVE-2019-0708)

目前,由于EXP的公开发布,恶意攻击者还很有可能利用该漏洞编写定制的恶意软件, 利用此漏洞的恶意软件传播影响引发类似2017年WannaCry恶意软件遍布全球的事件,广大用户需要更加警惕利用该漏洞的恶意软件的出现,提前做好预防措施。

漏洞分析

成功利用漏洞的前提是将名称为“MS_T120”的静态信道成功绑定到正常信道以外。由于微软官方在内部会使用一个名为MS_T120的信道,因此此信道理论上不应该接收任意消息。

RDP的内部组件有很多,包括svchost.exe中的几个用户模式的dll,以及几个内核模式的驱动程序。漏洞触发的原因是攻击者在MS_T120信道上发送消息,这将导致termdd.sys驱动程序中触发一个双重释放漏洞(free-after-free)。

在完成RDP协议的握手过程后,将开始向已经绑定的各个信道中发送消息。MS_T120信道的消息是由用户模式组件——rdpwsx.dll进行管理,该dll创建一个线程,该线程将在函数rdpwsx!IoThreadFunc中进行循环,通过I/O端口读取消息。

如何进行Windows远程桌面服务代码执行漏洞的CVE-2019-0708预警

数据通过I/O数据包传入后,将进入rdpwsx!MCSPortData 函数进行处理:

如何进行Windows远程桌面服务代码执行漏洞的CVE-2019-0708预警

从函数中可以看到,在rdpwsx!MCSPortData 函数中,有两个opcode:0x0和0x2。如果opcode为0x2,则调用rdpwsx!HandleDisconnectProviderIndication函数执行清理动作,然后使用rdpwsx!MCSChannelClose关闭通道。

如何进行Windows远程桌面服务代码执行漏洞的CVE-2019-0708预警

从理论上来说,发送的数据包大小都在合法范围的MS_T120消息,将会正常关闭MS_T120信道,并断开连接程序(此时opcode为0x2),并且进行清理操作,此时将不会产生远程代码执行和蓝屏崩溃的风险。如果发送的数据包大小无效,就会导致远程代码执行和拒绝服务。

漏洞复现

根据该EXP的发布者称,该EXP针对Windows 7和Windows Server 2008 R2 x64。深信服千里目第一时间进行了复现,证实该EXP确实可导致任意代码执行。

该EXP被发布者在Metasploit的官方Github的Pull Request中,但尚未加载进Metasploit的官方框架中。

如何进行Windows远程桌面服务代码执行漏洞的CVE-2019-0708预警

如上图中所示,按照Metaploit的正常使用流程即可加载该EXP。RHOSTS参数指定目标主机,target参数指定目标主机的系统版本,目前只有Windows 7 和 Windows Server 2008 R2两个版本。加载EXP后,执行,即可获取目标主机的权限。

影响范围

目前受影响的Windows版本:

Microsoft Windows XP

Microsoft Windows Server 2008 R2 for x64-based Systems SP1

Microsoft Windows Server 2008 R2 for Itanium-based Systems SP1

Microsoft Windows Server 2008 for x64-based Systems SP2

Microsoft Windows Server 2008 for Itanium-based Systems SP2

Microsoft Windows Server 2008 for 32-bit Systems SP2

Microsoft Windows Server 2003

Microsoft Windows 7 for x64-based Systems SP1

Microsoft Windows 7 for 32-bit Systems SP1

解决方案

1、及时安装微软发布的安全更新补丁:

Microsoft官方已经在 2019年5月14日修复了该漏洞,用户可以通过安装微软的安全更新来给系统打上安全补丁,下载地址为:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708

同时针对已不受微软更新支持的系统Windows Server 2003和Windows XP提供的安全更新,下载地址:

https://support.microsoft.com/zh-cn/help/4500705/customer-guidance-for-cve-2019-0708

2、缓解措施(在无法及时安装微软安全更新的情况下作为临时性解决方案):

(1)若用户不需要用到远程桌面服务,建议禁用该服务。

(2)开启网络级别身份验证(NLA),此方案适用于Windows 7, Windows Server 2008, Windows Server 2008 R2。

以上缓解措施只能暂时性针对该漏洞对系统进行部分缓解,强烈建议在条件允许的情况下及时安装微软安全更新。

上述内容就是如何进行Windows远程桌面服务代码执行漏洞的CVE-2019-0708预警,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/221509.html

(0)
上一篇 2022年1月3日
下一篇 2022年1月3日

相关推荐

发表回复

登录后才能评论