2017-09-18 18:57:15
阅读:1053次
点赞(0)
收藏
来源: 安全客
作者:360安全卫士
一、概述
近日,360成都安全响应中心检测到一批可疑Word文档,该类文档自被检测以来不断演变出新变种,经过对此类文档的分析和关联,发现文档背后影藏着一起针对欧亚多国(俄罗斯、白俄罗斯、哈萨克斯坦)的高级持续攻击活动。攻击者针对这三国的航天机构、军事机构、科研机构等重要领域展开了有组织、有计划、有针对性的不间断攻击,攻击平台主要集中在windows系统,攻击目标集中在白俄罗斯、哈萨克斯坦、俄罗斯。截至目前一共捕获到Windows平台样本16个(包括32位和64位版本),涉及C&C地址5个。
该黑客组织主要使用鱼叉邮件进行攻击,使用系统漏洞CVE-2015-1641或嵌入恶意宏代码执行恶意载荷,入侵成功后攻击者能够对用户计算机进行实时监控,同时可以远端下载执行指定载荷。
二、受影响情况
本章主要对相关攻击行动所针对目标涉及的地域和行业进行相关统计分析,时间范围选择 2017年8月1日到至今。
1.地域分布
这次行动主要针对目标为白俄罗斯,占比高达56.2%,其次是哈萨克斯坦占25%,具体分布如图1所示。
图1 受影响地域分布
2.受影响领域分布
通过收件人邮件地址,发现军事机构是这是定向行动重点针对目标,占比高达75%,其次是科研机构与航天机构,分别占据12.5%,具体分布如图2所示。
图2 受影响行业分布
三、载荷投递
1.攻击方式
攻击者主要利用鱼叉邮件进行传播,并针对目标进行精心构造文件名、邮件主题、正文内容等信息,图3为捕获的其中一封恶意邮件。
图3 恶意邮件
2.技术方式
从捕获的恶意文档看,攻击者主要采用了两种技术手段进行来执行恶意载荷:
1) 利用CVE-2015-1641Office漏洞
CVE-2015-1641漏洞为类型混淆漏洞,word在解析docx文档处理displacedByCustomXML属性时未对customXML对象进行验证,可以传入其他标签对象进行处理,造成类型混淆,导致任意内存写入,最终经过精心构造的标签以及对应的属性值可以造成任意代码执行。
捕获的恶意文档嵌入了三个OLE对象(Object Linking and Embedding),即“对象链接与嵌入”, 其中第三个OLE对象嵌入的是docx文档,该文档主要是用于进行漏洞触发,解压后包含document.xml,如下图4所示,攻击者通过该XML文件覆盖到指定位置,导致任意内存写入。
图4 恶意文档嵌入的document.xml文件
在捕获的样本中攻击者使用了很多相似的恶意文档进行多次攻击,而且攻击者同时把样本发送给不同部门进行钓鱼攻击。通过对比样本发现,相似的恶意文档只有嵌入的document.xml中某些属性值不同,这说明攻击者为了使攻击能够成功针对不同Office版本做了不同的适配。
2)使用宏嵌入恶意代码
部分样本还使用宏代码进行恶意载荷的释放,并且宏代码还进行了加密保护。图5为恶意文档中嵌入的宏。
图5 恶意文档嵌入的宏
3.诱饵文件
从目前捕获的数据来看,恶意载荷主要通过CVE-2015-1641漏洞文档进行传播,目标中招后运行该文档,会释放出恶意样本并打开诱饵文件进行伪装。
诱饵文档主要包括下面三类,第一类是有关白俄罗斯和俄罗斯联邦准备在8月21日到8月25日进行战略训练的一个说明,从诱饵文档名“_Плановая подготовка____21 - 25 августа 2017 г. .doc”(8月21到8月25日的战略计划)可以看出攻击者针对此次攻击做了充分准备。图6为此类诱饵文档。
图6 诱饵文档1
其次是有关哈萨克斯坦行政职位的类别列表,如下图7所示,该诱饵文档部分内容来自https://tengrinews.kz新闻网。
图7 诱饵文档2
最后一类则是关于俄罗斯航天机构的信息,如图8所示,
图8 诱饵文档3
四、样本分析
1.母体文件分析
a. 其中一个漏洞文档信息如表1所示:
表1 漏洞文档信息
利用方式使用漏洞CVE-2015-1641
释放的PE文件Hashc7e81606e37d9c8****5fd86a7de6995
该文档所利用的漏洞为CVE-2015-1641,攻击者使用的漏洞利用代码是通用的文件型捆绑shellcode,这套利用的特点是两段shellcode,第一段shellcode功能负责将从文件数据中读取shellcode_2,创建可执行内存区域,将shellcode_2拷贝至目标内存,第二段shellcode_2才是真正的恶意代码功能执行部分,这种做的好处是shellcode_2可以足够用长。图9为第一段shellcode。
图9 第一段shellcode开始位置
第一段shellcode分配内存空间,将真正的恶意shellcode复制到分配的空间内,并跳至第二段shellcode并执行。如图10所示,
图10 跳至第二段shellcode
下图为第二段shellcode入口,
图11 第二段shellcode开始位置
第二段shellcode主要运行流程归纳为如下四点:
1、暴力搜索有效文件句柄,通过匹配特征来确定是否为自身文件;
2、确定自身文件后,通过文件句柄将文件映射至内存;
3、通过指定偏移来定位捆绑数据,并释放捆绑数据到指定目录;
4、最后运行释放文件。
图12 第二段shellcode释放PE反汇编代码
将释放PE的反汇编代码进行还原后,部分C代码如下:
图13 还原后的部分C代码
b、其中一个恶意宏代码文档信息如下,如表2所示。
表2 恶意宏代码文档信息
该样本主要通过宏代码来释放PE文件并添加自启动用于执行。
以上两种方式都是为了释放恶意PE,释放的PE功能几乎一样。后面重点分析宏释放的PE文件。
2.释放PE文件分析
该样本加载后,首先创建一个互斥体{5A419JHS3-5LHG867LS0347},以免多次运行。
图14 创建互斥体
连接远端地址(http://45.xx.xx.160/9EkCWYA3OtDbz1l.dat)下载文件
图15 下载恶意文件
最后通过异或解密释放的PE文件,并通过rundll32执行dll(md5: bffc3e2b7382d0****7440cabbd7b1ba)中的ServiceMain导出函数。
图16 执行恶意文件
3.远端下载PE文件分析
该样本为DLL文件,且有32位和64位版本。其中ServiceMain都为核心功能函数,32位版本导出函数如下:
图17 32位导出函数
64位版本如下:
图18 64位导出函数
在ServiceMain中创建线程执行核心功能代码,先解密出C&C地址并连接
图19 C&C地址
然后循环和服务器通讯并根据不同的命令执行相应的操作,主要功能如表3所示。
表3 功能列表
五、C&C分析
图20为C&C地理位置分布,可以看出该组织攻击行动中所使用的IP地理位置集中在美国、英国以及荷兰,并且从C&C分析发现攻击者很注意自身的安全,关键数据直接连接IP进行数据传送,即使部分地方使用域名链接,域名也是进行了Whois保护,即隐藏域名注册者的真实信息,如电子邮件地址、电话号码等,这样也导致了安全研究机构或人员很难找到相关线索信息进行关联回溯。
图20 IP地址位置分布
六、总结
通过对这次攻击中相关TTPs(Tools、Techniques、Procedures)的研究分析,总结出以下几点:
1、攻击者具有很强的自我保护意识
攻击者使用的木马关键数据都采用字符串加密(如C&C)、并经过多次云控下载(下载过程中,C&C均直接采用IP地址,减少暴露的信息)才得到其主要功能的恶意代码模块,并且代码含有沙箱检测功能。另外,含有域名C&C信息都进行了Whois保护,这些都说明攻击者具有较强的保护意识。
2、攻击者针对性强
攻击者利用鱼叉邮件对目标的多个职能部门同时发起攻击,并针对各个目标进行精心构造文件名(如_Плановая подготовка____21 - 25 августа 2017 г. .doc)、邮件主题(如Подготовка к Запад-2017)、正文内容等信息,可以看出攻击者针对性很强。
3、攻击者在攻击过程中使用多种资源
攻击者使用了恶意宏代码及office漏洞进行传播,并且恶意宏代码进行加密防止被还原。
综合来看,该组织攻击目标明确、 社工手段精准,并且攻击过程中使用了多种资源,都表明这不是个人能够承受的攻击成本,很可能是具有高度安全意识的APT组织。
本文由 安全客 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/4441.html