频道栏目
首页 > 安全 > 系统安全 > 正文

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

2017-08-10 09:40:15      个评论      
收藏   我要投稿

微软在2017年6月份的补丁中修补了一个快捷方式(CVE-2107-8464)的漏洞,公告称此漏洞被国家背景的网络攻击所使用来实施攻击,该漏洞也被称为震网三代,近日Metasploit上发布了该漏洞的PoC。[ 本文系HanSight瀚思原创稿件,如需转载请注明出处!]
微软在2017年6月份的补丁中修补了一个快捷方式(CVE-2107-8464)的漏洞,公告称此漏洞被国家背景的网络攻击所使用来实施攻击,该漏洞也被称为“震网三代”,近日Metasploit上发布了该漏洞的PoC。
该漏洞的原理同2010年美国和以色列入侵并破坏伊朗核设施的震网行动中所使用的穿透核设施隔离网络的漏洞(CVE-2010-2568)非常类似,「它可以很容易的被黑客利用来攻击基础设施、存放关键资料的核心隔离系统等」。
「当存在漏洞的电脑被插上保存有漏洞文件的U盘时,不需要额外操作,漏洞攻击程序就可以执行并完全控制用户的电脑系统」。
漏洞PoC演示:

PoC的LNK文件格式如下图:

LNK文件格式如下图
一般包含有Link文件头、LinkTargetIDList、LinkInfo、StringData和ExtraData。

PoC中涉及到的重要字段,后文会一一解释。
想要触发这个漏洞,LNK文件必须要有LinkTargetIDList和ExtraData两个Block。PoC文件格式图中第二行的数字81,代表的是LNK文件头的LinkFlags字段,81的含义是本LNK文件包含有LinkTargetIDList,并且字符串使用的是Unicode编码。在LinkTargetIDList之后紧跟着的就是ExtraData,本漏洞中使用的是SpecialFolderDataBlock。
LinkTargetIDList格式如下图
本PoC中包含有3个item,其中item 2含有触发漏洞后自动执行的恶意DLL文件路径:

PoC中IDListSize是0x8E,它有3个item,第一个item大小是0×14,第二个item大小也是0×14,第三个item大小是0×64。
LinkTargetIDList中包含的Item格式如下:

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盘插拔行为和主机进程行为等,可以侦测此类问题,并产生告警:

上一篇:如何把Photoshop改造成远程控制工具(RAT)来利用
下一篇:Vuzzer自动漏洞挖掘工具简单分析附使用介绍
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站