揭秘银行木马Chthonic:网银大盗ZeuS的最新变种

  说到Zeus/Zbot,做安全多多少少都会有所了解。Zeus是对金融系统威胁最大的僵尸网络之一,控制者借助僵尸程序窃取账户登录信息和信用卡号码。Zbot往往通过垃圾邮件来传播,中招的会下载一个程序,这个程序会控制网银,偷取信息。近期卡巴斯基实验室发现了一款ZeuS的最新变种Chthonic。

  2014年秋季,卡巴斯基发现了一款新的银行木马,之所以引起了卡巴斯基的注意是因为:

  首先,从技术上来说这款病毒非常有趣,它使用了一种新技术加载模块。

  其次,通过分析它的配置文件我们发现,这款木马针对的是大量在线银行系统:超过150家不同的银行,还有来自15个国家的20个支付系统。主要针对来自英国、西班牙、美国、俄罗斯、日本和意大利的银行。

  卡巴斯基实验室将这款新病毒命名为Trojan-Banker.Win32.Chthonic。

  虽然经过大量修改,我们还是察觉到这款木马是ZeusVM的变种。Chthonic使用与Andromeda bots相同的加密器,与Zeus AES和Zeus V2木马相同的加密方案,与ZeusVM和KINS类似的一款虚拟机。

  感染方式

  Trojan-Banker.Win32.Chthonic感染主机有两种方式:

  发送带有exploits的电子邮件;

  使用Andromeda bot(Backdoor.Win32.Androm)下载到受害者主机上。

  发送带有exploits的电子邮件:犯罪分子会附上一个“精心制作”的RTF文件,文件会利用微软Office产品中的CVE-2014-1761漏洞。文件的使用的是.DOC后缀,为的是看起来不那么可疑。

  如果成功的话,受害者的主机就会下载一个downloader木马。上图例子中,这个downloader木马来自一个被攻陷的网站 —— hxxp://valtex-guma.com.ua/docs/tasklost.exe。

  Andromeda bot则会从hxxp://globalblinds.org/BATH/lider.exe下载downloader木马。

  下载木马

  一旦downloader被下载,就会向msiexec.exe注入代码。似乎这款downloader是基于Andromeda bot的源代码修改的,虽然两者采用了不同的通信协议。

  Andromeda和Chthonic downloader的相似之处

  Andromeda和Chthonic C&C采用了不同的通信协议

  Chthonic的downloader包含一个加密的配置文件(KINS和ZeusVM也使用了类似的加密)。配置文件主要包括:一个C&C服务器列表,一个用于RC4加密的16字节密钥,UserAgent和僵尸网络ID。

  调用虚拟机函数的主要过程

  解密配置文件后,内容即被以以下形式储存在堆内存中:

  这个过程没有传递指针。Andromeda bot会通过RtlWalkHeap函数检查每个堆元素,将起始的4个字节与MAGIC VALUE匹配。

  downloader会收集本地IP,僵尸id,系统信息,语言信息,uptime和其他信息,然后先用XorWithNextByte进行加密,再用RC4,接着把信息发送到配置文件中指定的一个C&C地址。

  发送信息后,木马会收到一个扩展加载器。不是标准的PE文件,而是一系列片段,加载器会把这些片段映射到内存,这些片段包括:可执行代码,重定位表,入口点,导出的函数和引入表。

  Andromeda和Chthonic中的import setup片段

  头文件

  扩展加载器中还包含一个使用虚拟机加密的配置文件。它会加载木马的主模块,然后主模块会下载其他模块。扩展加载器本身使用AES加密,而其他片段是用UCL打包的。主模块加载其他模块,建立引入表的方式与Chthonic downloader很相似。

  模块加载过程见下图:

  模块

  Trojan-Banker.Win32.Chthonic采用模块结构。至今为止我们已经发现的模块:

  名称                    描述                               是否有64位版本

  main             主模块 (v4.6.15.0 – v4.7.0.0)                 是

  info             收集系统信息                                  是

  pony             窃取保存的密码                                否

  klog             Keylogger                                     是

  http             Web注入和表单存取                             是

  vnc              远程控制                                      是

  socks            代理服务器                                    是

  cam_recorder     使用摄像头录视频                              是

  木马中有很多函数通过各种手段窃取在线银行的用户名密码。而VNC和cam_recorder模块能让攻击者远程连接感染的电脑并且进行交易,还可以用电脑的摄像头和麦克风录下视频音频。

  注入

  Web注入是Chthonic的主要武器:他们能够用木马在浏览器打开的网页代码中插入自己的代码和图片。攻击者能够借此获取受害者的手机号码,一次性密码和PIN,还有受害者输入的用户名和密码。

  例如,当用户访问日本银行时,木马会隐藏银行的提示警告,并且插入脚本,使得攻击者能够使用受害者的账号进行转账:

  在线网银网页截屏(注入前/注入后)

  注入的脚本中的函数

  注入的脚本也会显示很多假窗口,以获取攻击者想要的信息,如下图所示,窗口显示一个警告,警告用户账号认证有问题,提示用户输入交易验证码(TAN,Transaction Authentication Number):

  交易验证码输入窗口

  不过我们的分析发现针对俄罗斯银行的注入有点异常。当受害者打开一个在线银行网页时,网页的整个页面都被替换了,而不是像其他银行一样只注入一部分。木马会创建一个与原来窗口大小一样的iframe,覆盖原网页。

  下图是注入的代码的片段,这段代码会替换title与body结束标记之间的内容:

  脚本内容:

  如果注入成功,bot就会收到指令建立反向链接:

  覆盖区域

  病毒袭击了15个国家的150家银行和20个支付系统。攻击者主要针对英国、西班牙、美国、俄罗斯、日本和意大利的银行。

  Chtonic目标的国家分布

  值得注意的是,尽管配置文件的列表中有很多目标,但很多用于web注入的代码片段已经不能用了,因为银行更改了他们的网页,有的银行甚至域名都改掉了。另外,有些代码片段我们几年前在其他病毒(例如Zeus V2)的配置文件中看到过。

  总结

  我们看到ZeuS木马仍然在不断更新完善,加入新的技术。这得益于ZeuS源码的泄露。所以很多写木马的把它拿来当框架了,任何人都可以加入新功能满足需求。

  所以,以后我们无疑会看到更多的ZeuS新变种。

 

上一篇:智能无惧挑战 山石网科轰动RSA2015

下一篇:攻击索尼的黑客花费数月时间搜集各种密码绘制网络地图最