【攻防演练】Coinhive网页挖矿详解

  • 来源:深信服安全中心
  • 发布时间:2018-11-20
#

事件描述

近期“网页挖矿”出现在了我们的视野

网页挖矿是一种利用网站前端javascript进行挖矿的一种行为。

目前主要利用CoinHive和JSEcoin这两个手段进行网页挖矿,除此之外还有利用Webmine,Cryptoloot,Webmine等进行挖矿。

通过对近期出现的“网页挖矿”事件的分析

发现几乎都是利用Coinhive

图片1.png 整个攻击过程一般都是通过某些web漏洞

对网站的文件进行篡改

这个操作往往不需要太高的系统权限

整个过程也非常容易操作

图片2.png 图片3.png  图片4.png

图片5.png 到这一步就完成了整个网页挖矿病毒的构建

这种挖矿与普通的挖矿不同

采用coinhive网页挖矿是攻击者将自己的钱包地址给了第三方

然后通过与第三方的代理矿池交互去实现的网页挖矿

第三方会收取一定的比率的算力

是一种代理挖矿的模式

图片6.png

受害者访问了被黑客挂了JS挖矿代码的网站

之后,受害者的浏览器会请求coinhive服务器中的coinhive.min.js文件

执行coinhive的JS代码,会去请求代理矿池

开始与代理矿池交互

代理矿池会与总矿池交互

在代理矿池中挖取的门罗币币会弄到黑客提交的钱包地址里面

攻防演练 

为了清楚了解coinhive网页挖矿的攻击过程

我们搭建了如下的拓扑图:

图片8.png PS.部署AF,仅启用访问控制,模拟真实环境,其他功能及安全感知平台仅做监控。

目标某日访问量400+IP站点

各种扫描探测工具一通扫描

发现了目标站点存在Struts2漏洞

图片10.png 一下子就发现可以直接命令执行的漏洞

赶紧看看目标站点的具体信息

方便等会修改POC脚本使用

图片12.png 网上找了一个s2-045的Poc

动手修改后就将攻击脚本上传到之前抓到的肉鸡上。

启动攻击脚本

输入存在漏洞的目标URL开始攻击

图片13.png

图片14.png

脚本执行完后的成功后

打开了火狐浏览器确认一下是否已经植入成功

访问目标站点的任意页面可以看到文本末尾添加了coinhive的js代码

这时候就可以等待收获了

图片15.png 小白作为这个网站的常客

经常在这个网站观看视频

最近发现浏览网站的时候电脑非常卡

CPU利用率很高

图片16.png 但只要关闭网站

CPU就恢复正常了

图片17.png --------漏洞利用分析--------

Str2_045漏洞的利用代码,构造了相应的exp

能够通过输入存在漏洞页面,然后执行cmd指令

图片20.png --------运行指令分析--------

写入covin.js文件的base64编码

写入的文件为evil.txt,为下一步做准备

图片21.png

图片22.png

对evil.txt进行base64解码,

解码文件为evil.ps2,这是一个可执行的shell文件

图片23.png 图片24.png 最后使用powershell执行shell文件,

对网站下的文件植入挖矿代码

图片25.png 图片26.png Powershell脚本文件如下

图片27.png 植入的挖矿代码如下:

图片28.png 针对整个网页挖矿病毒的攻击链分析

可以通过深信服下一代防火墙和安全感知进行有效检测和防御

具体效果如下:

下一代防火墙AF检测到攻击行为并展示攻击链

同时汇总展示攻击事件

图片30.png

AF检测出struts2-045的远程代码执行漏洞

并记录详细日志,将攻击部分高亮显示

图片31.png 安全感知平台SIP检测出虚拟货币挖矿、网页挂马安全事件

图片32.png SIP外部威胁-高危攻击检出web漏洞利用攻击

图片33.png SIP安全日志检出利用Apache Struts远程代码执行漏洞进行web攻击

图片34.png图片35.png 图片36.png

网站运营方:

l 定时对网站进行扫描

l 及时修复网站漏洞

l 及时给电脑打补丁,修复漏洞

l 安装专业的服务器安全防护软件

l 关闭不必要的目录权限

网站浏览者:

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

l 安装拦截插件进行防范

l 安装“反挖矿”安全防护软件