临近2018年底,我们阿里云上的一台ECS服务器竟然被阿里云短信提示有挖矿程序,多
次收到阿里云的短信提醒说什么服务器被植入挖矿程序,造成系统资源大量消耗;而且还收到
CPU使用率达到百分之90的安全提醒,我们的服务器上并没有运行大量的网站,只是一个公司
的展示网站,怎么可能会出现CPU%90以上的告警,然后致电阿里云技术帮忙检查服务器为什
么CPU占用这么高,得知服务器被黑,导致中了挖矿木马,服务器含有挖矿进程,一直在不停
的挖矿才导致CPU这么高。
挖矿程序处理过程
首先我们先来了解一下什么是挖矿:
挖矿是跟区块链以及虚拟币有关系,虚拟币是挖矿挖出来的,每间隔一段时间,比特币或者以太
坊虚拟币就会在他们的区块链系统上生成一个块的随机代码,网络上的所有服务器都可以去找这
个随机代码,也就是挖矿的过程对这个随机代码进行挖掘,谁挖到这个代码就会产生一个区块链
的块,那么比特币跟以太坊就会奖励找到随机代码的人,奖励一定数量的虚拟币,那么挖矿的人
就会有动力去挖矿,去维护整个区块链节点的网络正常运行,挖矿需要计算哈希值需要服务器的
处理能力,所以有些攻击者利用入侵别人服务器来给自己挖矿,获取利润。
坊虚拟币就会在他们的区块链系统上生成一个块的随机代码,网络上的所有服务器都可以去找这
个随机代码,也就是挖矿的过程对这个随机代码进行挖掘,谁挖到这个代码就会产生一个区块链
的块,那么比特币跟以太坊就会奖励找到随机代码的人,奖励一定数量的虚拟币,那么挖矿的人
就会有动力去挖矿,去维护整个区块链节点的网络正常运行,挖矿需要计算哈希值需要服务器的
处理能力,所以有些攻击者利用入侵别人服务器来给自己挖矿,获取利润。
知道什么是挖矿,那么我们就要从服务器来入手,我的服务器是阿里云 linux centos系统,通过执
行top命令来查看当前服务器的所有进程,我们来看下图:
行top命令来查看当前服务器的所有进程,我们来看下图:
挖矿程序的进程一般都是以一些数字加大小写字母组合的进程名字,比如:WaKuang,Qw1a,Poa1
等等的挖矿进程名字,有的甚至伪装成正常的进程名来绕过管理员的查杀,最简单的办法就是通过
TOP命令看当前占用CPU最高的进程来确定。
等等的挖矿进程名字,有的甚至伪装成正常的进程名来绕过管理员的查杀,最简单的办法就是通过
TOP命令看当前占用CPU最高的进程来确定。
看到恶意的进程我们来看下进程的程序是在哪里调用的,lsof -p pid执行这个命令,把TOP看到进
程PID写上,比如我的PID是888 那就执行lsof -p 888,我们可以看到调用的程序文件位置在哪
里。
如下图:
程PID写上,比如我的PID是888 那就执行lsof -p 888,我们可以看到调用的程序文件位置在哪
里。
如下图:
从上面的图片中可以看出,这个进程所使用的文件位置非常的可疑,我们就打开这个目录地址看
下目录里是否存在恶意的文件,我们通过查看发现果真存在恶意的文件,文件里竟然写了很多恶
意的挖矿程序代码,我们确定问题后就要删除这些恶意文件,对该目录的文件进行强制的删除,
对linux系统自启动的项目进行删除,去除挖矿程序的自启动,清除挖矿木马,KILL挖矿的进程,
至此服务器挖矿程序解决完毕。
下目录里是否存在恶意的文件,我们通过查看发现果真存在恶意的文件,文件里竟然写了很多恶
意的挖矿程序代码,我们确定问题后就要删除这些恶意文件,对该目录的文件进行强制的删除,
对linux系统自启动的项目进行删除,去除挖矿程序的自启动,清除挖矿木马,KILL挖矿的进程,
至此服务器挖矿程序解决完毕。
挖矿程序删除的安全建议与处理方法
对服务器的安全要定时的安全检查,检查服务器的系统是否有linux定时任务,以及服务器重启动
后会不会自动加载启动项,对于服务器的连接进行阿里云安全组策略,对特殊端口进行单独的放
行,比如服务器的SSH端口,管理员要登录的时候先放行IP,才能登录到服务器。对服务器的漏
洞进行修复,检查服务器为何被上传木马文件,是通过系统漏洞,还是网站漏洞进行的入侵。如
果自己对服务器不是太了解的话,可以找专业的网络安全公司来处理挖矿程序,删除挖矿木马,
像Sinesafe,绿盟那些专门做网络安全防护的安全服务商来帮忙。
后会不会自动加载启动项,对于服务器的连接进行阿里云安全组策略,对特殊端口进行单独的放
行,比如服务器的SSH端口,管理员要登录的时候先放行IP,才能登录到服务器。对服务器的漏
洞进行修复,检查服务器为何被上传木马文件,是通过系统漏洞,还是网站漏洞进行的入侵。如
果自己对服务器不是太了解的话,可以找专业的网络安全公司来处理挖矿程序,删除挖矿木马,
像Sinesafe,绿盟那些专门做网络安全防护的安全服务商来帮忙。