对窃取银行账户登录名和密码的恶意chrome扩展程序分析 - 嘶吼 RoarTalk – 回归最本质的信息安全,互联网安全新媒体,4hou.com

对窃取银行账户登录名和密码的恶意chrome扩展程序分析

xiaohui Web安全 2018年6月13日发布

导语:名为DesbloquearConteúdo的谷歌浏览器扩展程序专门针对巴西的网上银行进行攻击,此恶意扩展的目的是收集用户登录名和密码,然后从他们的银行账户窃取资金。

360截图16220501111129138.jpg

浏览器扩展程序让我们的生活变得更加轻松:它们隐藏了令人厌烦的广告,翻译文本,帮助我们在网上商店中进行选择等。不过这些都是好的方面,还有一些不太理想的扩展,包括那些通过广告轰炸或收集我们活动信息的扩展。然而,与主要目的是金融诈骗的扩展相比,那些危害都显得微不足道。为了保护客户,研究人员自动处理大量来自各种来源的扩展。其中就包括从Chrome网上应用商店下载和分析可疑的扩展程序,但一个扩展最近引起了研究人员的注意,因为它与一个可疑的域进行了通信。

名为DesbloquearConteúdo的谷歌浏览器扩展程序(葡萄牙语,意思是“解锁内容”),它专门针对巴西的网上银行进行攻击,因为研究人员目前发现的所有尝试安装都发生在巴西。此恶意扩展的目的是收集用户登录名和密码,然后从他们的银行账户窃取资金。卡巴斯基实验室检测到扩展名为HEUR:Trojan-Banker.Script.Generic。

1.png

卡巴斯基检测到的fundo.js脚本(扩展组件之一)的地理分布 

截至本文发布时,该恶意扩展程序已从Chrome网上应用店中被删除。

2.png

Chrome网上应用店中的恶意扩展

恶意扩展的攻击过程

恶意浏览器扩展通常使用不同的技术(例如混淆)来阻止安全软件的检测,然而,本次发现的这个特定扩展的开发者并没有混淆它的源代码,而是选择了一种不同的方法。该恶意软件使用WebSocket协议进行数据通信,从而可以实时与C&C服务器交换消息。这意味着当受害者访问一家巴西银行的网站时,C&C开始充当代理服务器,扩展将重定向流量。本质上,这是一个中间人攻击的方式。

注:WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并被RFC7936所补充规范。

DesbloquearConteúdo扩展包含两个JS脚本,分别是fundo.js和pages.js。

fundo.js

捕捉到的脚本代码中,最吸引研究人员的是函数websocket_init(),该函数可以建立WebSocket连接,然后从服务器下载数据(ws:/ exalpha2018[.]tk:2018)并保存到chrome.storage中,它位于密钥“manualRemovalStorage”下。

3.png

通过WebSocket连接,从C&C下载数据

4.png

由扩展程序下载和保存的数据

联系hxxp:/ exalpha2018[.]tk/contact-server/?modulo=get,扩展接收将重定向用户通信的IP地址。

5.png

从C&C服务器收到的IP地址

6.png

所有用户通信的IP被重定向

这里值得一提的是代理自动配置技术,由于目前的浏览器使用的是JavaScript编写的特殊文件,它只有一个函数:FindProxyForURL。使用此函数,浏览器就会自动定义要使用哪个代理服务器来建立到各个域的连接。

在function_pac_script函数调用时,fundo.js脚本就会使用代理自动配置技术。这将导致FindProxyForURL函数被一个新的函数取代,该函数会将用户流量重定向到恶意服务器,但只有当用户访问巴西银行的网页时才会这样。

7.png

更改浏览器设置以重定向用户流量

pages.js

在这个脚本中,以下代码段是最重要的。

8.png

在属于银行的网页上执行下载的恶意代码

就像fundo.js一样,从服务器下载的数据被保存到manualRemovalStorage。这些数据包括几家巴西银行的域名以及浏览器在用户访问相关网站时应执行的代码。

pages.js会从域 ganalytics[.]ga下载以下脚本并在受害者登录银行网站时,启动它们:

ganalytics[.]ga/bbf.js,

ganalytics[.]ga/bbj.js,

ganalytics[.]ga/cef.js,

ganalytics[.]ga/itf.js,

ganalytics[.]ga/itf_new.js.

9.png

用于尝试联系ganalytics[.]ga的统计信息

以上所有脚本都具有相似的功能,并且旨在窃取用户的登录凭据,让我们来看看其中的一个。

cef.js

该脚本的功能之一,就是将特定的HTML代码添加到网上银行系统的主页面。

10.png

添加到网页中的恶意代码

仔细查看与服务器通信后,返回的那些代码,你就会发现攻击者需要收集银行网站上用于身份验证的一次性密码。

11.png

收集用户的一次性密码

如果用户处于输入登录名和密码的页面上,脚本除了创建一个假的“Enter”按钮,还会创建单击此按钮的函数。而窃取的密码则会存储在该函数的cookie文件中,以便以后传送到C&C。之后,真实的“Enter”按钮就会被覆盖且隐藏。

12.png

创建“Enter”按钮的副本,并截获在线银行服务的登录名和密码

这么一来,收集的用户帐户和密码就会被发送到网上银行系统以及恶意服务器中。

13.png

将所有截获的数据发送给C&C

额外的分析

另外,研究人员还对对攻击中使用的网络资源,进行了额外的分析,他们从中得出了一些有趣的信息。特别是,前面提到的 ganalytics[.]ga是在加蓬域名区注册的,这就是为什么WHOIS服务没有提供有关它的许多信息。

14.png

ganalytics[.]ga的WHOIS信息

但是,其托管的IP地址也与其他几个有趣的域相关。

180605-mitm-extension-chrome-15.png

180605-mitm-extension-chrome-16.png

来自卡巴斯基分析的DNS数据片段

很显然,这个IP地址是与其他几个域相关联的,其中包含的关键字advert,stat,analytic都是巴西的域名区注册的。值得注意的是,去年秋天,这几个相关域都参与了秘密挖矿软件的传播,当用户访问巴西的合法银行网站时,用于采矿的脚本就会被下载。

180605-mitm-extension-chrome-17.png

180605-mitm-extension-chrome-18.png

与advstatistics.com[.]br相关的数据片段

当用户访问合法站点时,这些攻击者就会伺机加载恶意软件,要做到这一点,用户计算机上的流量就要被进行本地修改。从它针对巴西用户并且使用了以前攻击中使用的相同IP地址,研究人员可以看出,此浏览器扩展原来就具有将挖掘脚本添加到银行网站的扩展程序的能力。

总结

用于窃取登录名和密码的浏览器扩展是非常罕见的,但是,鉴于它们可能造成的潜在危害,安全人员需要认真对待。卡巴斯基实验室的研究人员建议:

用户只能在Chrome网上应用店或其他官方服务中安装经过验证的扩展。尽管这些扩展服务的开发者采取了保护措施,但恶意扩展仍然可能会混迹其中。

如若转载,请注明原文地址: http://www.4hou.com/web/12064.html
点赞 0
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论