导语:Radware研究人员使用机器学习算法检测到一个0day 恶意软件Nigelthorn,该恶意软件利用Facebook进行传播,滥用Chrome扩展感染用户,还可以进行加密挖矿等。
2018年5月3日,Radware用机器学习算法检测到一个0 day恶意软件威胁。该恶意软件通过Facebook的社会工程链接进行传播,并通过滥用Chrome扩展来感染用户,该扩展可以执行证书窃取,加密货币挖矿,点击欺骗等。
经过分析,研究人员发现该组织从2018年3月起就开始活跃了,并已经感染了超过100个国家的10万用户。Facebook相关的恶意软件活动已经屡见不鲜了,比如facexworm和digimine,但该组织在此之前还没有被发现的原因是经常改变传播恶意软件的应用和使用了避免被发现的机制。
图 1: 恶意软件击杀链
感染过程
因为原始的Nigelify应用取代了Nigel Thornberry的图片,并且负责感染,所以Radware将该恶意软件取名为Nigelthorn。Nigelthorn会将受害者重定向到一个伪造的YouTube页面,应要求用户安装Chrome扩展才能播放视频。
图2 伪造的YouTube页面
一旦用户点击“Add Extension“,恶意扩展就会被安装,该机器也就会变成僵尸网络的一部分。该恶意软件是依赖于Chrome浏览器的,可以运行在Windows和Linux系统上。因为该攻击活动是针对Chrome浏览器的,所以Radware相信不使用Chrome浏览器的用户不会有风险。
僵尸网络统计
Radware收集了Chrome web store恶意扩展和Bitly URL缩短服务的统计数据。点击了add extension的受害者会被重定向到一个bitly URL,从这个URL还被再次重定向到Facebook。这是为了欺骗用户并获取对facebook账户的访问权。超过75%的感染发生在Philippines, Venezuela and Ecuador。剩下的25%分布在超过97个国家和地区。
图3 超过10万个受害者的Bitly注册链接
绕过Google应用验证工具
攻击活动的运营者创建了一些合法应用的副本并注入了一个很短的混淆过的恶意脚本来开始恶意软件的运营。
图4 合法版本(左)和恶意版本(右)
Radware相信这么做的原因是为了绕过Google的扩展有效性检查。截止目前,研究人员已经发现了7个这样的恶意扩展,其中4个被Google的安全算法识别并拦截。而Nigelify和PwnerLike仍在活动。
已知扩展
恶意软件
一旦扩展成功安装到Chrome浏览器,恶意脚本就会执行并从C2服务器下载初始配置。
图5 从C2服务器获取的配置文件
接着会有一系列的请求,每个都有不同的目的和触发器。下面是所用到的通信协议。
恶意软件能力
数据窃取
恶意软件的主要目的是窃取Facebook的登录凭证和Instagram的cookie。如果用户登录或发现了Instagram cookie,那么都会发送到C2服务器。
用户会被重定向到Facebook的API来生成访问token,该token也会被发送到C2服务器。
Facebook传播
经过认证的用户的Facebook访问token生成后,传播过程就开始了。恶意软件会收集相关的账户信息,并传播恶意链接到用户的网络。C2服务器的路径“/php3/doms.php”会被访问,然后返回一个随机的URI,如:
该链接会以2种方式传播:通过Facebook Messenger发送消息,或@50个通讯录成员地发布新公告。一旦受害者点击该链接,感染过程会再次开启,并将用户重定向到一个伪造的YouTube页面,该页面需要安装插件才能看视频。
加密货币挖矿
恶意软件下载的另一个插件是一个加密货币挖矿工具。攻击者会使用一个公开的浏览器挖矿工具来让受感染的机器开始挖矿。并且会从攻击者控制的含有挖矿池的外部网站下载JS代码。研究人员发现过去几天该组织尝试基于CryptoNight算法挖三种加密货币,分别是Monero, Bytecoin 和Electroneum。
研究人员发现的挖矿池有:
• supportxmr.com – 46uYXvbapq6USyzybSCQTHKqWrhjEk5XyLaA4RKhcgd3WNpHVXNxFFbXQYETJox6C5Qzu8yiaxeXkAaQVZEX2BdCKxThKWA
• eu.bytecoin-pool.org – 241yb51LFEuR4LVWXvLdFs4hGEuFXZEAY56RB11aS6LXXG1MEKAiW13J6xZd4NfiSyUg9rbERYpZ7NCk5rptBMFE5uZEinQ
• etn.nanopool.org – etnk7ivXzujEHf1qXYfNZiczo4ohA4Rz8Fv4Yfc8c5cU1SRYWHVry7Jfq6XnqP5EcL1LiehpE3UzD3MBfAxnJfvh3gksNp3suN
截止写稿时,6天大概可以挖矿约1000美元,主要是从Monero池子。
图6 加密货币挖矿
驻留
恶意软件使用了很多的技术来达到驻留的目的,还确保其在Facebook上的活动是持久的。
1. 如果用户想打开扩展来移除扩展,恶意软件就会关闭它来阻止移除的动作。
2. 恶意软件会从C2服务器下载URI Regex,并拦截需要访问这些模式的用户。下面的链接说明了恶意软件尝试组织用户访问Facebook和Chrome的清理工具,甚至阻止用户编辑,删除公告和发布评论。
• https://www.facebook.com/ajax/timeline/delete*
• https://www.facebook.com/privacy/selector/update/*
• https://www.facebook.com/react_composer/edit/init/*
• https://www.facebook.com/composer/edit/share/dialog/*
• https://www.facebook.com/react_composer/logging/ods/*
• https://www.facebook.com/ajax/bz
• https://www.facebook.com/si/sentry/display_time_block_appeal/?type=secure_account*
• https://www.facebook.com/ajax/mercury/delete_messages.php*
• https://www.facebook.com/ufi/edit/comment/*
• https://www.facebook.com/ufi/delete/comment/*
• https://www.facebook.com/checkpoint/flow*
• https://dl.google.com/*/chrome_cleanup_tool.exe*
• https://www.facebook.com/security/*/download*
YouTube欺骗
一旦YouTube插件下载并执行,恶意软件就会尝试访问C2服务器上的URI “/php3/youtube.php”来接受命令。获取的指示可以说对视频观看,点赞,评论或订阅该页面。研究人员相信该组织尝试从YouTube获利,虽然还没有看到有很高的观看量。下面看一个从C2服务器接收到指令:
{ “result”: [ {“id”: “5SSGxMAcp00”, “type”: “watch”, “name”: “Sanars\u0131n animasyon yap\u0131lm\u0131\u015f | Da\u011f k\u0131za\u011f\u0131 ANKARA”, “time”: “07.05.2018 17:16:30 “}, { “id”: “AuLgjMEMCzA”, “start”: “47”, “finish”: 1547, “type”: “like”, “name”: “DJI phantom 3 sahil”, “time”: “07.05.2018 17:19:38 ” }, { “id”: “AuLgjMEMCzA”, “type”: “watch”, “name”: “DJI phantom 3 sahil”, “time”: “07.05.2018 17:30:25 ” } ] }
恶意软件保护
0day恶意软件使用复杂的避免检测技术来绕过已有的保护机制。Radware认为防护很好的网络Nigelify也没有检测到该恶意软件。Radware使用机器学习算法分析了该组织的通信日志,与相关的暗示相关联,最后拦截了受感染机器与C2服务器的通信。
随着恶意软件的传播,攻击者会尝试用新的方法来使用这些窃取的资产。一些组织还会持续创建新的恶意软件来绕过安全控制的检测。研究人员建议,用户和企业及时更新当面密码,并只从可信源下载应用程序。
图7 解决方案架构
IoC