对于挖矿病毒,我们如何发现它呢?其实有个很显然的问题,挖矿病毒会超级占用cpu,当你发现你的服务器变的很卡的时候,这时候,可能就是挖矿病毒或者其他病毒正在攻击你的服务器。
我也是有一段时间服务器变的很卡,那时我还以为是我自己的软件装太多导致的问题,不看不知道,看了吓一跳,服务器已经被攻击了,接下来,我来分享下如何查找和解决这个病毒。
一、找出病毒
当发现服务器卡的时候,我们可以采用top命令,如下显示
image.png
我们注意看以上这几个进程,没稍加注意的话,我们还以为这几个是正常的进程,为啥呢?
1、毕竟这几个的user是apache、www、nobody,因为我的web站点,文件目录是www目录,所以这个地方很容易被误认为就是我们的站点目录,而且apache本来是web服务,它取成了这个名词,也容易混淆我们的视野。
2、后面的command名称取成了networkservice 和sysupdate,名称很像我们的系统进程,
3、每个进程的cpu占用都比较小,平均差不多20%个cpu,可是这么多进程加起来,CPU占用就爆炸了,将近100%了
从上面这个地方可以发现这个攻击者很聪明,懂得用这种名称来混淆我们的视野
二、确认病毒
从上面的top命令知道了这几个占用比较大的进程号,我们可以根据其中的某个进程,比如7081入手,来查找其他关联的进程,使用以下命令,如下图所示
systemctl status 7801
image.png
进入到/etc目录下,
我们可以看到有sysupdate、networkservice、sysguard三个文件,这三个文件都是二进制文件,这三个应该就是挖矿的主程序和守护程序。还有一个update.sh文件,这应该是对挖矿病毒升级用的。这个update.sh怎么找出来的呢,其实是通过定时程序里面的cron找出来的。
再进入到 /var/spool/cron看下定时程序
如下图所示
image.png
可以看到这几个文件名称,和刚刚占用cpu高的进程user,名称是一样的
这样就可以确认的确是病毒攻击了服务器
三、解决
1、删除定时程序
rm -rf apache
rm -rf nobody
rm -rf root
rm -rf www
2、杀掉进程,并删除文件
以下这几张图片的进程id,分别进行kill杀掉
image.png
然后删除/etc下面的 sysupdate、networkservice、sysguard、update.sh和config.json几个文件
这时候,你可能会发现无法删除,因为病毒使用了chattr +i 命令,使用如下命令即可删除
chattr -i sysupdate
rm -rf sysupdate
每个无法删除的文件,都执行如上命令,即可实现删除文件
3、/root/.ssh/authorized_keys 删除
可能攻击者已经在这里配置了登陆,攻击者可以随便登陆你的服务器,你这里要把秘钥也修改下
经过这些处理后,可以发现我们的服务器已经不再卡了,如下,没有占用高的程序了
image.png
作者:奋斗live
链接:https://www.jianshu.com/p/b99378f0cf8f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。