首页 > 矿场 > 挖矿木马检测全纪录!中睿天下助力政企全面围剿网络“寄生虫”
sohu  

挖矿木马检测全纪录!中睿天下助力政企全面围剿网络“寄生虫”

摘要:原标题:挖矿木马检测全纪录!中睿天下助力政企全面围剿网络“寄生虫” 近日,国家发展改革委会同中央宣传部、中央网信办、工业和信息化部等有关部门联合印发了《关于整治虚拟货币“挖矿”活动的通知》,全国范围内重点整治虚拟货币“挖矿”,并多次强调各省区市要坚决贯彻落实好虚拟货币“挖矿”整治工作的有关部署,

原标题:挖矿木马检测全纪录!中睿天下助力政企全面围剿网络“寄生虫”

近日,国家发展改革委会同中央宣传部、中央网信办、工业和信息化部等有关部门联合印发了《关于整治虚拟货币“挖矿”活动的通知》,全国范围内重点整治虚拟货币“挖矿”,并多次强调各省区市要坚决贯彻落实好虚拟货币“挖矿”整治工作的有关部署,对虚拟货币“挖矿”活动进行清理整治,严查严处国有单位机房涉及的“挖矿”活动。

“挖矿”木马威胁是近年来影响政企网络安全的威胁之一,黑客为了获取高性能计算能力,通常在用户不知情或者不经允许的情况下,盗用他人的系统资源和网络资源,将别人的计算机变成自己的“矿机”,此时,作为计算机资源聚集地的企事业单位自然成为了挖矿者的重要目标。

对于企事业单位来说,“挖矿”带来的危害不容小觑

一方面,服务器资源被大量消耗,其他服务或软件受到影响运行速度变慢,系统卡顿,性能变差,严重时系统获取不到资源导致直接崩溃,业务被迫中断。

另一方面,挖矿木马的成功植入意味着企业系统存在的漏洞被利用,黑客能够借机窃取服务器机密信息,甚至以此作为跳板攻击其他计算机,且挖矿木马导致的关闭安全软件行为,会让受害主机安全防护能力消失,被入侵的风险倍增。

在大多数情况下,运营“挖矿”木马的网络黑产,并不像勒索病毒攻击者那样从事极端的破坏行动。他们更愿意长期、稳定控制大量肉鸡电脑,组建僵尸网络挖矿牟利,其中绝大部分以消耗CPU资源的门罗币挖矿占绝对统治地位。

对于大部分互联网用户来说,“挖矿”木马更像是隐藏在互联网角落中的“寄生虫”,人们对其知之甚少。“知己知彼百战不殆”,只有先了解挖矿木马的本质,才能及时做出防范和应对,一起了解下“挖矿”吧。

什么是挖矿?

简单来说,挖矿就是利用芯片进行一个与随机数相关的计算,得出答案后以此换取一个虚拟币,运算能力越强的芯片就能越快找到这个随机答案,理论上单位时间内能产出越多的虚拟币,由于关系到随机数,只有恰巧找到答案才能获取奖励。

挖矿的方式介绍

主流挖矿机制介绍

01

POW工作量证明挖矿

POW工作量证明挖矿,需要专业矿机高速运转提供算力。工作量证明,说白话就是你提供劳动来挣钱(也就是算力),做得多拿得多(算力大收益大),算力大则耗电大,所以比特币挖矿耗电就是这样。代表币种比特币。

02

POS权益证明挖矿

POS权益证明挖矿,相当于持币生息(无需购买矿机)。简单说就是抵押,你的币抵押到矿池,矿池给你利息,抵押币越多,收益越大。代表币种MDX币。

03

DPOS委托权益证明挖矿

DPOS委托权益证明挖矿,选出代表帮自己挖矿(无需购买矿机)。简单的来说,你只需要去给你认为能被选中并承诺分红的节点投票,这些节点被选中后便可挖矿,你就可以获得节点承诺的相应分红。而此收益不需要你真实的操作挖矿,而仅仅只需要你动动小手指去投个票。代表币种LBTC

04

POC硬盘存力挖矿

POC硬盘存力挖矿,以Filecoin开创的挖矿模式,拥有硬盘存储空间即可挖矿,成本较低,节能环保。简单说就是:提供硬盘存储空间获得报酬,空间越大收益越大。代表币种FIL,XCH。

挖矿方法说明

CPU挖矿和GPU挖矿,简单来说,那就是利用CPU运算能力挖矿的就是CPU挖矿,利用GPU运算能力挖矿的就是GPU挖矿。

