记一次服务器被 kdevtmpfsi 变矿机

CodeCosmicAegis
• 阅读 5225

昨天有台测试服务器被告知服务异常,进服务器之后才发现是因为docker 异常退出了。

将docker 运行起来之后,发现有个不认识的进程 kdevtmpfsi 占用CPU 异常的多,Google 一下才知道,好家伙,服务器被当成矿机了。

记一次服务器被 kdevtmpfsi 变矿机

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

1. 首先查找文件

$ find / -name kinsing      // 守护进程
$ find / -name kdevtmpfsi   // 挖矿进程

如果Redis 是运行在本地,上面两个文件通常是在/tmp/目录下。

如果Redis 是以容器的方式运行,则通常是在/var/lib/docker/overlay2/(容器的 /tmp/ 目录)下。

2. 将其删除

$ rm -f kinsing kdevtmpfsi

这里被感染的容器也不一定是Redis ,比如我的则是PHP,所以需要进入到被感染的容器内才能找到。

3. 干掉进程

$ ps -aux | grep kinsing
$ ps -aux | grep kdevtmpfsi
$ kill -9 pid

4. 查看定时任务

$ crontab -l

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

$ for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done

定时任务还可能存在于以下地方:

  1. /etc/crontab
  2. /var/spool/cron/
  3. /var/spool/cron/crontabs/

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

因为病毒是依赖于容器生存的,于是我便将容器停止掉,通过docker logs 实时查看容器最后10条日志:

docker logs -f -t --tail 10 <容器id/容器名称>

十分钟之后,总算让我逮到了:

记一次服务器被 kdevtmpfsi 变矿机

虽然目睹了全过程,但这时我依然无能为力,因为我不知道上面那些命令是如何自动启动的。

尝试了各种方式,但都无解,十分钟之后病毒还是会出来,最终我只能把这个被感染的容器给弃用了,重新起一个新的容器。

总结

kdevtmpfsi病毒的产生,通常是因为Redis 对外开放 6379端口,且没设置密码或者密码过于简单导致。

所以服务器一定要设置好防火墙,像33066379 这种常用端口,尽量减少对外开放的机会。

参考链接

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Stella981 Stella981
3年前
Kerberos无约束委派的攻击和防御
 0x00前言简介当ActiveDirectory首次与Windows2000Server一起发布时,Microsoft就提供了一种简单的机制来支持用户通过Kerberos对Web服务器进行身份验证并需要授权用户更新后端数据库服务器上的记录的方案。这通常被称为Kerberosdoublehopissue(双跃点问题),
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
03.Android崩溃Crash库之ExceptionHandler分析
目录总结00.异常处理几个常用api01.UncaughtExceptionHandler02.Java线程处理异常分析03.Android中线程处理异常分析04.为何使用setDefaultUncaughtExceptionHandler前沿上一篇整体介绍了crash崩溃
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
3年前
Bypass 360主机卫士SQL注入防御(多姿势)
0x00前言在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影。从半年前的测试虚拟机里面,翻出了360主机卫士Apache版的安装包,就当做是一个纪念版吧。这边主要分享一下几种思路,Bypass360主机卫士SQL注入防御。!(https://oscimg.osc
Stella981 Stella981
3年前
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法参考文章:(1)Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.codeprj.com%2Fblo
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这