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端口读取消息。
数据通过I/O数据包传入后,将进入rdpwsx!MCSPortData 函数进行处理:
从函数中可以看到,在rdpwsx!MCSPortData 函数中,有两个opcode:0x0和0x2。如果opcode为0x2,则调用rdpwsx!HandleDisconnectProviderIndication函数执行清理动作,然后使用rdpwsx!MCSChannelClose关闭通道。
从理论上来说,发送的数据包大小都在合法范围的MS_T120消息,将会正常关闭MS_T120信道,并断开连接程序(此时opcode为0x2),并且进行清理操作,此时将不会产生远程代码执行和蓝屏崩溃的风险。如果发送的数据包大小无效,就会导致远程代码执行和拒绝服务。
漏洞复现
根据该EXP的发布者称,该EXP针对Windows 7和Windows Server 2008 R2 x64。深信服千里目第一时间进行了复现,证实该EXP确实可导致任意代码执行。
该EXP被发布者在Metasploit的官方Github的Pull Request中,但尚未加载进Metasploit的官方框架中。
如上图中所示,按照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
解决方案
漏洞修复
-
及时安装微软发布的安全更新补丁
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
-
缓解措施(在无法及时安装微软安全更新的情况下作为临时性解决方案)
若用户不需要用到远程桌面服务,建议禁用该服务。
开启网络级别身份验证(NLA),此方案适用于Windows 7, Windows Server 2008, Windows Server 2008 R2。
以上缓解措施只能暂时性针对该漏洞对系统进行部分缓解,强烈建议在条件允许的情况下及时安装微软安全更新。
深信服解决方案
-
深信服云眼 在漏洞爆发之初,已完成检测更新,对所有用户网站探测,保障用户安全。不清楚自身业务是否存在漏洞的用户,可注册信服云眼账号,获取30天免费安全体验。
注册地址为:https://saas.sangfor.com.cn
-
深信服云镜在漏洞爆发的第一时间就完成从云端下发本地检测更新,部署云镜的用户只需选择紧急漏洞检测,即可轻松、快速检测此高危风险。
-
深信服EDR 漏洞规则库紧急更新,支持Remote Desktop Protocol任意代码执行漏洞(CVE-2019-0708)的检测和补丁分发,漏洞规则库版本:20190515185804。联网客户可直接在线更新。 离线规则库已在5月16日上传至深信服社区,有需要的客户请到深信服社区下载。
-
深信服推出安全运营服务,通过以“人机共智”的服务模式帮助用户快速扩展安全能力,针对此次紧急漏洞,安全运营服务已在5月份进行漏洞检测、安全设备策略检查,目前针对此次EXP,现已再次进行漏洞检测,确保第一时间检测安全风险以及更新策略,防范此类安全风险。
时间轴
2019/5/14
Microsoft发布安全更新公告并披露漏洞
2019/5/15
深信服官方微信及千里目安全实验室发布漏洞预警
2019/5/22
深信服千里目实验室根据漏洞跟踪分析结果发布二次漏洞预警
2019/5/30
深信服千里目实验室发布CVE-2019-0708攻击趋势分析
2019/6/29
深信服安全研究团队针对某特定版本构造出EXP,证实该漏洞影响巨大,再次发布预警
2019/9/7
深信服安全研究团队监测到EXP披露情报,对EXP复现验证,证实该EXP可导致服务器远程代码执行,特再次发布预警,提供解决方案给广大企业用户
咨询与服务
您可以通过以下方式联系我们,获取关于
CVE-2019-0708漏洞的免费咨询及支持服务:
1)拨打电话400-630-6430转6号线
2)关注【深信服技术服务】微信公众号,选择“智能服务”菜单,进行咨询
3)PC端访问深信服区
bbs.sangfor.com.cn,选择右侧智能客服,进行咨询