除了CPU挖矿和GPU挖矿,还有另外一种挖矿方式是硬盘挖矿。硬盘挖矿的币种为chia,中文称之为“奇亚”。奇亚挖矿分为两步:P盘和耕种,你可以把硬盘挖矿想象成学习数据和回答问题的过程,P盘就相当于硬盘通过不断学习服务器发过来的数据,把这些数据都储存在硬盘上,你的硬盘越大,存储的知识就越多(这个过程是得不到奇亚币的)。虽然学习数据的过程是得不到任何奇亚币的,但是这一步对于硬盘挖矿来说至关重要,你的硬盘容量足够大,能学习到的知识就越多,这样在之后的挖矿过程(耕种),你才能更快更准确的回答出服务器发过来的问题。然后服务器每隔一段时间就会发给你一个问题,此时你就可以从硬盘知识库里通过各种排列算法给出服务器正确的答案,然后服务器就会奖励你一个奇亚币,这个过程才是真正在挖矿,软件里边叫“耕种”。

除了CPU挖矿、GPU挖矿、硬盘挖矿,还有专业矿机挖矿、浏览器挖矿、手机挖矿等方式,但从原理上俩说都属于这三大类里面。例如专业矿机一般是利用CPU或GPU进行挖矿。手机挖矿则是通过购买算力进行挖矿,本质上也是利用矿机的CPU或者GPU;浏览器挖矿一般也是利用CPU进行挖矿,例如常见的Coinhive家族网页挖矿木马就是利用该类利用CPU进行挖矿的。

挖矿木马原理

前面在介绍挖矿时有提到,挖矿的本质是利用计算机的运算能力,这也说明当运算能力越多时,收获就会越大。而随着投入挖矿的人越来越多,这件事也会变得越难,这时候矿工就需要用更强大的计算机/计算机群才能成功解题,为了提高运算能力,矿工们会集结大量的计算机运算能力进行挖矿,再按照投入及贡献程度进行拆分收益,也因此,个人矿工已越来越难和专业挖矿组织竞争,要增加算力,就需要投入专业配置的计算机,这样就大大的增加了成本,于是就有一些不法分子利用挖矿木马非法植入其他用户的计算机,把这些计算机“免费”征用为自己的矿机,这就衍生了挖矿木马。

挖矿木马说到底也是一种木马,伴随着一系列恶意行为。通常,挖矿木马都会消耗大量的CPU或GPU资源,占用大量的系统资源和网络资源,其可能造成系统运行卡顿,系统或在线服务运行状态异常,造成内部网络拥堵,除此之外,部分挖矿木马甚至存在远控功能,这给攻击团伙提供了一个进入企业网络的通道,让其可以实施更具危害的恶意活动,比如信息窃密、勒索攻击等。

挖矿木马的感染方式

01

肉鸡控制类

通常由于暴露在公网上的主机和服务由于未及时更新系统或组件补丁,导致存在一些可利用的远程利用漏洞,或由于错误的配置及设置了较弱的口令导致登录凭据被暴力破解或绕过认证和校验,以至服务器失陷,被植入挖矿木马。比较常见的例如ssh爆破、rdp爆破、数据库爆破、Nday利用等等。这种方式多为攻击者写好自动化脚本或程序,进行蠕虫式、无差别攻击,一旦在某台主机落脚,该主机就会被做攻击节点,继续对外攻击、传播。

02

一般木马传播方式

该种方式和其他木马的传播方式基本一样,会利用诸如钓鱼欺诈、色情内容诱导、伪装成热门内容的图片或文档、捆绑正常应用程序等,当用户被诱导内容迷惑并双击打开恶意的文件或程序后,恶意挖矿程序会在后台执行并悄悄的进行挖矿行为。

03

供应链感染

该种方式对攻击者要求较高,但一旦成功,则受害面广、危害大。例如驱动人生供应链攻击事件。

04

挖矿劫持

挖矿劫持又叫Cryptojacking = Cryptocurrency(数字加密货币)+ Hijacking(劫持)。它的字面意义是劫持数字货币,实际意义则是劫持用户的设备,利用 CPU 或其他处理器进行挖矿,因而也叫做:挖矿劫持。它的定义是在受害者不知情的前提下,使用受害者的计算设备来挖取数字货币。

自从首个挖矿劫持脚本出现,已经有很多网站沦陷了,其中不乏知名网站和大公司的官网。包括星巴克 (Starbucks.com)、无限制格斗 (UFC.com) 等,就连 YouTube 都因为 Google 广告平台的漏洞而失守。

05

挖矿劫持内部人员私自安装和运行挖矿程序

除了技术面的风险,人员侧存在的风险也不可忽视,需要防止企业内部人员私自利用企业内部资源进行挖矿。

检测思路

流量侧检测

