qW3xT.2挖矿病毒 解决过程及坑

      周一早上老大让我把项目更新一下,然后配置一下elasticsearch,我登上服务器之后部署的时候没有什么感觉,但是在配置elasticsearch的过程中感觉服务器哪个地方有点不对,下意识的top了一下,不看不知道一看吓一跳,一个进程竟然占了400的CPU

首先想到谁登服务器搞了什么鬼,毕竟不是我一个人在用这个服务器,没敢贸然杀死,上网查了一下发现很多朋友都遇到了这个问题,说是一个挖矿的病毒,然后就上网一通乱找,一通乱看,最后大致了解到了解决办法,总共应该分这几步吧:

1:首先找到它的来源,从哪里进来的,从根本上杜绝这种事情的再发生

2:找到他的守护进程,并把它干掉、干掉、干掉。一定要干干净了

我想先找到这个进程从哪里运行的,就是他的脚本文件到底在哪,我top之后知道了他的PID

image

接下来就根据PID来找他的位置

Linux在启动一个进程的时候,系统会在/porc下创建一个以PID为名称的文件夹,在这个文件夹下有这个进程的详细信息,我们进去看一下

image

cwd符号链接的是进程运行目录;

exe符号连接就是执行程序的绝对路径;

cmdline就是程序运行时输入的命令行命令;

environ记录了进程运行时的环境变量;

fd目录下是进程打开或使用的文件的符号连接。

我们看exe后面的绝对路径,进去之后会发现


D7186118-3715-4afa-B20B-A9F0A21A65F8

里面有两个可执行文件,其中一个就是qW3xT.2  不多说,直接干掉,然后杀死这个进程,但是当你杀死之后一分钟左右还是会蹦出来,这是怎么回事,原来还有一个唤醒线程,这个很重要,如果你只杀死了主进程就以为万事大吉了,那你错了,另一个线程依然会把这个进程复活,而且这个进程只有在主进程杀死以后才会出现,一旦主线程激活之后这个线程就找不到了,所以先杀死主线程,然后找到唤醒线程,一次干掉他们

    OK 到这里基本上这玩意儿就没了,我默默的看着top出来的结果YY起来,然后我就傻逼了,他又出来了Sleepy smile

    这尼玛,还干不掉你了,我明明已经把执行文件都删除了它怎么又冒出来了,从哪来的呢?明明删除了不会无缘无故的出来,经过一番查找,终于发现了一个地方/var/spool/cron  在这个路径下面有一个文件和目录

image

目录里面放的和外面放的是一样的两个root文件,我看了看里面的内容,是个下载链接,这个时候我还是不敢轻易删除,我把这个链接直接在本地打开看了一下

image

  妹的,是个脚本文件,而且根据里面的内容可以发现就是那个文件,不多说了,直接干掉

  这次没东西再去下载文件了这次总没事了吧,我静静等了两分钟。。。。它又出来了。。。。。。

有了之前的思路,我想了一下直接开始找root文件,全局搜索,一下出来了一大堆,然后慢慢找,看到/etc/cron.d/root  这个有点眼熟,跟上次干掉的那么像呢,就看了一下里面内容

image

又是这个链接,虽然有点看不懂,但是管不了这么多了,直接干掉吧

这次总行了吧,坚持了两分钟。。。。又出来了

然后一通乱查,就是不知道问题出在哪了,最后想到了一个问题,守护进程,我每次杀的时候都是直接杀的病毒,然而守护进程我一直没有动它,问题可能就出在这儿了,ps –ef|grep ddg  查看进程果然在,直接干掉,然后再重复之前的操作,找文件删除,杀死病毒挖矿进程,然后监测守护进程会不会活

终于。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

它这次好像彻底死了

总结:

    1:找到启动文件在哪,干掉

    2:找到远程连接下载脚本的文件干掉,这个过程中如果能大体判断文件名直接全局查找,然后找到可疑文件,看看内容有问题直接干掉

    3:先干掉守护进程,再干掉挖矿进程  (切记守护进程一定要干掉)

    第一步和第三步两个要反复查看,无论是启动文件在或者进程在都会再次复活

当然我们还要避免类似事情再发生,还是要追究根源,网上说的是Redis的问题,我之前一直将信将疑的没有往上写,但是在杀的过程中,几个文件中确实看到了关于Redis的字眼,从此判断确实可能是Redis的问题,所以我们要对Redis的配置做出修改,使它更加安全,比如:修改Redis的默认端口,修改成繁琐的密码

这一步最好是在你杀毒之前做好,毕竟说这是根源,万一你在杀毒的过程中通过Redis再对你进行什么操作这应该不是不可能的,毕竟你漏洞在哪,不修补总是会出现问题的

最后在补充一点小东西,有些在植入病毒之后不仅使用你的资源,还会登录你的账号,你可以查看一下 /etc/passwd 看看有没有你不认识的账号(不包含系统内置账号,系统内置账号你干掉那可别怪我Smile with tongue out),有的话直接禁止登录,或者直接删除掉都行

      安全问题看来是很严峻啊,之前也是没有遇见过这种问题,写下文章记录我在解决这个问题的全过程以及遇到的一些坑

原文地址:https://www.cnblogs.com/SunArmy/p/9662006.html