JS恶意挖矿的小小解析
2021-11-30 18:47:21 Author: www.freebuf.com(查看原文) 阅读量:10 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

最近在学校各方面都不顺利,感情上啊,学习上啊。。。。。。开学到现在就没怎么上过课,感觉期末要挂科了,孩子很慌=_=

发现

之前打CTF的时候,发现自己在信息搜集方面有所欠缺,于是乎去学习了一番Google语法,搭配fofa,就交了几个cnvd和edu src,但是后来在学习的时候,伴随着CPU的升高,发现一段很有意思的前端代码。
2BD0ADEE177B1A36D3711F2DC737DA2B.png

啊这。。。这熟悉的单词miner,莫非遇到黄金矿工了???

分析

CoinHive

之前就有听说CoinHive,是提供一个用来挖矿的JS引擎,在被攻击网站上的网页内嵌一段JS代码,只要有人访问被攻击网站,挖矿程序就会在浏览者的电脑上工作,占用大量的系统资源。但我还真没仔细研究过,所以写一下自己的理解:

CoinHive的实现,得从一篇论文讲起:

The JavaScript Supply Chain Paradox: SRI, CSP and Trust in Third Party Libraries ——Troy Hunt

(JavaScript 供应链悖论:第三方库中的 SRI、CSP 和Trust)

其中开篇的部分内容,讲述了JS代码嵌入导致的的一个问题,我也拿个例子简单描述一下:

<script src="https://github.com/xxx/xxx/xxx.js"type="text/javascript"></script>

如果在某网站的前端之中嵌入以上代码,这个标签位于github上xxx/xxx的源代码中,可以直接从该Github项目之中提取脚本。

试想一下,如果可以修改该脚本并随后在网站上执行自己的任意 JavaScript,那还能发生什么呢?简单的回答 - 几乎任何事情。修改 DOM、重定向用户、加载外部内容、要求访问者安装软件、添加键盘记录器并获取任何非 HTTP 专用 cookie。

CoinHive差不多就基于这个原理,第三方库中的 SRI、CSP 和Trust,其中有人破坏了服务上的 JS 文件并注入了 Coinhive 脚本进去——包含了来自 coinhive.com 的 .js 文件和 32 字节密钥的设置。这就是攻击者需要做的所有事情——包括 Coinhive JS,添加他们的密钥,如果他们愿意,还可以切换一些配置。就是这样,工作完成,即时加密!

具体流程

* 首先得拿到网站的控制权限,植入恶意JS代码。
* 你还得有一个门罗币的钱包地址
* 在CoinHive上注册一个账号,并获得Key
* 将Key替换到JS代码之中

现象

image

人们往往不喜欢广告,反正,我也是这样(至少不是那些侵犯隐私和带宽的垃圾邮件),但我也喜欢网络上的免费内容,这就是问题所在:如果内容制作者不能在网页上投放广告,那他们如何通过他们的作品获利?很自然,“利用用户的 CPU 能力将您的业务货币化”,这是 Coinhive 的作案手法。

CoinHive不完全是投放广告,而是将基于 JavaScript 的加密货币矿工放在浏览者身上。。。当访问者他们坐在那里阅读内容时,就会正在他们的机器上收获门罗币。他们为 CPU 周期付费以将钱放入门罗币地址所有人的口袋之中。

这样的挖矿方法确实巧妙!但是这有两个大问题,第一个可能很明显:这是一种低劣的商业模式,利用人们的电费来谋取站点运营商的个人利益。它可能只是对它们进行了一点利用,但它仍然感觉非常阴暗。。。。。。

第二个问题是,由于加密货币的匿名性,每个黑客都想将 Coinhive 放在他们能够运行自己的任意 JavaScript 的任何网站上。

让我们看一下fofa上的搜索结果:

image.png

image.png

可以看出,全球有大量的网站遭受了这种恶意攻击。

解决方案

运营方:

最好使的是及时修复网站漏洞;

记得及时检查网站的恶意流量;

安装靠谱的服务器安全防护软件;

浏览者:

开启浏览器内置拦截功能;

自己直接在前端删除挖矿代码;


文章来源: https://www.freebuf.com/articles/blockchain-articles/306613.html
如有侵权请联系:admin#unsafe.sh