电商网站一直是网络犯罪分子关注的目标,通过攻击电商网站可以窃取个人信息、支付信息以及地址等信息。近期,研究人员发现有通过skimmer发起的攻击活动,其目的是监视用户输入,尤其是在线商城的输入,并将数据发送给攻击者。
研究人员分析发现电商网站使用的CMS系统和相关的插件都存在漏洞。而且网站管理员使用的口令比较弱,因此暴力破解攻击非常容易就可以破解。
调查是从新感染的Magento网站开始的。研究人员通过skimmer使用的域名发现与一个恶意软件有关,该恶意软件实际上是一款针对Magento, phpMyAdmin, cPanel的暴力破解器。虽然无法确定skimmer注入的方式,但研究人员相信这只是众多电商网站攻击活动中的一个。
被黑的网站
研究人员发现恶意代码被直接注入到网站的主页上,其中引用了一个外部的JS代码。也就是说电商网站被攻击者通过漏洞利用或暴力破解管理员密码等方式入侵了。
比如上面的电商网站运行着Magento CMS,使用OneStepCheckout 来处理客户的购物车。当受害者输入地址和支付信息后,这些数据就会通过POST请求以base64编码的方式发送给攻击者googletagmanager[.]eu。该域名已被标记为与Magecart威胁组织相关。
研究人员使用VirusTotal Graph分析发现了电商网站和Golang恶意软件直接的关联,具体来说是一个从恶意软件到被入侵的网站的网络请求。扩展后,研究人员发现恶意软件是另一个Delphi语言编写的二进制文件释放的。这是恶意软件通信的另一个域名集。
Payload分析
Delphi下载器
第一部分是一个两层打包的下载器(Trojan.WallyShack)。第一个是UPX,解包后研究人员看到了第二层:使用process hollowing技术的打包器。
该下载器非常简单。首先是从系统中收集基本信息,然后发送给C2服务器。可以看到域名是硬编码在二进制文件中的。
该元素的主要目标是下载和运行payload文件:
Golang payload
然后释放的payload文件会将自己安装到开始菜单文件夹中。首先复制%TEMP%中的bash脚本,然后应用到开始菜单文件夹。该样本并没有打包,从中可以看出是用Golang语言编写的,该文件为Trojan.StealthWorker.GO
查看以main_开头的函数,可以区分是否是要分析的二进制文件还是静态链接库。
研究人员发现多个含有Brut名的函数,表明该恶意软件的目的是暴力破解。
这是恶意软件样本与前面被黑的电商网站进行通信。下面介绍如何通信。
通信和暴力破解
Golang二进制文件执行后会连接到5.45.69[.]149,访问该IP会看到一个web网关:
僵尸主机会通过一系列HTTP请求向C2服务器报告说受感染的计算机已经准备好新的任务,然后接收指令。下面是僵尸主机尝试用/downloader/directory暴力破解Magento站点:
考虑到可能的密码组合有很多,暴力破解攻击可能会非常慢。因此,犯罪分子常利用CMS和插件中的漏洞而不是暴力破解的方法来发起攻击。使用僵尸网络来执行暴力破解攻击可谓省时省力。因为很多人仍然使用弱口令,因此暴力破解仍然是入侵web网站的一种有效方式。
攻击时间和其他连接
研究人员发现了Golang的多个不同变种,大多数是2月初被提交到VirusTotal的。
分析样本后,研究人员发现不仅仅有Magento暴力破解,有的僵尸主机还在攻击WordPress站点。当僵尸主机检查了服务器后,就会接收到一个新的域名和密码集。下图就是暴力破解phpMyAdmin的例子:
这种在线电商网站被攻击的事件刚发生几天。没有服务器日志也没有能力进行取证调查,因此研究人员只能假设一些被攻击的场景。
主要的弱点
在被攻击的系统中一般都存在多个弱安全项。从网站管理员不进行安全更新到使用弱口令,再到终端用户运行的受感染的计算机不知不觉的变成僵尸主机。总的来说,及时进行安全更新非常重要。对于暴力破解攻击,也有很多的防护方法,比如使用 .htaccess文件来限制允许登陆的IP地址。