作者:启明星辰ADLab
原文链接:https://mp.weixin.qq.com/s/n3HcxJT-oDPeVMtekhXcIg

一、分析背景

2020年8月中旬,启明星辰ADLab发现了一起新型攻击活动,该攻击背后的黑客组织利用各种技术手段做掩护已经活跃了多年,但黑客组织及攻击活动的情报信息依然未被公开披露。本文将针对本次攻击活动及其背后的黑客组织进行深入分析,并公开我们溯源出的黑客组织成员以及其使用的基础设施、攻击工具、攻击手法等的信息。在分析攻击活动的过程中,我们发现该黑客组织不仅是针对企业进行定向攻击的黑客团伙,而且还是长期从事物联网攻击的惯犯。为了便于描述该黑客组织,我们将其命名为“海毒蛇(SeaViper)”组织,该组织具有APT攻击和物联网攻击的特性,定向攻击的目标集中在金融机构、政府事业单位、精密仪器、酒店和旅游业等相关的实体,物联网攻击涉x86、x64、arm、spc、mips、ppc等多个CPU平台,甚至还包含摩托罗拉的广泛用于街机和家用游戏机微处理器m68和m68k,以及日立的用于多媒体终端、电视游乐器或机顶盒的微处理器sh4。

“海毒蛇”曾经使用如CVE-2017-0199、CVE-2017-8570之类的office漏洞来攻击企事业单位,同时也使用了大量物联网设备的漏洞来构建物联网僵尸网络。从黑客的历史活动迹象上可以看出该黑客组织是一个以经济利益为目标的犯罪团伙。此外针对企业攻击中,“海毒蛇”首次利用了诱饵文档的批注信息来隐藏恶意代码,同时采用多级跳板、混淆加密等等手段来规避追踪与检测。

在溯源分析过程中我们发现,该黑客组织极有可能来自于南亚的某个国家,至少包含有6名成员,其中一位负责恶意代码的编写工作,其他人负责配置并投放恶意代码,溯源到的6名成员的名称来自于黑客所使用的计算机用户名(可能并不是其真实名称)。我们首先通过恶意代码的PDB路径及其广泛制作的恶意文件锁定了其中一个成员“Eng Moha”,其后通过大量的数据分析锁定了其他五名成员:“mnb joker”、“Lye Gomes”、“Joselio Bonin”、“Emanoel Brito”和“aSmarany”。其中,“Eng Moha”负责恶意程序开发、漏洞利用等工作,其他人负责攻击代码的配置和分发。在过去的一年多时间里,该黑客组织先后利用Gafgyt、Mirai木马组建僵尸网络进行DDoS攻击、并利用OneDrive云存储空间和鱼叉式网络等方式向商业公司投放AgentTesla、Remcos RAT和Masslogger窃密木马牟利。同时,“海毒蛇”还持有大量恶意域名和用于托管恶意文件的虚拟主机等网络基础设施。通过深度的关联,我们发现“海毒蛇”组织似乎与Gorgon APT组织还有一定关联。

二、追踪与溯源

2.1 缘起

2020年8月中旬,启明星辰ADLab监测到一封题为“电子转账付款账单”的恶意邮件,该邮件以“美国银行”的名义发起钓鱼邮件攻击,其附件为一个excel表格文件(图1为本次攻击的一个邮件样本,目标为美国阿拉巴马州亨茨维尔市公共事业公司“Huntsville Utilities”),通过多级代码跳转最终向目标植入Remcos RAT,以窃取目标主机的机密信息。在初步分析后,除了零散的样本信息外,我们没有在公开情报和私有情报库中找到任何与攻击及攻击背后的黑客组织相关的信息。通过对基础设施的关联分析,发现该黑客组织与多次物联网攻击有着紧密的关系,因此我们决定对本次攻击活动及其背后的攻击团伙进行一次摸底。我们很快关联到8月初另外几起相同手法的攻击,这几起攻击伪装成了“美国大通银行”和“美国富国银行”向金融机构“ENGS”投放攻击代码(图2)。

图1 伪装成美国银行的钓鱼邮件

图2 伪装成大通银行的钓鱼邮件

为了还原“海毒蛇”攻击活动的全貌,我们对其活动的线索进行全面地收集和分析,发现了他们使用的大量基础设施、定向攻击样本、使用的漏洞以及攻击物联网设备所使用的一些攻击武器,并进一步挖掘出了该组织的组成成员。

2.2 基础设施分析与溯源

