几天前, 我们报告了 被攻击的Magento 网站利用伪装的 Flash 更新来植入信息窃取恶意软件。
在本篇文章中, 我们将揭示一种攻击,其和最近非常热门的话题相关——加密货币和挖矿。
信息窃取分析
我们发现的恶意软件二进制文件中挤满了 Themida, 因此文件分析没有提供很多有用的信息。快速活动分析显示为典型的信息窃取行为。最初的猜测是: 它是一个 Lokibot。
上周阅读了我们的帖子后, 恶意软件研究员 Paul Burbage识别出了一个与 Azorult v2.9具有相似功能的不同的信息窃取恶意软件。
Paul提到, 恶意软件还负责在受感染的计算机上提供加密货币矿工。在 Sucuri, 我们关注网站, 不分析客户端恶意软件, 但是, 我们也发现了这个攻击与加密货币矿工 的联系。
网站分析开始
当来自 MalwareBytes 的同事共享该恶意软件的 PCAP 文件时, 我分析了它对哪些网站所做的连接。
我注意到一个下载此文件的请求:
hxxp://frogloud[.]com/TOP/wp-content/uploads/2016/cmd.bin
VirusTotal 快速识别出了这个恶意软件, 检测率为21/66。
之后, 我立即注意到, frogloud [.]com 站点本身是一个合法但被黑客攻击的网站。除了恶意的 cmd. bin 文件之外, 该站点还有两个来自siteverification[.]online的可疑脚本.
hxxp://siteverification[.]online/lib/status.js 和 hxxp://siteverification[.]online/lib/lib.js 具有相同的内容, 并在隐藏的 iframe 中加载站点的主页:
脚本插入隐藏的 iframe
让我们检查一下那页。它似乎是 Apache 服务器的默认欢迎页面, 它尚未配置成真正的网站。
Apache2 Debian “默认” 页面在 iframe 中
没什么可疑的。如果有任何恶意软件, 它可能已经被删除, 因为这些脚本和 iframes 现在加载一个良性页面。
慢着!别这么快下定论!让我们先检查一下页面的源代码。
在 HTML 代码的底部的CoinHive 脚本
看吧!在 HTML 代码的底部有一个 CoinHive加密货币矿工和站点秘钥 “f63LSXxFY7jdZhns0PTiz67v8tU03If8″。
因此, 这些脚本实际上是在站点访问者的浏览器中注入一个 Monero 加密货币的 iframe。
相关感染
让我们检查其他感染相同恶意软件的网站。“PublicWWW”快速找到了1787个受感染的站点, 它们从siteverification[.]online提供恶意内容.
除了在frogloud[.]com 上发现 的 “status.js” and “lib.js” 文件, 也有一些其他的变种“info.js”, “stat.js”, 甚至一些直接的 iframe 注入。
就像我们在上一篇文章中看到的那样, 受影响的网站大多为 Magento。在扫描它们时, 我经常在同一站点上找到两种感染–来自 bit.wo[.]tc的伪造Flash更新和来自siteverification[.]online的加密货币矿工。
虽然这两种感染之间没有直接关系, 然而, 脆弱的站点可能同时受到不同黑客群体的感染。
我们还发现一些其他常见的感染共存于bit.wo[.]tc的伪造Flash更新中-例如, 旧的 Magento 重定向脚本, 或来自hxxps://onlinestatus[.]site/js/status.js (PublicWWW)的信用卡强盗。
Magento 恶意软件中的常见功能
另一方面, 有许多迹象表明, 这些最近的感染可能是相关的, 因为他们有许多共同的特点以及共存在同一地点。
恶意链接中的路径模式
- 伪造的Flash更新: bit.wo[.]tc/js/lib/js.js
- 信用卡信息窃取: onlinestatus[.]site/js/status.js.
- 加密货币矿工: siteverification[.]online/lib/status.js
- 加密货币矿工: hxxps://camillesanz[.]com/lib/status.js
默认Apache2 Debian页面
如果我们检查onlinestatus[.]site的主页, 我们将看到和siteverification[.]online相同的默认 Apache2 主页-这一次加密货币矿工没有出现。但是在同一台服务器上还有一个域 (185.202.103.37)-onlinestatus[.]stream-其 “默认的 Apache2 欢迎页面” 确实包含带有站点密钥 “ZjAbjZvbYgw68hyYGhrl7xgDEqUK9FiZ” 的注入加密货币矿工, 以及一个模糊的CoinHive JavaScript保存在一个文件中,而地址是一个熟悉的路径模式: onlinestatus[.]stream/lib/status.js。
api2.checkingsite.site
让我们回到由伪造Flash更新生成的流量PCAP文件, 我们看到了一系列的 POST 请求 api2.checkingsite[.]site (e.g. POST /2.0/method/checkConnection, POST /2.0/method/error, POST /4.0/method/installSuccess)。
我不会在这里推测这些请求的目的。对于我来说更重要的发现是checkingsite[.]site的IP—37.1.206.48。在加密挖矿攻击中使用的在线网站siteverification[.]online 具有相同的 IP。
这是伪造Flash更新恶意软件和Magento 站点上注入 CoinHive加密货币矿工之间的直接连接, 并且根据上面的信息, 我们也可以将这些攻击与 Magento 信用卡信息窃取联系起来。
Cryptojacking 360º
siteverification[.]online站点和伪造的Flash更新之间还有一个更直接的联系, 我最初忽略了。事实证明, 大多数受感染的站点都有两个注入 siteverification[.]online 脚本 (如lib/info.js and lib/lib.js) 是有原因的。
这些文件不是静态的。当您第一次加载脚本时, 您会得到与前一篇文章中所提供的相同的伪 Flash 更新脚本.——bit.wo[.]tc/js/lib/js.js 。但是, 所有后续请求都返回一个隐藏的 iframe, 其中带有 CoinHive 加密货币矿工或空文件。
Siteverification[.]online 脚本加载伪flash更新特洛伊木马程序
为了总结此攻击的新受害者的工作流, 第一个脚本加载了一个信息窃取特洛伊木马程序的假 Flash 更新Banner, 然后在受害者的计算机上安装加密货币矿工s。几乎同时, 第二个脚本在隐藏的 iframe 中打开基于浏览器的加密货币矿工。
顺便一谈, 这次攻击不仅仅依赖于采矿来获得加密货币。Azorult infostealer 最流行的特点之一是它能够从流行的比特币 (和其他硬币) 钱包中窃取私钥 (例如从 wallet.dat 和 electrum.dat 等文件)。
信用卡窃取向量也是如此。除了劫持 Magento 签出页的脚本之外, 特洛伊木马程序还将尝试从浏览器中窃取付款细节, 当受害者在线支付时。
这不是新的战役
当我调查完这次攻击的 Magento 方面时, 我决定检查 GitHub 的部分, 以进一步洞察。如果 Magento 恶意软件黑客已经存在自2017年中旬, 那么在2018年3月8日创建的 flashplayer31 Repository可能不是他们第一次尝试使用 GitHub 进行攻击。
我很快就发现了这个假说的更多证据。许多安全研究人员发现了这些伪造Flash更新。
- n 2, 2018: Fake Flash Updater is Actually Coinminer Malware with github[.]com/hoyttgio/Download/raw/master/log/flashupdate.exe
- Jan 18, 2018: Fake Flash update leads to Bitcoin Miner with github[.]com/vediwide/cpp/raw/master/bin/flashupdate.exe
- Feb 2, 2018: Fake Flash update leads to Bitcoin Miner. Part 2 with github[.]com/cilmenupse/downtime/raw/master/test/file/flashUpdate.exe
恶意软件并不总是伪装成 Flash 更新。去年 10月, 同样的伎俩被用在假的 “字体”下载中——github[.]com/Melicano01/wiwi/raw/master/upd.exe.。
快速搜索 UrlQuery 在各种 GitHub Repository中发现了一些类似的假 updaters。
- Feb 5, 2018: github[.]com/dizovoz/rui2/raw/master/flashUpdate.exe
- Jan 23, 2018: github[.]com/ikpt/Ex/raw/master/redis/flashupdate.exe
- Jan 19, 2018:github[.]com/zopihafo/SMPPClient/raw/master/SMPP/SmppClient/flashupdate.exe
- Jan 14, 2018: github[.]com/lqzo7/dragandrop/raw/master/flashupdate.exe
- Dec 28, 2017: github[.]com/lumaf/django-registration-templates/raw/master/registration/flashupdate.exe
- Aug 22, 2017: github[.]com/kul1337/3.0.43.124/raw/master/upd.exe
正如你所看到的, GitHub 从至少2017年8月起就被这种攻击所使用。一旦旧的被禁用,新的帐户和Repository就被定期创建。
正如我们在前一篇博文中推测的那样, 创建新的Repository并开始在现场攻击中使用它并不需要很长时间。在我们的博客帖子中, 到2018年3月15日, flashplayer31 帐户被 GitHub 禁用, 但第二天, 攻击开始使用一个新的 johnplayer32 帐户。