漏洞概要

缺陷编号:
暂无

漏洞标题:
“震网三代”CVE-2017-8464漏洞分析和预警

提交时间:
2017-08-09

危害等级:

相关厂商:

漏洞分类:
安全文章

关注度:
共 16 人关注

漏洞详情

微软在2017年6月份的补丁中修补了一个快捷方式(CVE-2107-8464)的漏洞,公告称此漏洞被国家背景的网络攻击所使用来实施攻击,该漏洞也被称为震网三代,近日Metasploit上发布了该漏洞的PoC。[ 本文系HanSight瀚思原创稿件,如需转载请注明出处!]

微软在2017年6月份的补丁中修补了一个快捷方式(CVE-2107-8464)的漏洞,公告称此漏洞被国家背景的网络攻击所使用来实施攻击,该漏洞也被称为“震网三代”,近日Metasploit上发布了该漏洞的PoC。

该漏洞的原理同2010年美国和以色列入侵并破坏伊朗核设施的震网行动中所使用的穿透核设施隔离网络的漏洞(CVE-2010-2568)非常类似,「它可以很容易的被黑客利用来攻击基础设施、存放关键资料的核心隔离系统等」。

「当存在漏洞的电脑被插上保存有漏洞文件的U盘时,不需要额外操作,漏洞攻击程序就可以执行并完全控制用户的电脑系统」。

漏洞PoC演示:

“震网三代”——CVE-2017-8464漏洞分析和预警

“震网三代”——CVE-2017-8464漏洞分析和预警

PoC的LNK文件格式如下图:

“震网三代”——CVE-2017-8464漏洞分析和预警

“震网三代”——CVE-2017-8464漏洞分析和预警

LNK文件格式如下图

一般包含有Link文件头、LinkTargetIDList、LinkInfo、StringData和ExtraData。

“震网三代”——CVE-2017-8464漏洞分析和预警

“震网三代”——CVE-2017-8464漏洞分析和预警

PoC中涉及到的重要字段,后文会一一解释。

想要触发这个漏洞,LNK文件必须要有LinkTargetIDList和ExtraData两个Block。PoC文件格式图中第二行的数字81,代表的是LNK文件头的LinkFlags字段,81的含义是本LNK文件包含有LinkTargetIDList,并且字符串使用的是Unicode编码。在LinkTargetIDList之后紧跟着的就是ExtraData,本漏洞中使用的是SpecialFolderDataBlock。

LinkTargetIDList格式如下图

本PoC中包含有3个item,其中item 2含有触发漏洞后自动执行的恶意DLL文件路径:

“震网三代”——CVE-2017-8464漏洞分析和预警

“震网三代”——CVE-2017-8464漏洞分析和预警

PoC中IDListSize是0x8E,它有3个item,第一个item大小是0×14,第二个item大小也是0×14,第三个item大小是0×64。

LinkTargetIDList中包含的Item格式如下:

“震网三代”——CVE-2017-8464漏洞分析和预警

“震网三代”——CVE-2017-8464漏洞分析和预警

ExtraData格式如下图

本漏洞使用的是SpecialFolderDataBlock:

震网三代

震网三代

了解完文件格式后,漏洞原理不是很复杂:在解析完LinkTargetIDList后,会解析SpecialFolderDataBlock,解析SpecialFolderDataBlock过程中(CShellLink::_DecodeSpecialFolder)会根据其中的偏移(0×28)去找到前面的item 2,并将其中的DLLload进内存从而执行其中的DllMain。由于这个解析过程是在explorer.exe中实现的,所以对应的load进内存的恶意DLL也具有同样的高权限(一般是High)。

下图是PoC漏洞触发时的调用栈,以及漏洞执行之后会load恶意DLL进内存:

震网三代

震网三代

震网三代

震网三代

补丁对比:

震网三代

震网三代

微软在补丁中,通过调用_IsRegisteredCPLApplet函数对DLL路径进行校验,失败就不会再调用CPL_LoadCPLModule函数。

HanSight 解决方案

HanSight Enterprise通过主机日志关联分析,总结震网漏洞的共性,包括U盘插拔行为和主机进程行为等,可以侦测此类问题,并产生告警:

震网三代

震网三代

防护策略建议

1. 使用HanSight Enterprise监控主机行为,及时对警告排查处理。

2. 更新Windows操作系统补丁

https://portal.msrc.microsoft.com/zh-cn/security-guidance/advisory/CVE-2017-8464

参考资料

1. Metasploit

2. Shell Link (.LNK) 文件格式:

https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-SHLLINK/[MS-SHLLINK].pdf

*本文作者:13521679667,转载请注明FreeBuf.COM

发表评论

电子邮件地址不会被公开。 必填项已用*标注