本帖最后由 某公司_智安全 于 2019-6-4 17:59 编辑
2019年5月31日,某公司安全团队发现公开的CVE-2019-0708的poc已在github上流传,并第一时间进行复现以及分析。经测试,该poc可导致目标主机蓝屏崩溃,特此再次发出预警。 漏洞名称:Remote Desktop Protocol漏洞预警 威胁等级:严重 影响范围:Windows XP;Windows 7 ;Windows Server 2003;Windows Server 2008;Windows Server 2008 R2 漏洞类型:任意代码执行漏洞 利用难度:容易 目前漏洞攻击方式已经公开,相信后续极有可能发生利用漏洞的攻击事件。
请广大用户务必及时更新安全补丁!
请广大用户务必及时更新安全补丁! 请广大用户务必及时更新安全补丁!
漏洞复现
根据该poc的发布者称,该poc针对Windows Server 2008 R2 x64。我们第一时间进行了复现,证实该poc确实可导致目标主机的蓝屏崩溃并重启。 经测试,除此版本系统外,该poc还会影响Windows 7 sp1 x64,Windows 7 sp1 x86,Windows Server 2008 x86。(其余尚未进行验证)
攻击者只需以受害主机IP地址为参数执行一个python文件,即可成功实施攻击,最终目标系统处于蓝屏崩溃状态。
漏洞分析
成功利用漏洞的前提是将名称为“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端口读取消息。
数据通过I/O数据包传入后,将进入rdpwsx!MCSPortData 函数进行处理:
从函数中可以看到,在rdpwsx!MCSPortData 函数中,有两个opcode:0x0和0x2。如果opcode为0x2,则调用rdpwsx!HandleDisconnectProviderIndication函数执行清理动作,然后使用rdpwsx!MCSChannelClose关闭通道。
从理论上来说,我们发送的数据包大小都在合法范围的MS_T120消息,将会正常关闭MS_T120信道,并断开连接程序(此时opcode为0x2),并且进行清理操作,此时将不会产生远程代码执行和蓝屏崩溃的风险。如果发送的数据包大小无效,就会导致远程代码执行和拒绝服务。
影响范围
目前受影响的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
某公司解决方案
某公司云眼在漏洞爆发之初,已完成检测更新,对所有用户网站探测,保障用户安全。不清楚自身业务是否存在漏洞的用户,可注册信服云眼账号,获取30天免费安全体验。
某公司云镜在漏洞爆发的第一时间就完成从云端下发本地检测更新,部署云镜的用户只需选择紧急漏洞检测,即可轻松、快速检测此高危风险。
修复建议
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. 缓解措施(在无法及时安装微软安全更新的情况下作为临时性解决方案): - 若用户不需要用到远程桌面服务,建议禁用该服务。 - 开启网络级别身份验证(NLA),此方案适用于Windows 7, Windows Server 2008, Windows Server 2008 R2 以上缓解措施只能暂时性针对该漏洞对系统进行部分缓解,强烈建议在条件允许的情况下及时安装微软安全更新。
参考链接
[1].https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708 [2].https://securingtomorrow.mcafee.com/other-blogs/mcafee-labs/rdp-stands-for-really-do-patch-understanding-the-wormable-rdp-vulnerability-cve-2019-0708/ [3].https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/5073f4ed-1e93-45e1-b039-6e30c385867c [4].https://zerosum0x0.blogspot.com/2019/05/avoiding-dos-how-bluekeep-scanners-work.html
时间轴
2019/5/14 Microsoft发布安全更新公告并披露漏洞 2019/5/15 某公司千里目安全实验室发布漏洞预警 2019/5/22 某公司千里目实验室根据漏洞跟踪分析结果发布二次漏洞预警 2019/5/30 某公司千里目实验室发布CVE-2019-0708攻击趋势分析 2019/5/31 某公司安全研究团队对公开的poc复现验证,证实该poc可导致目标主机蓝屏重启,特再次发布预警 |