1. 挖矿是什么?
挖矿的最终目的其实是为了获取虚拟货币;常见为比特币、以太坊等;。在区块链网络中;用户可以以通过使用大量计算资源来计算出合法数值的方式来获取虚拟货币。因此;以获取虚拟货币为目的的挖矿行为由此产生。通常采用“矿工-矿池”的模式进行挖矿;矿池负责监听网络中的交易、打包区块等工作;矿工根据矿池下发的计算任务;消耗大量的设备计算资源来获取符合要求的shares返回给矿池;矿池会给予矿工一定的收益。
2. 挖矿木马做什么的?
挖矿会带来大量的计算资源消耗;成本过于高昂;这就使一些不法分子通过各种手段将矿机程序植入到受害者的计算机中;利用受害者的计算机资源进行计算;从而获取非法收益。挖矿木马为了使用更多的计算资源;一般会通过对全网进行漏洞扫描、SSH爆破等攻击手段。部分挖矿木马具有横向传播的特点;会在成功入侵一台主机后;对处在同一个内网的其他主机进行横向渗透;以此来获得长期巨大而计算资源。
简单来说就是;用你的计算机算力来赚钱
1. 隔离主机
部分带有蠕虫功能的“挖矿”木马在取得主机的控制权后;会继续对局域网内的其他主机进行横向渗透;所以在发现主机被植入挖矿木马后;在不影响业务正常运行的前提下;应该及时隔离受感染的主机;然后进行下一步分析和清除工作。
2. 确定进程
当主机中有挖矿木马程序在执行时;木马进程通常会占用大量的CPU资源;隔离主机以后需要立马对进程进行排查;确定是否有异常进程存在。Linux系统可以通过top -c命令查看当前进程情况。
3. 阻断通信
挖矿木马需要与矿池保持通信;因此;我们需要对主机中网络连接进行排查来判断是否有可疑的ip和端口。使用~netstat -tunlpa 通过https://x.threatbook.com/查看该异常进程是否有非常规的外网连接。
4. 任务排查
● 大部分挖矿木马通常会在主机中设置定时任务;在预设时间进行挖矿操作;以此来避免在主机使用高峰期被主机拥有者发现。通过crontab -l 产看是否有定时木马启动任务;如果有则使用crontab -r清除异常启动项;
● 开启自动启动也是挖矿木马常用的启动方式;使用systemctl list-unit-files 查看是否有异常启动项;如果有则使用 systemctl disable 启动项清除异常启动项;
● 动态链接库也是挖矿木马的藏匿地点之一;使用cat /etc/ld.so.preload 命令查看是否有异常的动态连接选项;如果有则使用> /etc/ld.so.preload 清除异常链接库;
● 挖矿木马可能还会添加登录用户或添加 SSH 公钥来保持服务器控制权限;使用cat ~/.ssh/authorized_keys 查看是否存在可疑的SSH公钥;如果有则编辑该文件进行删除;
● 使用vim /etc/shadow 或者 vim /etc/passwd 查看是否有异常的新建用户;如果有则使用userdel -r $NAME 删除可疑用户。
5. 删除文件
● 在第2步定位到异常进程;Linux的进程文件通常在/proc/$PID/文件夹下;使用ls -l /proc/$PID/exe 确定挖矿进程的执行文件位置
● 使用kill -9 $PID杀死进程
● 清除第4步任务排查中发现的所有的挖矿木马遗留程序