Ubuntu 中的 crond64/tsm 病毒

eri*_*rik 22 malware antivirus

最近我注意到我的家庭服务器变得非常缓慢。所有资源都被两个进程吃掉了:crond64tsm。尽管我多次杀了他们,他们还是一次又一次地出现。

同时,我的 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]
Run Code Online (Sandbox Code Playgroud)

我被这个网站提示我可能感染了病毒。我运行 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
Run Code Online (Sandbox Code Playgroud)

看起来,病毒每隔一段时间就会从另一个目录重新激活自己。该目录的内容是:

>>> 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
Run Code Online (Sandbox Code Playgroud)

我删除了所有这些文件和 crontab 中的条目,希望这样问题就解决了。但是,我会感兴趣的是这是什么病毒,我可能是如何捕获它的(它可能与 Kodi 相关)以及我可以做些什么来预防它。幸运的是,它仅由权限有限的用户运行,但处理起来仍然很烦人。


编辑

虽然我貌似删除了这个病毒的所有残留物(我也删除了整个 tmp 文件夹),但病毒还是会卷土重来。我意识到有一个条目~/.ssh/authorized_hosts,我绝对没有把自己放在里面。这解释了病毒如何可以反复重新种植。我删除了该条目,禁用了该用户的登录,禁用了密码登录(仅限密码),现在使用非标准端口。

我还注意到在我的服务器上使用随机用户名重复登录尝试,可能是某种机器人(日志看起来与从我的 IP 启动的日志惊人地相似,由我的 ISP 发送给我)。我想这就是我的计算机首先被感染的方式。

小智 9

我有同样的。该服务安装了 rsync 并获得了一些文件。我dota.tar.gz在用户文件夹中找到了一个文件。

  1. 拒绝防火墙中的 22 端口传出(例如ufw deny out 22
  2. pkill -KILL -u kodi (这会杀死用户 kodi 的所有正在运行的进程)
  3. deluser kodi
  4. 删除用户主页
  5. 删除 rsync(我没有使用这个)
  6. 消除 /tmp/.mountfs*

请注意,这可能会毁了 kodi。您可以只删除dota.tar.gz(如果它在那里)和.ttp文件夹(不要忘记清理 crontab!),而不是删除整个 userhome 。

重新启动后,我再也看不到任何传出连接(请检查:

netstat -peanut | grep 22
Run Code Online (Sandbox Code Playgroud)

感染是通过密码较弱的用户(可能使用默认密码的 kodi 帐户?)