首页 > 技术文章 > 云服务器的挖矿病毒。

charlie-xiong 2020-05-13 17:25 原文

1.简介

  朋友的阿里云放着没用了,我就借来打算放两个小东西上去,结果一上去看到CPU 100%,我的天,如果这是个Windows,我就要开始怀疑他是不用这个来看爱情片。

2.解决方案

  当在CPU爆满。使用 top 命名会发现有若干个进程长期占用及高的CPU,那么问题就出在这些进程上,想都不用想kill -9 pid 瞬间消灭!垃圾病毒,虽远必诛!刚开始自信满满的时候,biu的一下 CPU又重新回到100。这下就难搞了,感觉度娘!

先说一个快速,指标不治本的解决方案:

(1)通过 top 获取病毒进程的pid,然后进入/proc/中,然后找到对应pid的文件夹进去。最后 ls -l  展示信息的exe的值就是对应进程的文件路径

(2)进入路径找到该程序 chattr -i 程序名 如(chattr -i networkservice)然后 rm -rf 程序名 

(3)新建一个同名的文件执行chattr +i 程序名 就大功告成

这样操作的原理是删除病毒程序,并新建一个同名,且不可更改的文件,这样病毒脚本就无法下载病毒程序到本机了。

 

 

  病毒工作原理:通过一个定时任务,定时从指定地址去下载一个脚本,然后通过脚本下载程序,并且运行程序。没错这个程序就是挖矿程序,放心挖到了也不是你的。

  根据这个原理   首先可以关闭定时任务 crontab -l 查看所有定时任务 然后就看到了,没30分钟执行一次脚本,而且更可气的是病毒在文件命名上很有迷惑性,当时我中的两个分别叫systemupdate,networksservice。我的天,最开始还以为是系统的东西。既然看到了任务 就赶紧 crontab -r 删除所有任务 注意!有可能你定时任务在其他用户上,就算你用root也删不了其他用户的定时任务!!必须去其他用户删除。而且一般情况下都会是在另外一个用户上,后面会讲原因。在/var/spool/cron/ 文件夹下还有很多具有迷惑性的文件,挨着一个个打开看到如:有这样的文件,赶紧也删除掉

  通过上面的删除文件、新建文件再删除定时任务,病毒脚本,基本就算彻底解决的这个病毒。但解决归解决,系统漏洞还是存在的。

 

3.漏洞根源

    https://help.aliyun.com/knowledge_detail/37447.html?spm=5176.11065259.1996646101.searchclickresult.16ab7107YvPMOh

====================================================================================================================

  根据介绍,是因为Redis服务没有设置密码并且对公网可访问。那么解决方案就有两种。

(1) redis服务增加密码。

  修改redis目录下/etc/redis.conf# requirepass foobared 去掉注释修改为 requirepass 密码 然后重启服务

(2) 设置外网不可访问。

       同样修改redis.conf 中的 bind 0.0.0.0 这个表示所有网络可以访问 修改为bind 127.0.0.1 就隔绝外网了,但是实际生产环境多数都不会是本机运行,就需要指定IP才可访问。设置方式见下:

https://blog.csdn.net/weixin_33726313/article/details/85900576

 

推荐阅读