在追踪黑客的初期,我们首选黑客使用的几个典型控制命令服务器进行分析,从定向攻击的几个样本中提取的基础设施来看,用于控制Remcos RAT的服务器“boyflourish.myq-see.com”解析到了IP为“79.134.225.32”的这台主机。同时,我们发现另外一个解析到该IP地址的黑客域名“rapture666.myq-see.com”,该域名是黑客另外一批Remcos RAT的控制命令服务器。由于黑客对使用的域名都做了隐私保护,因此从域名注册信息上无法进一步得到溯源线索。但黑客域名“rapture666.myq-see.com”所控制的这批木马文件让我们进一步找到了黑客的另外一个服务器“plaitt.com”,该服务器主要用于托管恶意代码。我们通过解析域名“plaitt.com”得到另外一个IP地址“104.219.248.49”,并通过该IP地址关联到了成百上千个域名,这些域名当前都同时唯一解析到“104.219.248.49”。起初,我们以为这些域名可能与黑客有关,但经过我们查证后发现这些域名均是正常域名,这些域名绑定的网站分布于“房地产公司”、“社区银行”、“网站设计公司”和“购物网站”等多个行业,也包含一些个人站点,部分域名信息如表1。

域名 说明
www.propiedadescarazo.com 房地产公司网站
www.carecounselling.co.uk 焦虑护理咨询网站
www.aerainfosolutions.com 网站设计公司网站
www.api.btcmagnum.com 数字投资公司网站
www.trustwalletbd.com 货币网站
www.celebgod.com 娱乐时尚网站
www.plaitt.com 恶意文件托管服务器
www.shayari.basantmallick.com 个人站点
www.younginnovatorslearning.org 个人站点
www.otechvich.com 购物网站
www.passionsq.com 旅游相关网站
www.fo2sh.info 个人站点
www.rockshorebank.com 社区银行网站
www.aliance-finances.com 金融公司网站
www.codycruz.com 个人站点

表1 关联到的部分域名

通过对IP地址“104.219.248.49”的验证,确认其只是一个CDN服务的中转地址。黑客组织在域名服务商“NameCheap(见图3)”上注册了“plaitt.com”域名并购买了CDN服务,利用NameCheap的CDN服务来隐藏黑客组织的存储服务器。图4是其目前仍使用的一个注册自NameCheap的恶意文件托管服务器地址,该地址托管了黑客的木马中转器、恶意脚本文件以及窃密程序。

图3 NameCheap CDN页面

图4 目前仍存活的恶意文件托管服务器

至此,使用以上方法我们已经无法找出更进一步的线索,但是我们得到了更多样本和黑客的活动时间信息。因此,我们转而对8月份攻击活动的另外两个存储服务器(IP:185.172.110.210 和185.172.110.214)进行分析,并找到了“海毒蛇”对这两台服务器的使用记录,表格2为我们整理出来的恶意代码上传记录。

时间 服务器 文件名 平台 备注
2020-08-14 185.172.110.214 dkhh/wit.jpg windows 加密的RemcosRAT
2020-08-14 185.172.110.214 dkhh/venus.vbs windows 下载RemocsRAT的vbs
2020-06-01 185.172.110.214 sensi.sh linux shellscript
2020-06-01 185.172.110.214 AB4g5/kiga.spc Linux spc elf gafgyt
2020-06-01 185.172.110.214 AB4g5/kiga.spc Linux m68k(摩托罗拉) elf gafgyt
2020-06-01 185.172.110.214 AB4g5/kiga.spc Linux arm elf gafgyt
2019-08-23 185.172.110.214 mips Linux mips elf gafgyt
2019-08-23 185.172.110.214 mipsel Linux mipsel elf gafgyt
2019-06-22 185.172.110.214 wet.i686 Linux i686 elf gafgyt
2019-06-22 185.172.110.214 wet.armv7 Linux arm elf gafgyt
2019-06-22 185.172.110.214 wet.arm4l Linux arm elf gafgyt
2019-06-22 185.172.110.214 wet.spc Linux spc elf gafgyt
2019-06-22 185.172.110.214 wet.mpsl Linux mpsl elf gafgyt
2019-06-22 185.172.110.214 wet.m68 Linux m68(摩托罗拉) elf gafgyt
2019-06-22 185.172.110.214 wet.mips64 Linux mips64 elf gafgyt
2019-06-22 185.172.110.214 wet.armv6 Linux arm elf gafgyt
2019-06-22 185.172.110.214 wet.armv5 Linux arm elf gafgyt
2019-06-22 185.172.110.214 wet.mips Linux mips elf gafgyt
2019-06-22 185.172.110.214 wet.x86 Linux x86 elf gafgyt
2019-06-22 185.172.110.214 wet.arm4tl Linux arm elf gafgyt
2020-08-04 185.172.110.210 dkhh/jut.jpg windows 加密的RemcosRAT
2020-08-04 185.172.110.210 dkhh/drop.vbs windows 下载RemocsRAT的vbs
2020-07-29 185.172.110.210 focm/ceeold.exe windows AgentTesla
2020-07-29 185.172.110.210 focm/artwokg.exe windows AgentTesla
2020-07-26 185.172.110.210 bins/Tuna.sh Linux shellscript
2020-02-26 185.172.110.210 bins/SSH.sh Linux shellscript
2020-02-26 185.172.110.210 bins/Jaws.sh Linux shellscript
2020-01-05 185.172.110.210 bins/Gpon.sh Linux shellscript
2019-10-14 185.172.110.210 bins/Cloud.arm6 Linux arm elf mirai
2019-10-14 185.172.110.210 bins/Cloud.sh4 Linux sh4(日立微处理器) elf mirai
2019-10-14 185.172.110.2107 bins/Cloud.arm Linux arm elf mirai
2019-10-14 185.172.110.210 bins/Cloud.m68k Linux m68(摩托罗拉) elf mirai
2019-10-14 185.172.110.210 bins/Cloud.ppc Linux ppc elf mirai
2019-10-14 185.172.110.210 bins/Cloud.mpsl Linux mpsl elf mirai
2019-10-14 185.172.110.210 bins/Cloud.x86 Linux x86 elf mirai
2019-10-14 185.172.110.210 bins/Cloud.arm Linux arm elf mirai
2019-10-14 185.172.110.210 bins/Cloud.spc Linux spc elf mirai
2019-10-14 185.172.110.210 bins/Cloud.arm5 Linux arm elf mirai
2019-10-14 185.172.110.210s bins/Cloud.mip Linux mip elf mirai

