黑客是如何利用你的浏览器进行挖矿的?

标签: WEB安全 挖矿 | 发表时间:2018-05-30 09:00 | 作者:千里目安全实验室
出处:http://www.freebuf.com

0×1 概述

近期,千里目安全实验室监测到了一大批网站系统被恶意植入了网页挖矿木马,只要访问者通过浏览器浏览被恶意植入了网页挖矿木马站点,浏览器会即刻执行挖矿指令,从而沦为僵尸矿机,无偿的为网页挖矿木马植入者提供算力,间接为其生产虚拟货币,这是一种资源盗用攻击。由于网页挖矿木马存在很广的传播面和很不错的经济效益,因此、广受黑产团体的追捧,让我们对它防不胜防!

0×2 千里百科

区块:在区块链网络上承载交易数据的数据包。它会被标记上时间戳和之前一个区块的独特标记。区块头经过哈希运算后会生成一份工作量证明,从而验证区块中的交易。有效的区块经过全网络的共识后会被追加到主区块链中。

区块链:狭义来讲,是一种按照时间序列将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

矿机:矿机是挖矿机器的简称,就是用于赚取数字货币的计算机,这类计算机一般有专业的挖矿芯片,多采用烧显卡的方式工作,耗电量较大。个人计算机可以通过挖矿软件来运行特定的算法产生算力(俗称挖矿)来获得相应数字货币。

矿池:由于单一矿机想挖到一个块的几率是非常小的,通过矿机联合挖矿以提高几率。一个矿池的算力是很多矿机算力的集合,矿池每挖到一个块,便会根据你矿机的算力占矿池总算力的百分比,发相应的奖励给到个体,也不会存在不公平的情况。

挖矿:挖矿是反复尝试不同的随机数对未打包交易进行哈希,直到找到一个随机数可以符合工作证明的条件的随机数,以构建区块。如果一个矿工走运并产生一个有效的区块的话,会被授予的一定数量的币作为奖励。

钱包:钱包指保存数字货币地址和私钥的软件,可以用它来接受、发送、储存你的数字货币。

0×3 家族样本分析

千里目安全实验室通过持续对全网进行安全监测,发现近期有如下十种家族的网页挖矿木马的传播比较活跃。详情分析如下所示:

1 C oinhive家族网页挖矿木马介绍:

Coinhive是一个专门提供挖矿代码的JS引擎,在被攻击网站的网页内嵌一段JS挖矿代码,只要有人访问被攻击的网站,JS挖矿代码就会通过浏览器上执行挖矿请求,占用大量的系统资源,导致CPU资源利用率突然大幅度提升,甚至100%。在这过程中网站只是第一个受害目标,而网站的访问者才是最终的受害目标。

1.1、Coinhive家族网页挖矿木马代码,如下所示:

图片.png

1.2、执行JS挖矿代码前后的效果,如下图所示:

图片.png

1.3、通过快捷键(Shift+ESC)来查看浏览器的任务管理器,发现正是刚打开的“XMR Mining Page”网站页面占用了98.4%的CPU资源,正在疯狂的挖矿。如下图所示:

图片.png

2、JSEcoin家族网页挖矿木马介绍:

JSEcoin是与Coinhive类似的JS挖矿引擎,也是在有访问量的网站中嵌入一段网页挖矿代码,利用访客的计算机CPU资源来挖掘数字货币进行牟利。但是与后者不同的是,JSECoin会将CPU使用率限制在15%至25%之间,并且始终显示隐私声明,为用户提供退出选项(可选择不提供运算服务)。

2.1、JSEcoin家族网页挖矿脚本代码,如下所示:

图片.png

2.2、通过对JSEcoin挖矿代码进行调试,发现执行完挖矿代码后会持续接收到需要运算的任务,如下图所示:

图片.png

2.3、通过进一步跟踪运算过程,发现其通过WSS协议来获取区块的计算任务,然后将结果进行回传效验,校验通过的会显示OK标记。如下图所示:

图片.png

3、CryptoLoot家族网页挖矿木马介绍:

