CredSSP 远程代码执行

长 亭 漏 洞 预 警

CredSSP远程代码执行

2018年3月13日,微软发布了本月安全补丁(KB4088787),其中包含了CredSSP远程代码执行漏洞(CVE-2018-0886)的补丁更新。该漏洞由安全公司Preempt的研究人员发现。

CredSSP是一种用于传输安全凭证的网络协议,通常在Windows远程桌面(RDP)或Windows远程管理(WinRM)中使用。攻击者可以在中间人攻击场景下利用CredSSP的漏洞,实现在网络中未受感染的机器上执行任意代码。该漏洞存在于迄今为止所有的Windows版本。

企业内网的安全防护通常比较脆弱,在内网环境下,攻击者只需要利用一些常见的网络攻击技术(例如ARP欺骗)即可实现中间人攻击,再结合这个漏洞即可造成较为严重的影响。

漏洞原理

该漏洞存在于协议设计中。要成功利用该漏洞,攻击者首先需要接入目标网络。在下图中,假设最右边的是受害的服务器,最左边是客户端,攻击者在二者中间具备了流量的劫持能力。

当客户端向服务器发起RDP连接时,攻击者作为中间人,可以对连接请求进行拦截。

攻击者一旦拦截了这个连接,就可以假冒服务器向客户端返回恶意命令,这时恶意的命令会被客户端信任。

客户端会对攻击者伪造的恶意代码进行签名,然后交给攻击者,攻击者就可以将其发送至域控服务器,并最终导致恶意代码在服务器上执行。执行的根本原因是因为代码得到了客户端的有效签名。

在上述的攻击过程中,已经假设攻击者具备了中间人攻击的能力。在实际场景中,中间人攻击需要使用与漏洞无关的其他方法实现,例如ARP欺骗。

影响范围

Windows 7

Windows 8.1

Windows RT 8.1

Windows Server 2008

Windows Server 2008 R2

Windows Server 2012

Windows Server 2012 R2

Windows Server 2016

Windows Server,Version 1709

解决方案

1、使用微软发布的关于CVE-2018-0886的补丁(KB4088787)是修复漏洞的最佳解决方案

2、如果漏洞涉及的协议和功能平时不会使用,则可以关闭相关应用程序端口/服务(包括RDP,DCE / RPC)

3、很多在认证过程中发生的攻击(例如NTLM中继攻击)通常发生在使用特权帐号进行操作的时候,如果能够尽可能减少特权帐户的使用,可以降低攻击发生的概率

参考资料

https://blog.preempt.com/security-advisory-credssp

https://msdn.microsoft.com/en-us/library/windows/desktop/bb931352(v=vs.85).aspx

https://youtu.be/VywB2_o9Tsk

https://support.microsoft.com/en-us/help/4088787

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180314B1UA2900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券