共计 1815 个字符,预计需要花费 5 分钟才能阅读完成。
2020 年年初,微软公布了一个紧急补丁,以修复 SMBv3 的破绽,该破绽编号为 CVE-2020-0796。
CVE-2020-0796 的可蠕虫性让人想起永恒之蓝,永恒之蓝是 SMBv1 中的一个近程代码执行(RCE)破绽,也就是灾难性恶意软件 WannaCry 的次要媒介。一旦攻击者胜利利用 CVE-2020-0796,近程攻击者就能够齐全管制存在破绽的零碎,所以被称为“永恒之黑”。
受永恒之黑影响的零碎
Windows 10 版本 1903(用于 32 位零碎)
Windows 10 版本 1903(用于基于 ARM64 的零碎)
Windows 10 版本 1903(用于基于 x64 的零碎)
Windows 10 版本 1909(用于 32 位零碎)
Windows 10 版本 1909(用于基于 ARM64 的零碎)
Windows 10 版本 1909(用于基于 x64 的零碎)
Windows Server 1903 版(服务器外围装置)
Windows Server 1909 版(服务器外围装置)
永恒之黑的破绽利用机制
srv2.sys 中的 Srv2DecompressData 函数中存在一个整数溢出谬误。当 SMB 服务器收到格局谬误的 SMB2_Compression_Transform_Header 时,能够触发此破绽。此函数创立一个缓冲区,用于保留解压缩的数据,该函数通过将“OriginalSize”增加到“Offset”来计算缓冲区大小,导致 ECX 寄存器中的整数溢出。一旦计算出缓冲区大小,它将大小传递给 SrvNetAllocateBuffer 函数来调配缓冲区。
随后,内核调用了 RtlDecompressBufferXpressLz 函数来解压缩 LZ77 数据。下面的屏幕截图显示,内核应用“rep movs”指令将 0x15f8f(89999)字节的数据复制到缓冲区中,该缓冲区的大小先前调配为 0x63(99)字节,导致缓冲区溢出,从而导致内存损坏和内核解体。
永恒之黑属于 SMB 内存损坏破绽,其可蠕虫性可能可能利用此破绽感化并通过网络流传,这与 WannaCry 勒索软件在 2017 年利用 SMB 服务器破绽的形式非常相似。
攻击者是如何利用永恒之黑的?
攻击者利用永恒之黑的攻打伎俩次要有三种。
伎俩一:在某些公司网络上退出域时,会主动关上 SMB 端口,从而使该计算机裸露于近程攻打模式,利用该破绽,开发或应用破绽利用的攻击者能够齐全管制该计算机。
伎俩二:攻击者的另一种状况是创立本人的 SMB 服务器,而后诱使用户连贯到其歹意服务器。这种攻打可能采取垃圾邮件或即时消息的模式,并带有指向托管恶意代码的邪恶 SMB 服务器的链接。如果攻击者压服用户单击链接,或者只是近程零碎上的共享名(或映射的驱动器),那么歹意服务器将发送该链接,并立刻取得对其的齐全管制。
伎俩三:攻击者首先通过其余形式毁坏计算机,例如,通过成为关上歹意附件的受害者成为受害者。随后,攻击者能够利用永恒之黑来批改内核的要害组件以取得 SYSTEM 特权,使攻击者简直能够在计算机上执行任何操作。
永恒之黑该当如何防止?
系统安全防护有余,危险最大的无疑是企业外围数据。为了让企业无效防护永恒之黑的破绽利用攻打,咱们比照了三种可行的防护计划:
目前寰球范畴可能存在永恒之黑破绽的主机总量约 10 万台,首当其冲成为黑客攻击的指标,若被蠕虫化利用可导致数据失落、信息泄露、服务器瘫痪等状况。传统平安防护措施在此类高级威逼背后曾经生效,外围数据与业务必须失去更进一步的保障。安芯网盾智能内存保护零碎通过虚拟化监测内存异样,通过网络过滤仅容许非法的 SMB 通信,失常的业务通信不受影响,同时阻止了主机之间的其余横向挪动,轻松解决永恒之黑和其余要害破绽。
参考链接:
[1]https://news.sophos.com/en-us…
[2]https://paper.seebug.org/1168/
[3]https://www.sans.org/blog/mic…
[4]https://www.avesnetsec.com/cv…
[5]https://medium.com/@knownsec4…
[6]https://www.exploit-db.com/ex…
[7]https://www.fortinet.com/blog…
[8]https://blog.51cto.com/liulik…
[9]https://blog.rapid7.com/2020/…