CryptoLoot是与Coinhive类似的JS挖矿引擎,也是在有访问量的网站中嵌入一段网页挖矿代码,利用访客的计算机CPU资源来挖掘数字货币进行牟利。不过CryptoLoot平台的佣金比Coinhive平台的佣金低很多,这可以大大降低以挖矿为盈利目标的黑色产业链成本。

3.1、CryptoLoot网页挖矿脚本代码,如下所示:

图片.png

3.2、CryptoLoot网页挖矿脚本代码参数介绍,如下所示:

miner.min.js:为JS挖矿脚本。

85e693dfe57edbdf8f53640b4c0b0d257513a504c503:为SiteKey,可以理解为JS挖矿引擎识别站点的唯一标识。

threads(value):指挖矿运算所启用的线程数量。这里的值为3,即表示启用3个线程进行挖矿运算。

autoThreads(value):这里的Value可以设置为true和false,当设置为true时,表示自动检测用户计算机上可用的CPU内核数量。

throttle(value):这里的value是设置线程闲置时间比例的。如果值为0,即表示不进行节流(即进行CPU满载运算)。这里的值为0.2即表示将在20%的时间内保持空闲状态。

4、DeepMiner家族网页挖矿木马介绍:

DeepMiner是一个开源的JS挖矿项目,也是在有访问量的网站中嵌入一段网页挖矿代码,利用访客的计算机CPU资源来挖掘数字货币进行牟利。

4.1、DeepMiner网页挖矿脚本代码,如下所示:

图片.png

4.2、DeepMiner网页挖矿脚本同源分析:

