近期“网页挖矿”出现在了我们的视野。网页挖矿是一种利用网站前端javascript进行挖矿的一种行为,目前主要利用CoinHive和JSEcoin这两个手段进行网页挖矿,除此之外还有利用Webmine,Cryptoloot,Webmine等进行挖矿。
通过对近期出现的“网页挖矿”事件的分析,发现几乎都是利用Coinhive。
整个攻击过程一般都是通过某些web漏洞对网站的文件进行篡改,这个操作往往不需要太高的系统权限,整个过程也非常容易操作。
到这一步就完成了整个网页挖矿病毒的构建。
这种挖矿与普通的挖矿不同,采用coinhive网页挖矿是攻击者将自己的钱包地址给了第三方,然后通过与第三方的代理矿池交互去实现的网页挖矿。第三方会收取一定的比率的算力,是一种代理挖矿的模式。
流程:
1.受害者访问了被黑客挂了JS挖矿代码的网站;
2.之后,受害者的浏览器会请求coinhive服务器中的coinhive.min.js文件;
3.执行coinhive的JS代码,会去请求代理矿池;
4.开始与代理矿池交互;
5.代理矿池会与总矿池交互;
6.在代理矿池中挖取的门罗币币会弄到黑客提交的钱包地址里面;
一、攻防演练
为了清楚了解coinhive网页挖矿的攻击过程,我们搭建了如下的拓扑图:
PS.部署AF,仅启用访问控制,模拟真实环境,其他功能及安全感知平台仅做监控。
目标某日访问量400+IP站点,各种扫描探测工具一通扫描,发现了目标站点存在Struts2漏洞:
一下子就发现可以直接命令执行的漏洞,赶紧看看目标站点的具体信息,方便等会修改POC脚本使用。
网上找了一个s2-045的Poc,动手修改后就将攻击脚本上传到之前抓到的肉鸡上。
启动攻击脚本,输入存在漏洞的目标URL开始攻击:
脚本执行完后的成功后,打开了火狐浏览器确认一下是否已经植入成功,访问目标站点的任意页面可以看到文本末尾添加了coinhive的js代码,这时候就可以等待收获了:
小白作为这个网站的常客,经常在这个网站观看视频,最近发现浏览网站的时候电脑非常卡,CPU利用率很高:
但只要关闭网站,CPU就恢复正常了:
02攻击详解
漏洞利用分析
Str2_045漏洞的利用代码,构造了相应的exp,能够通过输入存在漏洞页面,然后执行cmd指令:
运行指令分析
写入covin.js文件的base64编码,写入的文件为evil.txt,为下一步做准备:
对evil.txt进行base64解码,解码文件为evil.ps2,这是一个可执行的shell文件:
最后使用powershell执行shell文件,对网站下的文件植入挖矿代码:
Powershell脚本文件如下:
植入的挖矿代码如下:
网站运营方:
定时对网站进行扫描;
及时修复网站漏洞;
及时给电脑打补丁,修复漏洞;
安装专业的服务器安全防护软件;
关闭不必要的目录权限。
网站浏览者:
开启浏览器内置拦截功能;
安装拦截插件进行防范;
安装“反挖矿”安全防护软件。
*本文作者:千里目安全实验室,转载请注明来自FreeBuf.COM