表2 文件托管服务器上恶意文件列表

从表2中我们可以看出,“海毒蛇”组织长期保持着对物联网攻击的兴趣,他们在过去一年时间里持续使用Gafgyt、Mirai等物联网僵尸以获取物联网攻击资源。从物联网僵尸的上传记录来看,他们至少从2019年6月(这个时间应该会更早,因为我们并不能看到该黑客组织的所有基础设施的使用记录)开始就利用Gafgyt、Mirai等物联网僵尸入侵物联网设备,以构建僵尸网络。2020年7月,使用OneDrive云存储空间作为媒介向目标投放AgentTesla窃密木马。2020年8月,开始利用钓鱼邮件向各企业投放Remcos RAT木马。这期间这些服务器同时依然存放着黑客的物联网攻击代码以供活跃的僵尸程序使用。

为了掌握更多的信息,我们加大了对该组织使用的物联网僵尸的收集,关联出1384个该组织使用的攻击样本,并通过ADLab物联网自动化分析平台对这些样本进行自动化分析,进一步关联出了100多个C&C服务器。分析结果表明,该组织以往几年常常利用华为HG532系列路由器漏洞CVE-2017-17215、爱尔兰公司“Eir”的D1000调制解调器TR064服务漏洞CVE-2016-10372、Realtek路由器漏洞CVE-2014-8361、D-Link Devices HNAP SOAPAction-Header命令注入漏洞CVE-2015-2051、D-Link DSL-2750B 系统命令注入漏洞等主流的物联网设备漏洞攻击并控制设备。图5是某个样本的攻击代码片段。

图5 样本使用的物联网漏洞

我们对这些样本的活跃数量和活跃时间进行关联统计,绘制了物联网僵尸活跃时间分布图,见图6。从这批样本的攻击时间来看,至少从2018年1月开始,攻击者就开始利用Gafgyt、Mirai组建物联网僵尸网络,然后利用组建好的僵尸网络进行DDoS攻击牟利。2019年3月攻击开始活跃,2019年10月出现了一个小高峰,攻击的最高峰则出现在2020年8月。

图6 物联网僵尸的活跃时间分布图

攻击者通过弱口令爆破或者漏洞利用成功攻击路由器、调制解调器等物联网设备后,使用shellcode下载shell脚本,再通过shell脚本下载基于多个系统平台的Gafgyt、Mirai木马程序感染目标设备,进而利用这些木马组建庞大的物联网僵尸网络。如图7,攻击者曾在2020年6月利用Gafgyt变种向HooToo路由器(包含有远程命令执行漏洞CVE-2018-20841)发起过持续一个月的网络攻击活动。

图7 利用Gafgyt攻击HooToo路由器

2020年7月前后,攻击者扩展了攻击活动,其在恶意文件托管服务器上增加了新的目录用于存放AgentTesla木马,然后利用OneDrive云存储空间传播并向攻击目标投放该木马(见图8)。

图8 利用OneDrive云存储空间传播AgentTesla木马

紧接着在2020年8月前后,也就是我们在8月中旬发现的这起攻击事件前后,该攻击者又开始利用鱼叉式网络钓鱼邮件向商业公司投放带有漏洞利用(CVE-2017-0199、CVE-2017-8570)或恶意宏代码的诱饵文档,进而向目标投放Remcos RAT木马。

“海毒蛇”黑客组织持有大量恶意域名和用于托管恶意文件的虚拟主机等网络基础设施,我们对掌握的该黑客组织持有的142个基础设施资源进行了地理位置分布统计,发现它们主要分布在21个国家和地区,其中分布较为密集的国家为荷兰、美国、加拿大、俄罗斯和德国,尤以“荷兰”和“美国”最为密集,分别是55个和31个,图9是我们绘制的 海毒蛇黑客组织基础设施全球分布图。

图9 海毒蛇黑客组织基础设施全球分布图

2.3 攻击目标

