最近我发现我的家庭服务器变得非常慢。所有资源都被两个进程占用:crond64
和tsm
。尽管我多次杀死它们,但它们还是一次又一次地出现。
与此同时,我的 ISP 通知我有关我的 IP 地址的滥用行为:
==================== Excerpt from log for 178.22.105.xxx====================
Note: Local timezone is +0100 (CET)
Jan 28 20:55:44 shared06 sshd[26722]: Invalid user admin from 178.22.105.xxx
Jan 28 20:55:44 shared06 sshd[26722]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=178.22.105.xxx
Jan 28 20:55:45 shared06 sshd[26722]: Failed password for invalid user admin from 178.22.105.xxx port 33532 ssh2
Jan 28 20:55:46 shared06 sshd[26722]: Received disconnect from 178.22.105.xxx port 33532:11: Bye Bye [preauth]
Jan 28 20:55:46 shared06 sshd[26722]: Disconnected from 178.22.105.xxx port 33532 [preauth]
Jan 28 21:12:05 shared06 sshd[30920]: Invalid user odm from 178.22.105.xxx
Jan 28 21:12:05 shared06 sshd[30920]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=178.22.105.xxx
Jan 28 21:12:07 shared06 sshd[30920]: Failed password for invalid user odm from 178.22.105.xxx port 45114 ssh2
Jan 28 21:12:07 shared06 sshd[30920]: Received disconnect from 178.22.105.xxx port 45114:11: Bye Bye [preauth]
Jan 28 21:12:07 shared06 sshd[30920]: Disconnected from 178.22.105.xxx port 45114 [preauth]
我得到了这我的网站可能感染了病毒。我运行 Sophos AV 扫描我的整个硬盘,确实在 中发现了一些病毒/tmp/.mountfs/.rsync
。所以我删除了整个文件夹,以为这就是问题所在。但之后它一直回来。然后我检查了用户 cron 文件/var/spool/cron/crontabs/kodi
(病毒使用我的媒体服务器 kodi 的用户运行),它看起来像这样:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (cron.d installed on Sun Feb 3 21:52:03 2019)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
* */12 * * * /home/kodi/.ttp/a/upd>/dev/null 2>&1
@reboot /home/kodi/.ttp/a/upd>/dev/null 2>&1
5 8 * * 0 /home/kodi/.ttp/b/sync>/dev/null 2>&1
@reboot /home/kodi/.ttp/b/sync>/dev/null 2>&1
#5 1 * * * /tmp/.mountfs/.rsync/c/aptitude>/dev/null 2>&1
看起来,病毒每隔一段时间就会从另一个目录重新激活自身。该目录的内容如下:
>>> ls /home/kodi/.ttp/*
/home/kodi/.ttp/cron.d /home/kodi/.ttp/dir2.dir
/home/kodi/.ttp/a:
a bash.pid config.txt crond32 crond64 cronda crondb dir.dir pools.txt run stop upd
/home/kodi/.ttp/b:
a dir.dir rsync run stop sync
/home/kodi/.ttp/c:
aptitude dir.dir go ip lib n p run slow start stop tsm tsm32 tsm64 v watchdog
我删除了所有这些文件和 crontab 中的条目,希望这样可以解决问题。但是,我很想知道这是什么病毒,我如何感染它(它可能与 Kodi 有关)以及我可以做些什么来预防它。幸运的是,它仅以具有有限权限的用户身份运行,但处理起来仍然很烦人。
编辑
尽管我似乎删除了该病毒的所有残余(我还删除了整个 tmp 文件夹),但病毒还是不断回来。我意识到 中有一个条目~/.ssh/authorized_hosts
,肯定不是我自己放的。这解释了病毒如何反复重新植入。我删除了该条目,禁用了该用户的登录,禁用了密码登录(仅限密码),现在使用非标准端口。
我还注意到有人用随机用户名反复尝试登录我的服务器,可能是某种机器人干的(日志看起来与我的 ISP 发送给我的从我的 IP 发起的日志惊人地相似)。我猜这就是我的电脑被感染的原因。
答案1
我也有同样的情况。服务安装了 rsync 并获取了一些文件。我dota.tar.gz
在用户文件夹中找到了一个文件。
- 防火墙拒绝 22 端口传出(例如
ufw deny out 22
) pkill -KILL -u kodi
(这将终止用户 kodi 的所有正在运行的进程)deluser kodi
- 刪除使用者主頁
- 删除 rsync(我没有使用这个)
- 消除
/tmp/.mountfs*
请注意,这可能会毁掉 kodi。您可能不必删除整个用户主目录,而只需删除dota.tar.gz
(如果存在)和.ttp
文件夹(不要忘记清理 crontab!)
重新启动后,我不再看到任何传出连接(请检查:
netstat -peanut | grep 22
感染是通过具有弱密码的用户进行的(可能是具有默认密码的 kodi 帐户?)
答案2
就我而言,感染源是用户在我创建他的帐户时没有更改他的不安全密码(当然我告诉他要更改)。我的服务器可能在某些列表中:我每周从 fail2ban 收到大约 1000 次禁令(尝试使用错误的用户或密码 4 次,将被封锁一个月)
答案3
我也遇到了同样的恶意软件。通过 ssh(非默认端口)输入未保存的用户密码即可进入,大约 24 小时后被检测到并被删除。
就我而言,删除用户的 crontab、、、rm -rdf /tmp/.*
就rm -rdf /home/user/.*
足够killall -u user
了。
答案4
这是我的解决方案(也称为加密挖掘恶意软件):
- pkill crontab 任务
- 清理此 crontab 作业描述指向的所有内容,即:/home/xxx/.ttp/a/upd>/dev/null 2>&1
- 删除 /tmp/.xxx/.rsync/c/aptitude>/dev/null 2>&1
- 最重要的(我花了很长时间才到达那里),否则它会不断回来:运行 crontab -e(对此用户)你会发现上面的 crontab 作业在那里,删除它们全部并保存。
- 更改端口号。