记一次清理服务器挖矿程序注入kdevtmpfs

记一次清理服务器挖矿程序注入kdevtmpfs,第1张

前几天突然发现公司服务器很卡,CPU经常飙到200%;网站服务被自动停止,甚至服务器崩溃;于是进行排查,发现一个名为:kdevtmpfs的进程占用了180%多的CPU,吓了一跳,于是赶紧排查问题:首先查到这个进程并不少我们服务器用到的进程,于是在网上查找这个问题,发现很多人都遇到过,于是根据网上的一个教程开始清理:

1、删除掉/tmp文件下的kdevtmpfs文件;删除掉kdevtmpfs对应的进程,清理掉定时任务;(无效,几分钟后依然会自动重启,自动在定时任务新增定时任务)( >线上一台服务器,CPU高达90%以上,经过top 分析出进程kdevtmpfsi
kill -9 杀死进程无果,很快就会自动恢复
排查步骤:

结果:

病毒被植入到了线上运行的某一docker容器内。

如何先确定是哪一容器再去删除搜索结果中的病毒文件?

我这台机器跑的容器不多,可以用复制文件的方法,先 docker cp 一个文件到容器中。再去find 这个文件
如果结果还是在刚才搜索病毒的那个文件目录下(/var/lib/docker/devicemapper/mnt/xxxxx )就可以确定容器了。结果是php的容器出现了问题。

知道是具体是什么容器出现了问题,最快的办法就是先重启一个新的容器。
我这边是nginx +php 两种服务容器,所以先启动了一个新php容器,修改nginx中配置文件代理后端php服务器端口为新容器的IP地址。(nginx容器已经映射目录到宿主机)

修改PHP后端IP地址
cd 宿主机映射nginx的配置文件位置目录

测试线上环境正常后,删除原来的php容器。(这是自然也==直接删除了病毒文件)
执行 TOP命令,CPU占用正常。
平时防火墙和sellinux都关闭的话,服务器不要暴漏太多无用端口,出现问题应该最新通过进程名去查找文件的原始位置去分析问题,遇到挖矿病毒也应该多注意/etc/initd下和cron计划任务有无异常。
后期也可以写个cron或者脚本

利用云电脑的计算资源执行挖矿的持续性程序,
已停止是服务绝大数都是正常的。这些已停止表示你已经禁用或停止了相关的服务,但停止不是卸载,所以它们仍然存在是正常的,每台电脑里都有许多已停止的服务,不用担心。你真正要担心的是360那个提示,可在任务管理器中查着活动进程,若某进程CPU或内存占用高,而你又不明确该进程是干嘛的,可以先结束进程再看看360还会不会提醒!

服务器CPU使用率50%,被两个进程占用,名称分别为
-mysql
zfsutils-md5sum

使用crontab -l查看定时任务,发现病毒文件-mysql

查看这个/var/log/目录,发现更多病毒文件,-mysql是个脚本,内容如下

查看/etc/crontabdaily目录,发现一个文件名为ntpdate

/bin/sysprg创建日期与ntupdate是同一天,文件大小与x86_64相同,无疑也是个病毒文件。

进入到/var/spool/cron目录查看文件权限,发现被加了保护,使用lsattr去除,再编辑删除内容即可

禁用crontab

云服务器中挖矿病毒的清除过程(一)
云服务器中挖矿病毒的清除过程(二)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12890149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存