从攻击目标上看,“海毒蛇”组织是以获取经济利益为目的,因此其攻击目标应该是不限制的。虽然其同时瞄准了物联网设备,但从使用的恶意代码上来看,应该主要以构建僵尸网络为目的,最终也是以提供攻击服务为目标,所以具体攻击目标是不受限制的。但是,近期开始活跃的定向攻击看起来是有一定目标导向的,比如上文提到的攻击者伪装成美国银行和美国大通银行发起的定向攻击,因此这里我们主要以此类攻击为主进行攻击目标的确定。通过对近期攻击事件的分析,我们得到了31种不同的诱饵文档。这些诱饵文档的攻击目标主要集中在金融机构、政府事业单位、精密仪器、酒店与旅游等相关实体。

图10 攻击目标

攻击目标包含著名的商业金融公司“ENGS”、政府事业机构“Huntsville Utilities”,精密仪器设计公司“Precision Connector Design (Pcd)”等等。攻击使用的诱饵文档大多以“保密协议”、“预算表”、“付款通知”、“采购订单”、“订单确认”、“住客名单”、“发票”和“汇款”等命名,使用了包含英语、德语、波兰语、保加利亚语、罗马尼亚语、葡萄牙语、加利西亚语、意大利语、西班牙语以及马耳他语等十多种语言,可以说攻击者的攻击目标遍布全球。诱饵文档的内容有如酒店订单图片、行政客户预订时间表、预算图片,也有故意模糊化以诱使目标用户启用宏查看更清晰的图片。图11是我们绘制的攻击目标语种分布图,从图中可以看到占比最大的分别是英语、葡萄牙语和西班牙语。

图11 攻击目标语种分布图

2.4 黑客组织溯源

由于黑客的基础设施基本都做了隐私保护和CDN防护,在没有更进一步的数据和线索的情况下无法更深入地去深挖黑客组织。因此,我们希望从恶意代码入手来挖掘线索,寻找突破口,然后通过黑客对恶意代码的操作时间来做时区定位分析,确定黑客所在区域。 首先,该组织投放的诱饵文档是我们首要关注的,这些诱饵文档一般都是由黑客组织内部人员制作和分发。在恶意代码分析过程中,我们发现很多诱饵文档(大部分都是excel或者word文档)的创建者都来自同一个人——“Eng Moha”。一般情况下,诱饵文档的创建者都是黑客伪造的,但如果黑客未做这方面的考虑,该名称就会是黑客主机的用户名。起初我们也没太注意这个信息,直到我们在其中一款恶意代码上发现实际有效的证据。该名称位于恶意代码中未被清除的PDB路径中(见图12),该路径中明确指示了制作该恶意代码的计算机用户名,那么可以肯定“Eng Moha”就是“海毒蛇”黑客组织的关键成员。同时,我们还通过其他手段印证了该组织在制作、升级、修改和发布诱饵文档时,几乎都没有做诱饵文档的隐私数据处理。

图12 恶意代码中未被清除的PDB路径

编译时间也暗示我们该黑客是在2020年7月21日生成的该恶意代码,并在接下来的时间构建了一套完整攻击方案。接下来我们将“Eng Moha”作为重要线索来追踪并得到了一批更广泛的攻击样本,通过分析确认这些样本采用的攻击手法和本次攻击非常相似。更重要的是我们在这批样本中找到了该黑客组织的其他成员(“mnb joker”、“Lye Gomes”、“ Joselio Bonin”、“Emanoel Brito”和“aSmarany”等)。

这一系列攻击文档大部分都由“Eng Moha”创建,最早可追溯到2015年6月。通过创建时间溯源推断“Eng Moha”制作了最初的攻击模板文件,然后将模板文件分发给其他成员,这些成员会对恶意文件进行配置并传播出去。我们为什么会将他们认定为同一组织的成员呢?主要有以下三个原因:

1)这些诱饵文档都是向攻击目标投放Remcos RAT和AgentTesla木马程序; 2)他们都使用了高度一致的多阶段嵌套下载技术和极为相似的加密和混淆脚本来投递木马; 3)这些诱饵文档被某个黑客创建的时间和被其他成员修改的时间非常接近。比如:攻击文件“Ostatnia notatka.docx”是“Eng Moha”在2020/4/1 4:07创建的一个包含有漏洞(cve-2017-0199)的docx诱饵文档,而一分钟后,该文档就被“mnb joker”编辑修改;另外一个攻击文件的文件信息显示“mnb joker”在2019/8/8 18:13创建一个包含恶意宏代码的ppt文档,一天后该文档又被“Joselio Bonin”编辑。类似地我们找到了至少有5个黑客之间存在类似这样的关系,如表3。

诱饵文档名称 制作者 发布者 制作时间 配置时间
Ostatnia notatka.docx Eng Moha mnb joker 3/10/20 22:23 3/10/20 22:24
Споразумение за неразгласяване.docx Eng Moha mnb joker 3/11/20 23:41 3/11/20 23:42
Noul PO pentru AEC Amersham Pharma Ltd.docx Eng Moha mnb joker 4/1/20 04:07 4/1/20 04:08
CNH.ppt mnb joker Joselio Bonin 8/8/19 18:13 8/12/19 02:13
Order.dotm mnb joker aSmarany 5/25/20 06:09 5/25/20 06:09

