Shifu:一款有趣的新型银行木马

阅读量258779

|

发布时间 : 2015-09-06 14:51:50

x
译文声明

本文是翻译文章,文章来源:安全客

原文地址:http://marcoramilli.blogspot.com/2015/09/shifu-new-interesting-banking-trojan.html

译文仅供参考,具体内容表达以及含义原文为准。

大家好,今天我想要给大家介绍一下“Shifu”,这是一款非常有趣的新型银行木马。说到这里时,你也许会认为:“现在网络中的安全威胁层出不穷,你为什么要选择“Shifu”来进行讨论呢?”

好吧…Shifu是一款新型的银行木马,实际上,它以日本银行作为主要攻击目标,它有良好的地理定位功能,而且它很有可能针对的是某一特定类型的组织机构。但是,让我为之着迷的地方在于,它从目前一流的恶意软件中汲取了很多先进的方法,并将这些功能集于一身。Shifu有以下功能:

-域名生成算法(DGA):Shifu使用了Shiz木马的DGA算法。该算法可以很容易地在网上找到,为了隐藏僵尸网络的通信数据,Shifu的开发人员在生成随机域名的过程中使用了这种DGA算法。

-从银行app中窃取数据:Shifu最基本的运行机制就是从Java applets中窃取用户的密码,身份验证令牌,证书密钥,以及敏感数据。这种类型的“作案手法”与Corcow和Shiz比较类似。这两种木马都使用了这样的机制来攻击俄罗斯和乌克兰的银行应用程序。Shifu也是一样,但俄罗斯银行只是其攻击目标的其中一个,日本银行才是其主要的攻击目标。

-Anti-Sec:Shifu的字符串混淆和反研究技术都来源于Zeus VM,包括anti-VM以及禁用安全工具和沙盒。

-隐身:Shifu的隐身技术来源于Gozi/ISFB木马,Shifu使用了与Gozi完全相同的命令执行模式来将自己隐藏于Windows的文件系统之中。

-配置:Shifu木马在进行配置的时候需要用到一个XML格式的配置文件,普通的木马病毒不会使用这种格式的配置文件,这与Dridex木马的配置文件有些类似。

-清除系统还原点:Shifu可以清除受感染主机本地系统的系统还原点,这与Conficker蠕虫(该病毒爆发于2009年)的工作机制有些类似。

-通信协议:Shifu使用了一个自签名的SSL通信层,这种工作机制使分析人员想起了Dyre木马。

其中另外一个非常有趣的功能是关于POS机的。这也使得情况变得更加的糟糕了,因为Shifu可以在POS机内存中搜索特定的字符串(以及交易处理过程)。如果它发现了目标数据,那么它就可以窃取信用卡的相关数据了。

Shifu在成功地感染了目标系统之后,它会确保该系统没有感染其他的木马。当Shifu被安装在了目标主机中以后,它会启动一个“反病毒”进程,该功能会定位系统中的“可疑”文件,并阻止它们安装在目标系统中。根据IBM公司安全情报部门的报告(这里),这款恶意软件很有可能是由俄罗斯的黑客团队开发出来的。

现在,让我们来研究一下它所执行的逆向工程,并看看这款恶意软件真正的工作机制是什么样子的。根据IBM公司提供的报告(链接在上方给出了),你也许会发现该恶意软件的签名(NmE5ZDRhMzIzOTg3NDg5YzhlOGI1NTc2ZjY3YjJjOTQ)可以用来在在线沙盒系统中寻找病毒样本。也许你已经观察到了,我已经采用了一些反调试技术和一些基本的沙盒逃逸技术了(如果你需要了解更多的详细信息,请查看malwarestats):

GetLastError, IsDebuggerPresent, GetVolumeInformations等等

我还发现,该恶意软件调用API的顺序十分的有趣:GetProcessAddress(从一个输出函数中获取地址,或者从一个指定的动态链接库中获取变量。)——VirtualProtect(堆栈)(在函数调用过程中修改虚拟地址空间中提交页面的保护区域。)——VirtualAlloc(保留,提交,或更改虚拟地址空间中的页面状态,该函数在进行内存分配的过程中,会自动对内存空间进行初始化。)——Sleep(当前正在执行的线程会被挂起,直到间隔时间超时。)——VirtualAlloc

我们在对病毒样本进行静态分析的时候,还发现了一些有趣的东西(如下图所示),即该恶意软件的动态加载库模式。你可以从中观察到,在第2861行,系统显示出了一个特殊的地址信息,并调用了LoadLibraryA来将该地址加载进了内存之中。

动态加载DLL

动态分析可以给大家清楚地展现出样本的功能(在我的实验设备中,PID为1388,父进程的PID为788)。不幸的是,逃逸技术检测到了沙盒的执行。下面的图片给大家展示了Phthon检测的相关信息,这也是该恶意软件其中的一种检测机制(有多少用户会在他们的Windows操作系统中安装Python环境呢?实际上并不会有很多)。

Python检测

多亏了命令行分析器,分析人员才可以顺利地完成字符串的反混淆。

命令行分析器

实验样本中所包含的地址:

-download.windowsupdate.com (191.234.4.50),即麻烦的来源。

-eboduftazce-ru.com (188.42.254.65)。这也就使得一切变得更加的有趣了,因为该域名在去年一年的时间内已经至少更换过两次服务器了。

WhoIS的查询数据

我们可以使用nmap来对其进行扫描,从扫描结果中可以看到,该网站使用的是nginx服务器,运行端口为80和443,服务器通过这两个端口与恶意软件进行通信,除此之外, TCP端口53也是开启的。我们在对服务器的行为进行了静态分析之后,得到了以下信息:

虽然看起来没有那么的意义重大,但cmd.exe的确扮演了一名英雄的角色。在这篇文章的结尾部分,我想要再次提到,这款软件嵌入了很多不同的技术,这些技术来源于很多年前的恶意软件,如果在加上一些新型恶意软件的技术,那么攻击者们就可以使恶意软件的代码变得越来越复杂。

本文翻译自安全客 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
lazynms
分享到:微信

发表评论

内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66