远程桌面服务漏洞分析与检测代码公开,暗网已开始售卖可利用EXP

释放双眼,带上耳机,听听看~!

远程桌面服务RCE漏洞补丁和影响范围点击下图

鉴于目前POC在国内外安全厂商大部分都已经研制的情况下(漏洞目前被取名为bluekeep),各家开始纷纷祭出无损漏洞扫描工具(即不会蓝屏或者弹计算器),这其中,macfee首当其冲,先发了一篇分析文章外加一个弹计算器的视频。

链接:

https://securingtomorrow.mcafee.com/other-blogs/mcafee-labs/rdp-stands-for-really-do-patch-understanding-the-wormable-rdp-vulnerability-cve-2019-0708/

当然checkpoint不甘示弱,蓝屏压场


正文


远程桌面协议(RDP)支持客户端和端点之间的连接,通过定义虚拟通道来传输它们之间通信的数据。

而虚拟通道是双向数据管道,因此可以扩展RDP。

Windows Server 2000使用RDP 5.1定义了32个静态虚拟通道(SVC),但由于进一步定义了动态虚拟通道(DVC)的通道数量限制,这些通道包含在专用SVC中。

SVC在会话开始时创建并保持到会话终止,这与根据需要创建和删除的DVC不同。

这32个SVC 绑定了CVE-2019-0708补丁修复了RDP驱动程序termdd.sys中的_IcaBindVirtualChannels和_IcaRebindVirtualChannels函数。

如图1所示,RDP连接序列连接在安全开始之前启动并进行通道设置,这使得CVE-2019-0708漏洞可以进行设置,因此它可以在发现开放端口3389后通过网络自我传播。(体现出蠕虫传播可能性)

图1:RDP 协议序列

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/023f1e69-cfe8-4ee6-9ee0-7e759fb4e4ee

该漏洞是由于“MS_T120”SVC名称在RDP协议的

GCC(GENERAL CONFERENCE CONTROL)

会话初始化序列期间被绑定为数字31的参考信道。

此通道名称由Microsoft在内部使用,并且客户端没有明显的合法用例来请求通过名为“MS_T120”的SVC进行连接。

【SVC = “MS_T120” and Channel != 31】

下图显示了没有MS_T120信道的GCC会话初始化序列期间的正常信道请求。

图2:标准GCC会话初始化序列

但是,在GCC会话初始化期间,客户端提供服务器未列入白名单的频道名称,这意味着攻击者可以在31以外的频道上设置另一个名为“MS_T120”的SVC。

而在31以外的频道中使用MS_T120这会导致堆内存损坏和远程代码执行(RCE)。


下图显示了GCC会话初始化序列期间的异常信道请求,信道号为4的“MS_T120”信道。

异常/可疑GCC会议初始化序列 – 非标准信道上的MS_T120

下图中突出显示了MS_T120通道管理中涉及的组件在rdpwsx.dll和rdpwp.sys中分配的堆池中创建.MS_D120引用通道。

当在31以外的通道索引的上下文中处理MS_T120引用通道时,堆损坏发生在termdd.sys中。

Windows内核和用户组件

现在,下图所示的Microsoft补丁使用通道名称“MS_T120”添加了对客户端连接请求的检查,并确保它在termdd.sys中的_IcaBindVirtualChannels和_IcaRebindVirtualChannels函数中仅绑定到通道31 (1Fh)。

Microsoft补丁添加通道绑定检查

在研究人员调查了适用于Windows 2003和XP的补丁并了解了如何在补丁之前和之后解析RDP协议之后,他们决定测试并创建一个概念验证(PoC),它将使用该漏洞并远程执行代码在受害者的机器上启动计算器应用程序,这是一个众所周知的远程代码执行试金石。

PoC执行的屏幕截图

对于我们的设置,RDP在计算机上运行,我们确认我们在测试设置上运行了未修补的版本。漏洞利用的结果就在文章一开始的视频。

而划重点来了,macfee透露了一个细节:

在灰色地带(暗网)有人出售远程桌面服务漏洞的EXP。

通过麦咖啡的调查,他们可以确认漏洞利用是可行的,并且可以在没有身份验证的情况下在存在漏洞的系统上远程执行代码。

如果启用,网络级别身份验证应该有效地阻止此漏洞利用; 但是,如果攻击者拥有凭据,他们将绕过此步骤。 (黑鸟:喵喵喵???感觉逻辑哪里不对?)

不管怎么说,是win7以下版本的赶紧打补丁。

推荐:需要注意的是,RDP默认端口可以在注册表字段中更改,并且重新启动后将绑定新指定的端口。从防止被检测的角度来看,这是非常重要的。

今日最佳公布CVE-2019-0708漏洞检测脚本(点击原文跳转)

https://github.com/zerosum0x0/CVE-2019-0708

检测脚本用ruby编写,并汇入MSF模块中

亲测可行,开源万岁。

下面这个检测攻击的维度文章同样值得一看

CVE-2019–0708 Windows RDP RCE 漏洞的影响面有多大,以及如何利用 Sigma 规则、Elastic、ArcSight 检测这种攻击
https://medium.com/@ab_65156/proactive-detection-content-cve-2019-0708-vs-mitre-att-ck-sigma-elastic-and-arcsight-22f9ebae7d82

循序渐进,下一个步骤就该推送有损poc以及详细漏洞分析了,欢迎继续扫码关注

更多情报和数据,请关注公众号

点击菜单栏,扫码加入知识星球(原价299,现价269

上期看点

感谢您的关注和转发

右下角,给你三个大螃蟹

本文源自微信公众号:黑鸟

人已赞赏
安全工具

科普:如何构建一个被动IMSI捕获器

2019-10-16 10:04:39

安全工具

针对中东地区的APT组织WindShift,该组织可利用自定义URL Scheme来远程感染macOS目标(需交互)

2019-10-16 10:04:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索