表3 黑客关联关系

经验表明,如果这个几名黑客属于不相干的组织关系或者产业链的上下游关系,他们操作同一个恶意代码的时间不会如此接近,最短时间甚至只差几分钟,同时攻击手法也不会如此相似,因此我们推断这几个关联出来的黑客属于同一个组织,并且他们都是“海毒蛇”组织的成员。同时可以肯定的是,“Eng Moha”是该黑客组织负责漏洞利用和恶意代码编写的工程师,他为组织提供攻击代码,而其他成员负责维护基础设施、定制诱饵文档和攻击工具、分发和投放恶意代码等工作(见图13)。

图13 黑客成员协作关系图

更进一步的证据是,我们此后还发现这些黑客成员曾经使用同一个C&C服务器地址“gritodopovo.com.br”来控制恶意代码,当该C&C被曝光后,他们开始使用不同的经过隐私保护的域名作为C&C。此外,我们还发现这样的C&C服务器地址也曾经被APT组织Gorgon使用过,或许他们之间存在着某种关联,而且通过时区定位法发现他们同属于一个时区,但是我们依然没有证据证明两个组织之间的关系,因为他们的攻击目标和使用的武器差异都比较大。或许他们之间存在某种程度上的合作,那么极有可能“海毒蛇”组织和“Gorgon”APT组织一样位于巴基斯坦,后续我们会通过时区定位法来确定其所属的国家。(注:“Gorgon”APT组织是一个被认为来自巴基斯坦的攻击组织,在过去的2年里,该组织成员针对英国、西班牙、俄罗斯和美国的政府部门发动了一系列攻击)。

为了进一步确定“海毒蛇”组织所在的区域,我们对黑客的活动时间做了一个时区定位分析。首先我们尽可能多地收集了黑客基础设施上的文件创建时间、修改时间以及所有诱饵文档的原始时间,然后祛除日期信息保留时分秒信息,并将留取的时间数据归化成为UTC时间(见图14)。

图14 黑客活动时间分布

这里我们通过黑客活动时间来估算黑客可能的作息时间,以确定黑客所在地的时区。从图14中我们可以看出,黑客的休息时间主要集中在6:30到11:30,活动时间主要集中在11:30到19点之间(该分布时间是累积时间,即使黑客偶尔会打乱作息时间,但并不影响统计结果)。正常人晚上睡觉时间为23:30,起床时间为第二天凌晨6:30,那我们将这个时间映射到时区地图上便是深红色区域的国家(UTC+5时区左右,见图15),其中包括俄罗斯、巴基斯坦、哈萨克斯坦、乌兹别克斯坦、塔吉克斯坦等国家。

图15 黑客时区映射图

单纯通过时区定位法,我们是无法更进一步确认“海毒蛇”组织所在的具体国家的,但是从他们与来自巴基斯坦的“Gorgon”APT组织共用过同一个基础设施上来看,“海毒蛇”组织似乎位于巴基斯坦的可能性更大,我们此后还将持续跟踪,希望能够找到进一步的证据。

三、最新攻击案例分析

在此次攻击活动中,“海毒蛇”黑客组织使用了新型的恶意代码隐身技巧来隐藏恶意代码。在以往的此类攻击中,攻击者大多将恶意代码或数据存放在excel电子表格的单元格内容中隐藏显示,或者隐藏到VBA工程中的用户控件里,也有黑客将恶意代码放入文档的内建属性中。而在本次攻击中,黑客将恶意代码加密存放在了电子表格空白单元格的批注内容里,这种恶意代码隐藏方式在此类攻击中还是首次出现。恶意代码执行后,会通过多阶段的嵌套下载和解密执行来向受害者主机植入Remcos RAT木马。攻击过程中下载的多个中间文件都进行了代码变形、数据加密和垃圾数据填充,这样处理后的文件能在很大程度上绕过Web应用防火墙、入侵检测系统等网络安全设备的检测。

我们将最新攻击的整个流程绘制成如图16所示:攻击者将带有恶意附件的钓鱼邮件发送给美国阿拉巴马州亨茨维尔市公共事业公司“Huntsville Utilities”的员工,钓鱼成功后,附件中的恶意宏代码便会执行;恶意宏代码执行后会解密执行一个Powershell脚本,该脚本是一个下载器,其会从远程服务器下载一个恶意VBS文件;VBS文件执行后,同样会解密执行一个Powershell脚本,该脚本也是一个下载器,其会从远程服务器下载一个后缀为“.jpg”的恶意文件;该恶意文件并不是一个jpg格式的图片文件,而是经过字符变形和垃圾代码填充的Powershell脚本文件,该脚本文件执行后,会解密出内嵌在其中的两个PE文件并执行它们。这两个PE文件一个是Remcos RAT木马,一个是用C#编写的经过混淆的Dll注入器文件,负责把Remcos RAT木马注入到“RegAsm.exe”进程中执行。可以看到,攻击者使用了多阶段的嵌套下载和解密执行将木马植入到了受感染主机上,木马上线后会从攻击者控制的C&C服务请求指令来执行恶意操作。