挖矿前通常伴随着各种漏洞攻击植入后门,如ssh、rdp爆破、weblogic cvE-2019-2725、Apache Struts2 CVE-2017-5638,ThinkPHP5CNVD-2018-24942等等漏洞攻击。(下图为中睿天下开发的网络攻击溯源系统拦截到的恶意漏洞攻击流量包)

漏洞攻击告警

1、

stratum协议

通过漏洞入侵之后,挖矿软件就会与矿池产生通信,stratum协议是目前主流的矿机和矿池之间的TCP通讯协议,通过检测stratum协议来发现挖矿行为是行之有效的。stratum协议为JSON的数据格式,分析矿机与矿池之间使用stratum协议的通信过程,如下:

stratum协议的通信过程

通信过程主要分为矿机登记、任务下发、账号登录、结果提交与难度调整等部分,具体过程如下:

矿机登记以mining.subscribe方法向矿池连接:

{"id":1,"method":"mining.subscribe","params":[]}

矿池以mining.notify方法返回相关信息:

{"id":1,"result":[["mining.notify","ae681a46897cd7735a30259ab1c5cf71f"],"089999002",4],"error":null}

账号登录一般分为两种,一种是直接登录,另一种是通过jsonrpc方式(很多挖矿节点与矿池的通信是依靠jsonrpc来进行请求与相应的,这种方式也是依赖于TCP的Stratum协议)。

矿机直接通过mining.authorize方法登录:

{"params":["miner1","password"],"id":2,"method":"mining.authorize"}

通过jsonrpc方式登录:

{"id":1,"jsonrpc":"2.0","method":"login","params":{"login":"blue1","pass":"x","agent":"Windows NT 6.1; Win64; x64"}}

结果提交通过"mining.submit"方法向矿池提交任务:

{"params":["miner1","bf","00000001","504e86ed","b2957c02"],"id":4,"method":"mining.submit"}

难度调整以mining.set_difficulty方法调整难度:

{"id":null,"method":"mining.set_difficulty","params":[2]}

分析上面json内容,主要特征字段有id、method、jsonrpc、params、result、login、pass、agent、mining.submit等,通过对具体通信数据包进行相应特征字符串检测,以此来发现挖矿行为的存在。而网页挖矿行为也可以通过检测coinhive.min.js等特征字符串来发现。

2、

门罗部分流量特征

门罗币采用Cryptonight算法,公开提供的程序有xmr-stak,xmrig,claymore等,相应的主要流量请求特征为:

xmr-stak:

request:

{"method":"login","params":{"login":"xxxxxxx","pass":"xxx","rigid":"","agent":"xxxxxx"},"id":1}

{"method":"submit","params":{"id":"xx","job_id":"xxxxxx","nonce":"xxxxx","result":"xxxxxx"},"id":1}

response:

{"method":"job","params":{"target":"xxxxx","job_id":"xxxxxx","blob":"xxxxxxx"}}

xmrig:

request:

{"id":x,"jsonrpc":"2.0","method":"login","params":{"login":"xxxxxx","pass":"x","agent":"xxxxx","algo":["xxx","xxx","xxx"]}}

{"id":x,"jsonrpc":"2.0","method":"submit","params":{"id":"xxxx","job_id":"xx","nonce":"xxxx","result":"xxxxxxx"}}

response:

{"params":{"blob":"xxxxxx","taget":"xxxx","job_id":"xxxxx"},"method":"xxx"}

claymore:

request:

{"method":"login","params":{"login":"xxxxxx","pass":"x","agent":"xxx"},"id":1}

{"method":"submit","params":{"id":"xxxx","job_id":"xxx","nonce":"xxxxx","result":"xxxxx"},"id":x}

response:

{"params":{"blob":"xxxxxx","target":"xxxx","job_id":"xxx"},"method":"xxx"}

3、

其他行为

挖矿程序成功运行之后,挖矿木马还是尝试内网横向移动、ssh爆破、rdp爆破、各种漏洞利用,还会留下后门,增加心跳时间。如图3所示,10.2.55.93感染挖矿后对外扫描192.10.200.*的1521和445端口。(下图为中睿天下研发的网络攻击溯源系统拦截到的木马攻击流量包)

可疑行为

终端检测

由于挖矿程序通常会占用大量的系统资源和网络资源,通常企业机构内部出现异常的多台主机卡顿情况并且相关主机风扇狂响,在线业务或服务出现频繁无响应,内部网络出现拥堵,在反复重启,并排除系统和程序本身的问题后依然无法解决,那么就需要考虑是否感染了恶意挖矿程序。同时可疑通过进程信息、命令信息、文件信息、计划任务等进行分析判断。

1、

进程分析

