| 关键词: 文件 信息 攻击 恶意 shellcode dll skydriveshell 文档 诱饵 kipr | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
一、背景介绍近期,瑞星威胁情报中心捕获到一起针对巴基斯坦攻击事件,攻击者疑似APT组织“蔓灵花”,该组织利用CVE-2017-11882漏洞,通过投递带有恶意链接的DOCX文档对受害者进行攻击,一旦成功将获取受害者电脑内的所有敏感信息,并对其进行远程操控。 据瑞星安全专家介绍,APT组织“蔓灵花”又名BITTER或T-APT-17,于2016年被国外某安全厂商曝光,该组织长期针对中国、巴基斯坦等国家进行有组织,有计划地攻击,其目的以窃取政府、军工业、电力等领域的敏感资料为主,具有强烈的政治背景。 此次“蔓灵花”组织攻击对巴基斯坦的攻击手法是,向其内部投放主题为List of Commercial Counsellor at Pakistan’s Missions Abroad(中译为:巴基斯坦驻外使团商务参赞名单)的诱饵文档,并在诱饵文档中注入了恶意链接,该链接指向带有CVE-2017-11882漏洞RTF文档,其目的应在于盗取巴基斯坦政府及相关机构的内部机密资料,并进行远程操控等恶意行为。 据悉,CVE-2017-11882漏洞作为一个典型的APT高危漏洞,影响着Office诸多版本,同时为众多攻击组织所青睐,而用于各类重大APT攻击事件中,因此没有及时修复漏洞的机构都存在巨大风险。同时由于蔓灵花”组织也曾对我国发起过类似的APT攻击,因此广大政府及企业应引起高度重视,做好相应的防御措施。 二、攻击事件这起攻击事件主要针对巴基斯坦,攻击者投放的诱饵文档的主题是List of Commercial Counsellor at Pakistan’s Missions Abroad,中译为:巴基斯坦驻外使团商务参赞名单。诱饵文档中列举了巴基斯坦驻外使团在中国,美国,法国,加拿大,印度等多个国家的联系地址,联系电话,传真,邮箱等详细信息。 图:诱饵文档内容节选 三、技术分析1. 攻击流程图:攻击流程 2. 诱饵文档分析攻击者在投放的诱饵文档中注入了恶意链接,该链接指向带有CVE-2017-11882漏洞,名为update的RTF文档。恶意链接为:http://quartzu.hol.es/mso/x64/x32/section/update。
表:诱饵文档信息 图:诱饵文档访问恶意链接 恶意链接位于诱饵文档中的word\rels\settings.xml.rels中。 图:诱饵文档中恶意链接所处位置 3. update.rtf分析update.rtf文档带有CVE-2017-11882漏洞,攻击者利用漏洞下载执行恶意程序。以下是详细分析。
表:update.rtf信息 图:CVE-2017-11882漏洞处恶意代码 3.1下载恶意程序X098765432198.exe 下载http://quartzu.hol.es/creatmong/tangkrdg/uplandjt,命名为X098765432198.exe,存于本地C:\Users\win7\AppData\Local目录中。 图:下载恶意程序 3.2执行X098765432198.exe 执行下载于本地的X098765432198.exe。 图:执行程序 4. X098765432198.exe分析攻击者利用X098765432198.exe去访问恶意链接,获取并执行shellcode。shellcode内存解密出dll并执行。恶意链接为:http://kerbosim.com/dramtun/miskder/kipr.jpg。以下是对X098765432198.exe的详细分析。
表:X098765432198.exe信息 4.1访问恶意链接获取kipr.jpg 访问http://kerbosim.com/dramtun/miskder/kipr.jpg,获取kipr.jpg的数据存放于申请的内存中。
表:kipr.jpg信息 图:读取kipr.jpg 4.2创建线程去执行kipr.jpg中的shellcode ①定位到kipr.jpg中的shellcode,shellcode位于是kipr.jpg的头0×14个字节之后。 图:定位kipr.jpg中的shellcode ②创建线程执行shellcode 图:执行shellcode 4.3shellcode内存解密出dll并执行 ①shellcode对自身所携带的dll进行解密。解密算法是异或0×93。 图:异或解密 图:dll的具体位置 ②跳转到解密出的dll文件的入口点,从而将dll执行起来。 图:执行dll 5. 攻击初期:shellcode解密出的dll分析dll通过获取当前运行进程名,与进程名rundll32.exe进行对比判断,根据结果分为两种执行情况。第一种情况(攻击初期)是:进程名不为rundll32.exe,第二种情况(攻击后期)是进程名为rundll32.exe。此步骤为第一种情况(攻击初期),dll会在受害者机器上释放skydriveshell64.dll,并利用rundll32.exe执行skydriveshell64.dll,还会在Windows自启动菜单中创建执行skydriveshell64.dll的快捷方式。以下是对shellcode解密出的dll的详细分析过程。 图:两种执行流程 5.1获取dll中所存放的pe数据,pe大小为0x12E00 图:读取dll中的pe 图:pe数据 5.2创建Common文件夹 ①遍历进程,查询avgnt.exe进程是否存在。 图:找寻avgnt.exe进程 ②如果avgnt.exe进程存在,在%appdata%目录下创建Common文件夹。如果avgnt.exe进程不存在,在%programdata%目录下创建Common文件夹。 图:创建Common文件夹 图:创建Common文件夹 5.3创建PE文件和快捷方式 在Common目录下创建PE文件skydriveshell64.dll,skydriveshell64.dll文件内容来自步骤5.1所获取的pe数据。在Windows启动菜单中创建名为OneDrive的快捷方式,快捷方式的作用是利用rundll32.exe执行skydriveshell64.dll中的IntRun函数。
表:skydriveshell64.dll信息 图:创建skydriveshell64.dll和OneDrive.lnk 图:示例图 本文出处: https://www.freebuf.com/articles/es/222232.html | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|