图16 恶意攻击流程图

3.1 诱饵邮件投递

此次攻击始于一封将来源伪装成“美国银行”的钓鱼邮件(见图17),此邮件是发送给美国阿拉巴马州亨茨维尔市公共事业公司“Huntsville Utilities”的员工的。整个邮件看起来像是一个付款通知账单邮件:邮件以“美国银行美林付款通知”为主题,“电子转账付款账单-00130820”为诱饵文档名称,正文中简单描述了账单的支付方式和需要支付的金额,在邮件的末尾还提示这封邮件是发送给该公司的应收账款部门。

图17 钓鱼邮件

该诱饵文档被伪装成该公司8月份的付款通知账单,从诱饵文档打开后的内容(如图18所示)可以看到,整个excel表格仅包括一张图片,图片中的文字大意为:要想看到被保护的内容,需要启用宏选项。一旦受害者被诱骗启用了宏选项,恶意宏代码便会立即执行。

图18 恶意的邮件附件

3.2 恶意宏代码执行

恶意代码被加密保存在诱饵文档excel表格的D500单元格的批注中(见图19)。在以往的此类攻击中,攻击者大多将恶意代码或数据存放在excel电子表格的单元格内容中隐藏显示,或者隐藏到VBA工程中的用户控件里,也有黑客将恶意代码放入文档的内建属性中。而在本次攻击中,攻击者将恶意代码加密存放在了电子表格空白单元格的批注内容里,这种恶意代码隐藏方式在此类攻击中还是首次出现。

图19 以文档批注形式存放的恶意代码

恶意宏代码执行后,会首先使用“.ActiveSheet.Range("D500").Comment.Text”函数读取D500单元格批注里面的恶意代码,然后调用自定义的“Reverse”函数逆序排列该恶意代码,最后调用自定义函数“eZoKg”启动Powershell进程执行该恶意代码(见图20)。

图20 恶意宏代码

最后执行的恶意代码是图21所示的一个Powershell脚本,不过该脚本执行的命令做了字符混淆处理。脚本在执行时先是将混淆过的字符串转换成字符数组,然后调用Reverse函数逆序排列该字符数组,再将逆序后的字符数组拼接成字符串,后面的操作是将字符串中的填充字符‘&’去掉再转化成16进制编码。经过这样的几步处理,执行命令就被还原出来了(见图22),从图22中我们可以看到该Powershell脚本实际上是一个下载器,它会从远程服务器http://185.172.110.214/dkhh/venus.vbs上下载一个VBS文件来执行。

图21 执行的恶意Powershell脚本

图22 还原后的执行命令

3.3 恶意VBS文件执行

托管在远程服务器的VBS文件的部分内容见图23,可以看到该文件经过了字符混淆和代码加密。

图23 VBS文件

VBS文件经过字符去混淆和代码解密,最终执行的Powershell见图24,我们可以看到这段Powershell也是一个下载器。其先是使用ping google.com的方式确定自身所在的受感染主机能够正常联网,然后调用Net.WebClient.DownloadString函数从远程服务器“http://185.172.110.214/dkhh/wit.jpg”上下载一个名为“wit.jpg”的文件。

图24 去混淆和解密后到Powershell

我们抓包得到的“wit.jpg”文件的部分内容见图25。可以看到文件数据经过了字符变形和混淆处理,这在很大程度上能够绕过Web应用防火墙、入侵检测系统等网络安全设备的检测,同时也增加了安全研究人员的分析成本。

图25 抓包得到的服务器返回的恶意代码

3.4 恶意“jpg”文件执行

名为“wit.jpg”的文件并不是一个jpg格式的图片文件,而是经过字符编码和加密混淆后的Powershell脚本文件。图26是该脚本文件还原后的部分内容,我们可以看到,经过混淆和变形后的可执行PE文件数据是以字符串的形式存储在脚本代码中的。脚本执行后会解密出内嵌在其中的两个PE文件并执行它们。这两个PE文件一个是Remcos RAT木马,另一个是C#编写的经过混淆的Dll注入器文件,其会将Remcos RAT木马注入到“RegAsm.exe”进程中执行,我们下文将对Remcos RAT木马进行分析说明。

图26 还原后的Powershell脚本文件

3.5 Remcos RAT木马分析

自2016年在暗网上的地下黑客社区开始出售以来,Remcos RAT非常活跃,基本上每个月都会发布两个左右的新版本。其具有键盘记录、屏幕记录、调用摄像头和麦克风进行录像录音、远程执行Shell命令、远程执行脚本、上传文件以及下载文件等功能。该工具由一家名为Breaking Security的公司发行出售,图27是Remcos RAT的官网界面。通过公开的信息可以发现,其已被黑客频繁地使用在各种攻击活动中。