DeepMiner是一个已经被开源了的项目,通过分析,发现上面的挖矿脚本代码为此开源项目修改而来(开源项目地址为: https://github.com/deepwn/deepMiner)。

5、Webmine家族网页挖矿木马介绍:

Webmine也是一个与Coinhive类似的JS挖矿引擎,在有访问量的网站中嵌入一段网页挖矿代码,利用访客的计算机CPU资源来挖掘数字货币进行牟利。

5.1、Webmine网页挖矿脚本代码,如下所示:

图片.png

5.2、访问JS挖矿站点时,发现CPU使用率剧增,随后退出对JS挖矿站点的访问,发现CPU的使用率一下子就降下来了。如下图所示:

图片.png6、AuthedMine家族网页挖矿木马介绍:

AuthedMine也是一个与Coinhive类似的JS挖矿引擎,在有访问量的网站中嵌入一段网页挖矿代码,利用访客的计算机CPU资源来挖掘数字货币进行牟利。

6.1、AuthedMine网页挖矿脚本代码,如下所示:

图片.png

6.2、 AuthedMine网页挖矿脚本与之前的几种相比有比较大的改进,大致如下3点:

设置了线程闲置时间比例,这样不容易被矿机受害者发现和察觉。

设置了挖矿设备类型,只对非移动设备进行挖矿运算,防止手持终端设备被卡死。

设置了挖矿运算时间,只挖矿4小时,避免长时间CPU过高而遭暴露。

7、BrowserMine家族网页挖矿木马介绍:

BrowserMine是一个与DeepMiner类似的JS挖矿引擎,也是在有访问量的网站中嵌入一段网页挖矿代码,利用访客的计算机CPU资源来挖掘数字货币进行牟利。

7.1、BrowserMine网页挖矿脚本代码,如下所示:

图片.png

7.2、 执行JS挖矿代码前后的效果,如下图所示:

图片.png

8 Coinimp 家族网页挖矿木马介绍:

Coinimp是与Coinhive类似的JS挖矿引擎,也是在有访问量的网站中嵌入一段网页挖矿代码,利用访客的计算机CPU资源来挖掘数字货币进行牟利。稍有不同的是Coinimp的平台费用基本免费,而且JS挖矿脚本可以重置为任意名字存放在本地,伪装性更高。

8.1、Coinimp网页挖矿脚本代码,如下所示:

图片.png

8.2、Coinimp网页挖矿脚本代码与之前的几个有一个明显的区别就是SiteKey值变成了64位,同时,JS挖矿代码可以保存到本地存储了,访问参数与JS脚本名称可以自行定义。

9、CryptoWebMiner家族网页挖矿木马介绍:

CryptoWebMiner是与Coinhive类似的JS挖矿引擎,也是在有访问量的网站中嵌入一段网页挖矿代码,利用访客的计算机CPU资源来挖掘数字货币进行牟利。不过CryptoWebMiner平台的佣金比Coinhive平台的佣金低很多,这可以大大降低以挖矿为盈利目标的黑色产业链成本。

9.1、CryptoWebMiner网页挖矿脚本代码,如下所示:

图片.png

9.2、CryptoWebMiner网页挖矿脚本代码结构与Coinhive很类似,但支持的币种比较多,主要有BTC、ETH、ZEC、ETN、XMR。另外,它支持的平台也很多,分别为手机端挖矿、PC端挖矿、WEB端挖矿,可见传播面很广。

10、PPoi家族网页挖矿木马介绍:

PPoi是与Coinhive类似的JS挖矿引擎,也是在有访问量的网站中嵌入一段网页挖矿代码,利用访客的计算机CPU资源来挖掘数字货币进行牟利。

10.1、PPoi网页挖矿脚本代码,如下所示:

图片.png

10.2、通过访问PPoi平台官方地址,发现已经被Google GSB加入黑名单了。如下所示:

图片.png

0×4 趋势分析与统计

1、我们通过对分析过的网页挖矿木马代码特征,使用FOFA对全球所有在线Web应用系统进行统计,发现有60742892个Web应用被恶意挂载了网页挖矿木马。如下为全球TOP10地域的网页挖矿木马感染量和分布情况。详情如下所示:

图片.png

统计数据来自于FOFA平台

2、进一步通过这些网页挖矿木马的代码特征来对中国境内所有在线Web应用系统进行分析和统计,发现有4557546个Web应用被恶意挂载了网页挖矿木马。如下为中国境内TOP N地域的网页挖矿木马感染量和分布情况。详情如下所示:

图片.png

统计数据来自于FOFA平台

0×5 安全建议

ü 定期对服务器中的数据做备份,看到类似以上10种形态的可疑脚本代码,需提高警惕(这很可能意味着我们的站点和服务被入侵了 ),找专业的安全人员来做分析和处理。

ü 如在服务器中发现存在可疑的后门或恶意代码,需做全局的排查和清理,然后再做安全加固工作。

ü 定期主动对服务器及服务器中的应用进行安全评估,及时发现潜在的风险,并及时处置和修复。

0×6 IOCs

C 2

https://coinhive.com

https://coin-hive.com

https://webmine.cz

https://webmine.pro

https://munero.me

https://load.jsecoin.com

https://browsermine.com

https://authedmine.com

https://crypto-loot.com

https://cryptaloot.pro

https://ppoi.org

U RL

https://coinhive.com/lib/coinhive.min.js

https://coin-hive.com/lib/coinhive.min.js

https://crypto-loot.com/lib/miner.min.js

https://cryptaloot.pro/lib/miner.min.js

https://authedmine.com/lib/authedmine.min.js

https://ppoi.org/lib/projectpoi.min.js

*本文作者:千里目安全实验室,转载请注明来自 FreeBuf.COM

相关 [黑客 利用 浏览器] 推荐:

黑客是如何利用你的浏览器进行挖矿的?

- - FreeBuf互联网安全新媒体平台 | 关注黑客与极客
近期,千里目安全实验室监测到了一大批网站系统被恶意植入了网页挖矿木马,只要访问者通过浏览器浏览被恶意植入了网页挖矿木马站点,浏览器会即刻执行挖矿指令,从而沦为僵尸矿机,无偿的为网页挖矿木马植入者提供算力,间接为其生产虚拟货币,这是一种资源盗用攻击. 由于网页挖矿木马存在很广的传播面和很不错的经济效益,因此、广受黑产团体的追捧,让我们对它防不胜防.

利用firebreath开发跨浏览器插件

- - 开源软件 - ITeye博客
在研发ZCMS系统过程中,我们发现很多用户在上传截图时,需要先另存为图片文件然后再选择上传,过程操作复杂. 于是我们想通过用户直接粘贴图片到编辑器并上传. 要实现这一功能必须实现获取用户剪切板中的图片数据并保存到本地. 浏览器本身没有相应的功能,因此我们考虑到用浏览器插件的方式实现. 为了兼容各个浏览器,我们选择了frirebreath,实现插件在不同浏览器的通用.

利用Java打开浏览器访问特定网址

- - Linux - 操作系统 - ITeye博客
已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

新版Opera浏览器(Android平台)利用云帮你省流量,最多可节约80%

- kxxoling - 36氪
Opera也开始“云”了,目标是为用户节省流量费,拯救那些整天被流量压迫的人们. 在Android平台新推出的Opera Mobile 11.5 和 Mini 6.5,通过第三方服务器的中转处理,运用云技术减少了页面的大小,最多可节约80%的流量. 新版的Opera可以清楚的列出你已经使用的流量和Opera帮你节省的流量(量化的数据似乎总是让用户觉得爽的很明显,比如360就很爱用这招).

利用HTML5技术让iOS应用在浏览器中运行 App.io 获得逾百万美元融资

- - 焦点
  移动应用是否可以在浏览器中运行?如果我说“可以”,你一定会追问:如何?.   为了满足这类要求,Kickfolio 应运而生. Kickfolio 可以利用 HTML5 技术让 iOS 应用运行在浏览器中,而开发者则可以通过该平台上传以生成自己的移动应用程序,然后让其他应用在 Web 上与这些产品进行交互.

Silk 浏览器:Google? No!

- 橙子 - 爱范儿 · Beats of Bits
前苹果员工, Blogger Chris Espinosa 指出, Amazon 的 Silk 浏览器技术,让 Amazon 不能把自己置于 Google 的控制之下. Silk 在云端为用户组织和优化网页,之后再下载到本地. 这样做的结果是, Amazon 能掌握用户在网络上的一举一动. 不仅仅包括在 Amazon.com 下的订单.

浏览器检测

- - JavaScript - Web前端 - ITeye博客
1.navigator 对象. 由于每个浏览器都具有自己独到的扩展, 所以在开发阶段来判断浏览器是一个非常重要的步骤. 虽然浏览器开发商在公共接口方面投入了很多精力, 努力的去支持最常用的公共功能;但在现实中,浏览器之间的差异,以及不同浏览器的“怪癖”却是非常多的,因此客户端检测除了是一种补救措施,更是一种行之有效的开发策略.

黑客利用社交工程技术发动攻击

- 远 - Solidot
Burberry Scarf 写道 "《华尔街日报》报导,当防火墙日益严密,网络罪犯或黑客开始借助低技术方法渗透进安全系统. 克里斯·派滕(Chris Patten)向一家大型投资管理公司报告称,他即将离婚,担心妻子用假名开设了账户. 这种情况完全可能,但在这个案例中,派滕却撒了谎. 不疑有诈的公司客服代表将用户账号和其他详细信息交给了派滕,令人感到后怕.

浏览器缓存机制

- Leo Pay - Learning Correcting Improving
Cache-Control 是最重要的规则. 这个字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令. 这些指令指定用于阻止缓存对请求或响应造成不利干扰的行为. 缓存指令是单向的,即请求中存在一个指令并不意味着响应中将存在同一个指令. cache-control 定义是:Cache-Control = "Cache-Control" ":" cache-directive.

浏览器进化史

- Hao Zeng - 爱范儿 · Beats of Bits
这张图非常直观,纵轴是浏览器存在的时间线,横轴代表使用此浏览器的用户数量. 出现在图片中的浏览器包括:Netscape、Opera、IE、Firefox、Safari 和 Chrome. Netscape:1994 年诞生,1995 年用户基数达到最大(2.x 版本). 1998 年 Netscape 被创业杀手 AOL 收购,再加上微软的冲击,逐渐走向衰败,2008 年彻底终结.