一、概述
近日腾讯御见威胁情报中心监测到多个利用最新Flash漏洞CVE-2018-4878发动的攻击。攻击对象为数字货币交易所等,攻击事件所使用的样本都是docx文件,docx文件内嵌了一个包含漏洞攻击swf文件的doc文档。经分析,发现该恶意文档卸载的载荷为FALLCHILL远程控制木马最新变种,FALLCHILL木马是朝鲜的黑客组织Lazarus开发并使用的木马。
二、载荷投递
该次攻击依然采用该组织最常用的攻击方式,采用内嵌恶意文档的钓鱼邮件对攻击目标进行鱼叉攻击。投递的诱饵文件具有极强的迷惑性和诱惑性。
1) 诱饵文档内容
本次共捕获三个不同的诱饵文档,分别伪装成协议、最流行的加密货币交易所的安全分析、IT安全等热门话题。最终使用的漏洞以及漏洞触发后执行的恶意代码均相同,可确定是同一个打包器生成的。
图1)诱饵文档内容
Filename | MD5 |
---|---|
IT Security-BOSEN.docx | 66eb4b505f1ae8308fb73906e7d245af |
Security analysis of the most popular cryptocurrency exchanges.docx | 1b3ebec6ce48241c6715e19713a95f1b |
AGREEMENT.docx | 3b1f4d1d0d7a40b449244b8a9e1649ae |
表1)捕获的攻击文件列表
图2)攻击文档结构
2)CVE-2018-4878漏洞原理
CVE-2018-4878与2017年10月发现的0Day漏洞CVE-2017-11292一样,都位于Flash的com.adobe.tvsdk包中。CVE-2018-4878是一个UAF漏洞,需要借助强制GC或者刷新页面来触发该漏洞。
POC关键代码如下:
图3)关键代码
MyListener是一个继承自DRMOperationCompleteListener类的对象:
图4)关键代码
将MyListener对象注册为MediaPlayer对象的一个通知回调接口,然后释放MyListener对象,但是在MediaPlayer对象中仍然保存着MyListener对象,当强制系统进行垃圾回收时,MediaPlayer对象的回调会执行,但此时MyListener已经被释放,从而导致了UAF漏洞。
以下所有分析的环境均是win7 32os,flash版本为28.0.0.137。
下图是POC在IE运行时crash位置:
图5)crash位置
ecx正是MediaPlayer对象里的DRMManager成员,偏移0xC处存放的正是MyListener对象,可以看到MyListener对象已经被释放了。
图6)关键代码
3)漏洞利用分析
漏洞通过修改Flash脚本对象ByteArray的长度为0xFFFFFFFF,从而实现任意地址读写。其后的利用技术与HackingTeam曝光所使用的exploits一致,不再做详细阐述。
在HackingTeam泄漏事件后,Vector这种能简单稳定的用于漏洞利用中实现任意地址读写的方式迅速传播开来,Adobe随后对Flash采取了一系列的安全加固措施,包括堆隔离、对Vector、ByteArray等常见可被利用的对象进行长度校验、数据区校验等安全验证措施,这些措施在一定程度上增加了Flash漏洞攻击的难度,但并不能完全阻止此类攻击。在这次利用中,ByteArray就被用来实现任意地址读写。ByteArray的结构包括两部分,第一部分结构如下,其中一个关键成员是m_buffer:
图7)ByteArray结构
m_buffer中包含了该ByteArray的数据区地址array,数据区的容量,长度等重要值,紧挨着存放的是这几个值的加密备份,当Flash检测到可能因漏洞利用程序而导致这两个值不一致时,就会触发异常终止执行。该结构如下:
图8)结构代码
触发漏洞,修改m_buffer的值,使得array地址为0,而容量和长度修改为0xFFFFFFFF:
图9)漏洞触发关键代码
进而在32位地址空间下实现了任意地址读写。
4)ShellCode分析
该Shellcode的一大特点是所有系统api都是动态获得地址然后再调用。
图10)shellcode关键代码
ShellCode运行后,将自己注入到桌面管理器explorer.exe中。在explorer.exe中访问falcancoin.io获取恶意dll并加载。
图11)shellcode关键代码
三、RAT分析
1)RAT行为:
从falcancoin.io/data/package32.zip(32位版)和falcancoin.io/data/package64.zip(64位版)下载回来的文件是一个远程控制木马,能够实现远程文件操作、远程进程操作、远程信息获取、自卸载等各种功能。
木马使用http协议进行通信,内置了3个c2地址,分别如下表:
C2 | 当前指向IP | IP参考归属地 |
---|---|---|
www.530hr.com/data/common.php | 107.151.163.68 | 美国 |
www.028xmz.com/include/common.php | 45.34.66.30 | 美国 |
168wangpi.com/include/charset.php | 104.217.233.68 | 美国 |
表2)c2信息表
图12)精心构造的post数据包
图13)木马内置的三个C2地址
图14)命令分发,一共支持27种远控指令
2)辅助模块
我们在分析过程中,服务器还下发了部分辅助模块到本地加载执行,其功能分别如下:
文件名 | MD5 | 功能描述 |
---|---|---|
SysxHn32.dll | 1940bcf534d51fe5cd083b17041c6dc0 | 读取%TEMP%\~tmp117.tmp文件内容,将读到的内容作为命令执行(存储的是文件路径信息) |
mtmnsi.dll | ed5458de272171feee479c355ab4a9f3 | 使用AES解密C:\Windows\SoftwareDistribution\Download\c4654f9e3710c20a1a4b62256d904b03452fcbcc文件,得到PE文件内存加载执行 |
SysxVer32.exe | 836cd7d0da6bbf68c61465e73249e04b | 将运行时命令行参数传入的数据(文件路径)写入到%TEMP%\~tmp117.tmp文件中 |
juzwf.exe | 1379a943530c651ac26a58e0f2b36532 | 将运行时命令行参数传入的dll文件拷贝到系统目录中,并注入到系统svchost.exe进程中,并设置开机自启动SYSTEM\CurrentControlSet\Control\Lsa 值:Security Packages |
表3)相关辅助模块信息
图15)SysxHn32.dll核心代码
图16)mtmnsi.dll核心代码
图17)SysxVer32.exe核心代码
图18)juzwf.exe核心代码
3)关联分析
经过分析溯源,发现该RAT代码与FALLCHILL木马具有较高的相似度,在部分代码细节、远控命令分发、总体逻辑流程上具有非常明显的相似性。在api加密、通讯协议伪装上有较大变种改进。FALLCHILL木马被认为是朝鲜背景的APT组织Lazarus Group 所用。该RAT文件的资源语言为朝鲜语,也从侧面印证与Lazarus组织的相关性。
图19)RAT资源中的语言信息为朝鲜语
从Adobe漏洞公告致谢来看,CVE-2018-4878这个漏洞的野外攻击样本最早是由韩国计算机应急响应小组(KR-CERT)发现的,而KR-CERT也表示,来自朝鲜的黑客组织已经成功利用这个0Day 漏洞发起攻击,与Lazarus主要攻击目标一致。
图20)入口核心代码逻辑相似(左侧为FALLCHILL,下同)
图21)部分特征代码及其相似
图22)远控核心命令分发逻辑相似,功能相似
此外,我们通过本次攻击样本与历史样本进行关联分析,发现此版本FALLCHILL最早出现于2017年初,通过样本的出现时间和C2的活跃时间可以发现该组织是持续活跃的。关联到的样本hash及相关C2信息见文章附录。
四、总结
Lazarus APT组织擅长使用邮件钓鱼进行鱼叉攻击,同时武器库强大,具有使用0Day发起攻击的能力。而从披露的该组织的活动来看,该组织发起攻击的规模都巨大。虽然该组织的攻击活动被不断的披露,但是该组织从未停止攻击活动的脚步,相反攻击活动还更加的活跃,同时还把攻击目标不断扩大,从能源、军事、政府等部门到专项金融机构,尤其是数字货币交易所等。因此,我们提醒政府、企业等广大用户,切勿随意打开来历不明的邮件附件,同时安装安全软件。
目前,腾讯御界高级威胁检测系统基于腾讯反病毒实验室的安全能力,依托腾讯在云和端的大数据,形成了强大且独特的威胁情报和恶意检测模型,凭借基于行为的防护和智能模型两大核心能力,能高效检测未知威胁,并实时阻拦此类钓鱼邮件、恶意宏文档、证书管理程序白利用等攻击方式。
图23)腾讯御界图
五、 附录(IOCs)
hash:
3b1f4d1d0d7a40b449244b8a9e1649ae
1b3ebec6ce48241c6715e19713a95f1b
66eb4b505f1ae8308fb73906e7d245af
12c786c490366727cf7279fc141921d8(package32.zip)
c6801f90aaa11ce81c9b66450e002972 (package64.zip)
c2:
www.028xmz.com/include/common.php
168wangpi.com/include/charset.php
falcancoin.io/data/package32.zip
falcancoin.io/data/package64.zip
关联IOC:
hash:
f3d6a7b317dfb80dab7a9115691c0016
29e273fcfee8c5a90f4de6214a0fde87
75f2972cc953e26f8fc43eb0456fdc7a
74e609f63f5ce332ef58af6b1c95de77
b778d887a3649fba57a8fb64852ad071
C2:
www.paulkaren.com/synthpop/main.asp
www.shieldonline.co.za/sitemap.asp
ando.co.kr/service/s_top.asp
ansetech.co.kr/smarteditor/common.asp
mileage.krb.co.kr/common/db_conf.asp
www.kcnp.or.kr/include/license.asp
kosic.or.kr/common/mod_parametcr.asp
daedong.or.kr/inc/imagescale.asp
hyeolgongdo.com/commonness/header.asp
www.jeynet.com/include/top_menu_left.asp
edu4.co.kr/bbs/bbs_post.asp
*本文作者:腾讯电脑管家,转载请注明来自FreeBuf.COM