图27 Remcos RAT的官网界面

此次攻击活动释放的Remcos RAT版本为Remcos Professional 2.6.0(见图28),该版本发布于2020年7月10日,目前Remcos RAT官网上最新的版本为2.7.1,发布于2020年9月14日。

图28 Remcos RAT的版本信息

Remcos RAT木马将其“工作”需要用到的配置信息包括C&C服务器地址、网络通信加密的key、互斥对象名、licence编号,以及和截屏、录音操作等相关的其他信息,使用RC4算法加密存储在其PE资源名为“SETTINGS”的数据块中(见图29)。数据块由三部分组成,分别是key的长度、key和密文数据,图29中第一个字节0x66为key的长度,紧接着被选中蓝底的数据为key,最后是密文数据。

图29 资源中加密存储的配置信息

Remcos RAT木马运行后会提取并使用RC4算法解密这些配置信息,图30是Remcos RAT木马提取SETTINGS数据的代码部分。

图30 提取SETTINGS数据的代码部分

RC4算法中sbox的初始化操作代码见图31。

图31 RC4算法的sbox初始化操作代码

解密出来的配置信息如图32所示,配置信息包括C&C服务器地址“boyflourish.myq-see.com:46617”、网络通信加密的key“C4C3E3D83BE2B509C679E52AD999FFF8”、互斥对象名“Buddha-UL8D7Q”、licence编号“DCB9C483DA3351BB8231C303CAA1CA0F”以及和截屏、录音操作等相关的一些其他信息。

图32 解密出来的配置信息

Remcos RAT木马会创建互斥体对象“Buddha-UL8D7Q”(互斥对象名称来自上面解密出的配置文件),以保证受感染主机当前只运行一份自身的实例(见图33)。

图33 创建互斥体

Remcos RAT木马会启动键盘记录线程来窃取受感染主机的键盘输入信息和剪切板数据。木马将窃取的这些信息保存在本地文件“%Appdata%\remcos\logs.dat”中。在以前的有些版本中logs.dat文件是加密的,不过在此次我们分析的这个版本中log.dat文件没有加密,数据的记录格式和之前的版本基本类似(如图34),木马后续会将收集到的这些记录日志发送到C&C服务器。

图34 记录日志文件内容

Remcos RAT木马会收集受感染主机设备信息用于上线。收集的设备信息包括:受感染主机的用户名、CPU信息、操作系统名称、键盘记录日志完整路径、木马的完整路径和版本等等(如图35所示),木马会将收集到的以上信息加密发送到攻击者控制的C&C服务器进行上线,通信使用的加密算法为同为RC4,密钥为“C4C3E3D83BE2B509C679E52AD999FFF8”(来自前文解密出的配置文件)。

图35 收集感染主机信息上线

成功上线后,木马则等待C&C服务器下发控制指令以执行恶意功能。木马解析C&C服务器控制指令的代码片段见图36。这些控制指令的功能包括执行文件管理、进程管理、键盘记录、屏幕记录、调用摄像头和麦克风进行录像录音、远程执行Shell命令、远程执行脚本、上传下载文件,注册表操作、安装卸载远控等,我们将主要的控制命令和功能描述列在表4中。

图36 木马解析控制指令的代码片段

控制命令 功能描述
0x01 获取受感染主机最顶端程序标题
0x03 收集受感染主机所有已安装软件的相关信息,包括其软件供应商信息、版本信息、安装的路径信息、安装的日期等
0x04 从给定的URL下载文件并执行
0x05 接收从C&C服务器发送的文件并执行
0x06 收集受感染主机所有正在运行的进程信息
0x07 结束指定的进程
0x08 枚举所有的窗口并获取窗口标题
0x09 关闭指定的窗口
0x0A, 0x0B, 0xAD 显示/隐藏指定的窗口
0x0C 获取指定窗口的PID
0x0D 执行指定的命令行命令
0x10 处理jpeg数据
0x11 关闭socket
0x12 收集键盘信息
0x13 启动在线键盘记录器
0x14 停止在线键盘记录器
0x15, 0x16 读取指定的文件并将其发送到C&C服务器
0x17 删除指定的文件或路径
0x18 清除IE、Firefox、Chrome等浏览器的登陆信息和cookie信息
0x1B 控制受感染设备摄像头
0x1D 记录受感染主机周围的声音信息并发送到C&C服务器
0x1E 停止记录受感染主机周围声音信息
0x20 删除指定文件
0x21 结束木马自身进程
0x22 卸载自身,同时会移除木马产生的相关文件
0x23 执行vbs脚本“restart.vbs”来重启自身
0x24, 0x25 更新木马,该命令会从指定的URL下载文件并执行
0x26 在受感染主机显示信息
0x27 注销用户,关闭系统或重启感染主机
0x28 获取受感染主机剪切板数据
0x29, 0x2A 清空受感染主机剪切板
0x2B 创建一个共享内存来共享数据
0x2C 从指定的URL下载数据并将数据共享到创建的共享内存中
0x30 连接给定的服务器并与之通信
0x31 在注册表中保存用户名
0x32 设置代理
0x34 执行服务控制,包括更改指定服务配置,启动、暂停、终止指定服务,将指定的服务状态返回给C&C服务器
0x8F 枚举指定路径的文件,并将文件列表发送给C&C服务器
0x92 设置受感染主机桌面图片风格
0x94 修改指定窗口标题
0x95 获取实时物理内存状态并报告给C&C服务器
0x98 向C&C服务器上传文件或从C&C服务器下载文件
0x9E, 0xA2 在感染主机播放警告声音
0xA3 控制受感染主机播放或者停止音频文件
0xAB 在受感染主机上提权,并将结果返回到C&C服务器
0xAC 在受感染主机显示弹出菜单

