记Linux服务器中的 kdevtmpfsi 挖矿病毒

2021.7.2日(周五)邻近下班,突然旁边的同事急促的告知我后台上不去了,然后就上服务器上去看,一看发现内存占用变成90%左右,当时一惊,那就加个班吧~

使用top命令查看后,发现有个进程占了很大资源,这个进程就是kdevtmpfs,Google 一下才知道,好家伙,服务器被当成矿机了

1查看进程 2top 3

这个进程以及相关进程,都是运行在 www 用户下,并且会加上一个定时任务

直接 kill 并不能将其结束掉,它还有守护进程及可能存在的定时任务。

1. 查看定时任务

1定时任务 2crontab -l 3

如果只是单单的查看定时任务会发现什么异常的没有,因为公司涉及到其他业务,有些定时任务也在一直运行,所以说我查看定时任务后并没有发现什么异常,在回顾到最开始我top的时候,病毒应该是在www用户下,我一顿操作猛如虎,后来才发现看走眼了啊。

存在定时任务的不一定是当前用户,可以使用以下命令查找其他用户是否存在任务:

1所有用户下的定时任务 2for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done 3

这下就出来了,病毒太狡猾了 顺着www用户去寻找

查看指定用户下的定时任务 

1查看指定用户下的定时任务 2crontab -l -u 用户名 3

清除指定用户下的定时任务

1干掉指定用户名下的定时任务 2crontab -r -u 用户名 3

2. 干掉进程

1干掉进程 2ps -aux | grep kinsing 3ps -aux | grep kdevtmpfsi 4kill -9 pid 5

3. 删除掉kdevtmpfsi的相关文件

1cd /tmp 2ls 3rm -rf kdevtmpfsi 4rm -rf /var/tmp/kinsing 5

4. 再检查一下是否还有kdevtmpfsi的相关文件

1find / -name kdevtmpfsi 2find / -name kinsing 3

5. 阻止病毒 IP 访问

1iptables -A OUTPUT -d 病毒ip -j DROP 2

6. 预防方法

删除不相关的用户

无论是服务器登录密码,还是数据库等应用服务的验证密码,都最好弄复杂一些,并且注意好权限管理,以防被爆破出来。

必须给redis加密码,越复杂越好,同时注意配置文件中,一些本地存储文件化的选项。这里已经有很多人掉进坑里了,redis真的是一个很容易受攻击的点。

网上千篇一律的全是这种处理方式,但很多方式并不适合我,我尝试了很多次,无论我怎么删除,病毒还是存在。

至此,应该把这个木马病毒清干净了,通俗来说就是别人利用漏洞在你服务器上开了个后门,让你的服务器变成了他的肉鸡。至于是否真的真的删干净了呢,我也不确定,万一它又隐藏了什么触发脚本之类的东西呢?

代码交流 2021