导语:思科塔罗斯(Talos)安全团队发表了一份关于GozNym僵尸网络的细节分析报告,原因是Talos团队的安全专家成功破解了该恶意软件所使用的DGA算法。

最近,思科塔罗斯(Talos)安全团队发表了一份关于GozNym僵尸网络的细节分析报告,原因是Talos团队的安全专家成功破解了该恶意软件所使用的DGA算法。

2015年4月, IBM公司X-Force团队的安全研究人员发现了一种新型银行木马——GozNym,该木马结合了Nymaim与Gozi ISFB的木马程序。其中,Nymaim最主要的功能是勒索,并且也是一个下载木马,可下载诸如Ursnif金融木马等其他恶意软件;Gozi ISFB则是一个金融木马程序,注入浏览器后黑客即可监控用户的浏览行为。GozNym木马程序融合了Nymaim与Gozi ISFB的程序码,兼具Nymaim的隐形与持久性,同时具备Gozi ISFB窃取金融信息的能力,其威胁性难以想象。

过去的这段时间里,GozNym木马已经针对全球的银行机构,信用合作社以及零售银行等发起了多起攻击。GozNym木马的受害者中有24家位于北美的金融机构和欧洲的一些组织,包括波兰的webmail服务供应商,投资银行以及17家波兰银行和一家葡萄牙银行的消费者账户等。

GozNym使用了四种不同的域名生成算法

现在,来自思科公司Talos团队的安全专家通过对该木马进行分析,已经确定了4种变体,这些变体因使用不同的域名生成算法(DGA,domain generation algorithm)而有所区别。

域名生成算法是一种允许恶意软件定期生成大量域名的算法,以此来和C&C服务器进行通信。

攻击者使用一个内含特制word文档的鱼叉式网络钓鱼邮件作为攻击向量,一旦受害者打开该文档并执行macro宏定义指令,VBA代码就会下载并运行GozNym木马。

一旦该恶意软件感染了系统,它就会通过google.com 和microsoft.com的DNS查询检查网络连接。在连接的情况下,它就会与DGA生成的命令和控制(C&C)域名进行通信,通过一个简单的gethostbyname()函数API调用或是通过一个复杂的DNS协议执行将8.8.4.4 或8.8.8.8作为其服务器。(8.8.8.8为谷歌的公共DNS主服务器,8.8.4.4为谷歌公共DNS备服务器,二者都是可以进行免费DNS查询的公共服务器的IP。)

GozNym木马的攻击详情

GozNym银行木马会劫持受害者的浏览器会话,并将其重定向到一个钓鱼网页。

Talos团队的安全专家鉴定了一些DGA变体,以下是恶意软件研究人员对其中一个变体的描述:

在DGA的第一阶段,一个Xorshift伪随机序列发生器的变体被用于创建一个包含15个域名的列表。每个域名都有5-12个小写字母的长度,后面缀上一个随机选择的TLD(如 .net,.com,.in或.pw)。随后,GozNym使用谷歌DNS服务器对每个域名进行查询,并检查IP反应的是否为公共地址。一旦解决了两种不同IP的问题,就可以将其用于DGA的第二阶段。

在第二阶段,恶意软件会使用第一阶段的方法创建了一个包含128个域名的列表,但是它会使用IP地址替换第一阶段中的硬编码 DWORD(即Double Word,为4个字节)。GozNym木马的DGA算法是非常复杂的,但是思科的安全研究人员已经发现了一些漏洞,可以帮助他们使用暴力手段预测域名。

Talos团队的安全研究人员已经发现了DGA算法的漏洞,可以帮助他们预测被GozNym恶意软件使用的域名,对恶意软件猎人来说最宝贵的消息是,大家可以利用 DNS sinkholes来分析该恶意软件。

安全专家已经能够概要性的对GozNym僵尸网络进行描述,他们使用的天坑(sinkhole)服务器在第一个24小时内就接受了23062个beacons。这就意味着,该僵尸网络大约由23062台机器组成,因为每一台机器只会发送一个beacons,除了沙箱这种情况例外,它可以从一小组IP中发出多次beacons。

最终统计,属于僵尸网络的特殊IP的数目为1854个。

如上图所示,接收到的beacon分布最多的国家分别为:德国(47%),美国(37%),波兰(11%),加拿大(1%),英国(1%)以及其他(2%)。

建议你可以查看Talos团队发布的分析报告,其中还包含一些脚本信息,可以用来分析GozNym样本。

源链接

Hacking more

...