长 亭 漏 洞 预 警
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
领取专属 10元无门槛券
私享最新 技术干货