导语:本文将介绍BackSwap的进化过程、唯一性、成功性以及失败的地方。文中会介绍恶意软件不同版本和攻击活动的概览。

本文将介绍BackSwap的进化过程、唯一性、成功性以及失败的地方。文中会介绍恶意软件不同版本和攻击活动的概览。

BackSwap概览

Zbot, Gozi, Dridex, Carberp等都是比较常见的银行木马。多年来,银行木马恶意软件找出高级以及复杂的方式来窃取银行木马和信用卡详情,并滥用这些信息来偷钱。

大多数银行木马会注入代码到受害者的浏览器内存中以达到窃取信息的目的。注入的代码会hook浏览器中的通信以拦截私有的银行数据。拦截的数据之后会发送给攻击者。但这种方法比较复杂和不稳定,因为注入的代码要适应不同的目标浏览器。而且攻击者必须追踪驻留浏览器快速变化的代码,这是一个非常大的挑战。

BackSwap是一个简单但是非常有效的银行木马,将自己隐藏在大量的主流和合法软件之中,比如7-Zip、FileZilla和Notepad++。从表面上看,该程序的可执行文件是非恶意的,但攻击者注入的代码最终会在用户启动前面提到的应用时执行。

BackSwap进化史

过去几个月,研究人员发现了Backswap的上百个样本,并且看到这些样本中出现的很多的变化。通过分析这些数据,研究人员将样本进行分组并分析了恶意软件行为发生的变化。

早期版本

BackSwap的第一批样本是2018年3月中旬出现的。样本中并没有对payload进行混淆,只是插入到原始程序(比如7-Zip、WinGraph和SQLMon)中去。根据恶意软件中的一些字符串,可以推断攻击目标是波兰,每个样本攻击目标是波兰的1到3家银行。最常见的目标银行网站是ipko.pl,24.pl和mbank.pl。

初始版本的另一个特征是对每个目标银行都保持一个加密资源,使用的加密方法就是使用0x9进行一个简单的XOR运算。虽然该加密方法非常弱,但BackSwap一直在使用。Web注入代码含有占位符“xxxxxxxxxxxxxxxxxxxxxxxxxx”,是恶意软件用来保存窃取的银行交易信息的IBAN。当受害者进入目标银行网站并且需要进行交易时,web注入代码就会用前面提到的IBAN替换目标IBAN,这样受害者就会把钱转入攻击者账户中。

2018年4月,更多的银行被加入成为目标,一些样本甚至含有最多6个不同的资源。Web-inject代码的JS实现使用浏览器窗口的标题改善了与PE二进制文件中代码交互的方式。Shellcode会检查浏览器标题文本的变化,并抓取这些信息发送WebInjects。恶意软件PE的后台线程会将窃取的信息保存到计算机的日志文件中,并发送给C2服务器。

4月中,BackSwap开始在目标网站的DOM中创建假的输入对象。这些假的输入域看起来和真的一模一样。但当用户填假的域时,原始域就会隐藏并包含攻击者的IBAN信息。同时,恶意软件使用新的注入技术将恶意JS传递到URL地址栏。

4月底,BackSwap第一次使用XOR key来加密资源,这次使用了0xb。这一变化使BackSwap的一大特性,最近出现的样本中每个都有一个不同的key。但使用的加密方法仍然是简单的XOR。除了XOR key的变化外,恶意软件开发者还将IBAN移到硬编码的web-injects javascript中了。

 

图3: 钱骡的硬编码信息

5月的web-injects中有一个负责复制特定字符串到剪贴板的函数copyStringToClipboard。复制的字符串中含有受害者填写的信息,由恶意软件PE中的线程负责读取和处理。

同月,研究人员发现BackSwap开始追踪受感染的机器数量,这是通过发送HTTP请求到主流的俄罗斯网站yadro.ru来实现的。该方法在从攻击者站点收集受害者位置信息非常有效和简单。而且安全产品很难将其标记为非法的。

BMP中加密的payload

2018年6月,BackSwap开发者引入了一个新的payload编码技术;在该技术中,的PIC是加密的,嵌入到一个BMP图片中,使用了BMP header的唯一性特征。

图4: 嵌入位置无关代码到图片中

BMP文件header是0x42,0x4D对应ASCII码的BM。这对十六进制数字也是有效的x86指令。下面是对这些字节的翻译:

 

BackSwap背后的攻击者就利用了BMP header来使其代码看似是无害的。指令执行后,JMP指令会开始PIC解密。解密路径非常简单,而且很容易分析。

 

第一个BMP图片非常抽象、很难理解,之后的都是基于真实图片的。第一个例子是著名电影Scarface中的一个场景。

最近的版本

2018年7月研究人员没有发现其攻击活动,8月新样本出现,这是恶意软件的一个拐点,因为攻击者利用这1个多月的时间加入了新的特征和功能:

首先,恶意活动转向攻击西班牙银行,彻底放弃了之前的波兰银行。

 

图5: BackSwap攻击的西班牙和波兰银行

其次,BackSwap改变了其保存web-injects的方式。之前对不同的目标银行保存在不同的资源中,现在将这些都融入到一个单一资源中,并用特定的分割关键词将web-inject代码段分隔开。8月份,研究人员共检测到两个分隔器,第一个是“[start:]”,第二个是“[fartu:]”。目标银行网站也不保存在恶意软件的PIC中,而是保存在web-inject代码中。示例如下:

8月份发现的样本还使用外部网站来保存javascript payload。虽然web-injects仍然保存在被劫持的程序的.rsrc区域中,但只是一个封装,并从其他服务器导入恶意JavaScript代码。将恶意代码保存在第三方服务器上不太稳定,因为安全供应商和网站本身都可以删除恶意页面。

 

BackSwap还在8月份引入了许多BMP图像。8月底,研究人员发现犯罪分子在普京的照片上加入了一些比较幼稚的文本内容来对抗杀毒软件。

 

图6: BackSwap的PIC嵌入在普京的照片中

 

之后研究人员发现攻击者对PIC payload进行了修改,尤其是加密层和一些垃圾代码,这会使分析过程变得很复杂,并且使恶意软件更难检测。在这几个月的发展中,BackSwap在Javascript web-injects中引入了一些分割器,比如[mumuo:]、[pghtyq]等。

 

11月底的样本中引入了俄罗斯电视剧Seventeen Moments of Spring的图片。web-injects中分隔符也变成了[asap:]。恶意软件将信息从Javascript web-inject代码转变为PE中的可执行shellcode的方式也发生了改变。之前的版本中,BackSwap会通过剪贴板发送受害者的凭证和其他消息到shell code,新版本中通过浏览器的URL来发送同样的数据。

 

图7: Backswap最新BMP图片

 

图8: 发送给杀毒软件的图片

总结

虽然银行木马不再是网络犯罪分子偷钱的主要方式了,但BackSwap证明了这种获利方式还在进行中。事实上,恶意软件开发者还在不断在改善银行木马来避免被安全产品发现。

恶意软件证明了可以伪装为合法应用来绕过安全措施,因此用户应该注意不要从非授权的源去下载软件。因此,强烈建议用户从原发布商官网去获取软件。

源链接

Hacking more

...