通过top命令查看CPU占用率情况,并按C键通过占用率排序,查找CPU占用率高的进程。

linux恶意进程

windows恶意进程

2、

历史命令

感染挖矿木马意味着主机失陷,可能会存在异常命令,可疑通过history查看历史命令进行分析,查看是否有wget 、curl类的下载命令及恶意文件执行命令。

可疑命令

3、

计划任务

在开始挖矿的时候,木马会使用添加计划任务进行常驻,可使用crontab -e命令查看计划任务。

计划任务

辅助手段

1、

服务器资源监控方式

可对服务器/主机资源来进行监控,通过计算历史月/周平均的硬盘使用率、CPU/GPU占比、电源功率消耗等不同挖矿形式可能用到的资源,超出基线范围外可能存在异常服务器资源被耗用(也就是可能被挖矿)的情况。

2、

电费记控的方式

跟上述的资源消耗监控类型一样,通过监控用电量及产生的费用发现异常。

3、

威胁情报收集

定期收集整理互联网威胁情报关于挖矿恶意软件的域名、IP及hash值,通过边界流量监控类设备进行匹配。

4、

区块链货币媒体类软件监控

通过类似于上网行为管理功能的监测产品,对不同用户在工作时间内使用区块链钱包、区块链媒体咨询软件等进行记录,发现在上班或者异常时间内频繁活跃的用户进行审计跟踪。

如何应对挖矿木马

流量测特征检测,以门罗为例:

下图为中睿天下的流量溯源系统拦截到的挖矿通讯流量包:

挖矿木马检测告警

挖矿流量协议

挖矿申请

上图中矿机使用mining.subscribe方法向矿池登记,矿池收到之后向矿机下发挖矿任务。

矿机向矿池确认挖矿任务

上图中框出来的json数据为矿机提交结果。

以上挖矿流量,可以自行提取特征自己组建规则拦截检测,如果能拦截到以上的网络流量那流量发起端大概率已经中了挖矿木马了。

端点侧定期扫描检查

终端检查工具下发全盘扫描检测任务

下图为中睿天下主机溯源取证系统,每天定时扫描恶意文件,扫出来的未启动的挖矿木马:

主机取证溯源系统恶意软件检测

静态检测

1、

检测脚本文件特征

Windwos挖矿木马脚本文件特征,通常都会结束其他的挖矿程序,然后再启动。可以直接从文件中搜索tasklist 关键字。

挖矿木马启动脚本

linux同样也是,搜索killall 或者 kill 也能搜索出来

linux挖矿木马启动脚本

2、

检测配置文件

挖矿的配置文件基本上都是统一json格式,url为矿池地址,user为钱包地址,pass为矿工机器类型,这个特征比较明显可以成为一个挖矿木马的检测特征。

挖矿木马配置文件特征

3、

二进制特征检测

检测传统的二进制特征(某一个段的16进制特征)、文件md5。

挖矿木马md5

检测目标程序的导出导入函数。

挖矿木马的函数

检测目标程序的字符串常量。

挖矿木马的字符串常量

内存扫描:内存字符串特征。

挖矿木马的内存字符串特征

# 主机常驻客户端检测 #

要求人员安装反病毒软件(如:火绒、卡巴斯基等杀毒软件),并实时更新病毒库。要求人员定期进行全部扫描。(我司每天都会使用自主研发的主机取证溯源系统进行安全扫描。)及时处理,减少恶意软件带来的损害。

人员意识宣传

01

下载防病毒软件

您可以通过下载防病毒软件,使设备保持安全状态,防止木马等有害病毒对您的系统造成严重破坏。

02

更新软件补丁

为您的设备下载更新或补丁,可以确保设备软件处于最新状态,修复软件的所有已知漏洞。

03

请勿将工作设备借给朋友或家人

允许朋友或家庭成员使用您的设备看似没有问题,但他们可能无法发现安全威胁,可能使您的设备受到恶意软件攻击。

04

确保设备在不使用时的安全

设备不使用时,请将设备上锁或收起来,以确保没有人能访问您的设备,以免在你不在时使用你的设备下载或者运行恶意软件。

总结

由于挖矿的收益极高,风险却相对较低,恶意挖矿攻击成为最常见的网络威胁之一。企业和机构若采取人工排查的方式,则人力成本高,耗时长。这时候就需要使用安全防护设备和安全服务来及时高效的检测、发现、响应恶意挖矿攻击。中睿天下网络攻击溯源系统能和主机取证溯源系统,能及时的检测、发现挖矿在内的各种网络、主机威胁,防患于未然,做好个人及公司级的安全防护。


矿机托管,买矿机,海外矿场找世链矿业。微信:juu3644

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。