表4 C&C服务器的控制命令和功能描述

可见,一旦Remcos RAT被成功植入到目标主机,其背后的黑客便可完全控制这台主机,对其进行监控、数据窃取甚至是破坏活动。

四、总结

本文中,我们对“海毒蛇”组织使用的基础设施、攻击武器、活动历史等信息进行了全面而深入的分析,并结合活动时间分析以及时区分析等方法对该组织的成员及其所属国家进行溯源追踪,发现了其中的六名黑客成员并分析了该组织与“Gorgon”APT组织之间的关系,最后我们对最近出现的一次攻击进行了详细的逆向分析。 从我们分析的结果来看,“海毒蛇”组织持有大量恶意域名和用于托管恶意文件的虚拟主机等网络基础设施,同时还利用物联网僵尸控制大量的物联网设备,其同时具备APT攻击和物联网攻击的特性。在最近的这次攻击活动中,黑客还定制了大量的具有迷惑性的诱饵文档来捕获目标。“海毒蛇”组织善于使用加密和变形的恶意脚本来躲避Web应用防火墙、入侵检测系统等网络安全设备的检测,其恶意脚本通过多阶段的嵌套下载和解密执行,以从远程服务器下载更多的恶意程序执行。

鱼叉式钓鱼具有定制化、精准化的特性,且具有很强的迷惑性,一旦员工不慎点击了钓鱼邮件,就可能会对企业带来严重的后果。黑客可以将窃取到的数据转售谋利,或者利用这些数据进行更进一步的攻击活动。除此之外,攻击者还可以使用鱼叉式钓鱼攻击部署恶意软件来劫持计算机,将目标计算机所在的网络变成可用于DoS攻击的庞大僵尸网络。建议企事业单位不定期为员工举办安全教育培训,提升员工的安全防范意识。务必注意不要随意打开未知来源的电子邮件,特别是带有附件的电子邮件。如有需要,可通过打开office文档中的:文件-选项-信任中心-信任中心设置-宏设置,来禁用一切宏代码执行。并做好邮件系统的防护工作,督促员工及时更新系统和office应用补丁。如果发现系统或服务器出现异常,应当及时报告并请专业人员进行排查,以消除安全隐患。

五、IOC

部分IOC列举如下:

Hash 说明
c1ad13e65ca16578fe507339eb92ee40 诱饵文档
b687bbc1c9ab0d3b2313766d38b3db61 vbs脚本
f2dbb624c007f0d041f6646638f4976d Powershell
71ebdb4ebcef964c45193e2df0968ade 注入器
31539c9ae3f23ef851ca6e9a3c59227e Remcos RAT
d77e6878fe18848abd4264ed7641ad33 诱饵文档
085f0912018f137fc35173a2f118712b Remcos RAT
2f0126e9145e12a1e9b498ca55d3a245 诱饵文档
c8fdf886ae4301918b79995330634a37 vbs脚本
e5a478872b61c8b4ff309d38954874b9 Powershell
143c76586eb02d515ae68046c34849fe 注入器
dc295718025e3cc7013db7df026ad3ad Remcos RAT
6da083f6d4ddda45cc06b257ea43e6de 下载器
95dac87cec4a40d4626ee710402c1d70 Powershell
3da5021331de7a4593219b93fe9ac5ba Masslogger
0a4fa8c861ed733b116ce6ed790629d0 Powershell
4f00af0f16b5010ba7a0c4ecca7312b0 Powershell
eb1ac927ff3f3a9f2230cb4138389fe7 Mirai
db23c3dbb5d21d6daab22c548a3b6522 Mirai
4703788977bd0d98d41531766fa91e98 Gafgyt
f63a7d569c019de1f0ff401c4cc22b41 Gafgyt
……
IP和域名 说明
185.172.110.214 恶意文件托管服务器
185.172.110.210 恶意文件托管服务器
185.244.30.243 C&C服务器
79.134.225.32 C&C服务器
boyflourish.myq-see.com C&C服务器
rapture666.myq-see.com C&C服务器
plaitt.com 恶意文件托管服务器
……

Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1350/