Virus crond64 / tsm en Ubuntu

14

Recientemente noté que mi servidor doméstico se volvía extremadamente lento. Todos los recursos fueron consumidos por dos procesos: crond64y tsm. Aunque los maté repetidamente, seguían apareciendo una y otra vez.

Al mismo tiempo, mi ISP me notificó sobre un abuso que se originó en mi dirección 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]

Este sitio web me indicó que podría tener un virus. Ejecuté Sophos AV escaneando todo mi disco duro y de hecho encontré algunos virus /tmp/.mountfs/.rsync. Así que eliminé toda la carpeta y pensé que esto es todo. Pero siguió volviendo después. Luego verifiqué el archivo cron del usuario /var/spool/cron/crontabs/kodi(el virus se estaba ejecutando usando el usuario de mi servidor de medios kodi), que se veía así:

# 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

Parece que el virus se está reactivando de vez en cuando desde otro directorio. El contenido de ese directorio es:

>>> 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

Eliminé todos estos archivos y las entradas en el crontab y espero que con esto se resuelva el problema. Sin embargo, me interesaría qué virus era, cómo podría haberlo atrapado (podría estar conectado a Kodi) y qué puedo hacer para prevenirlo. Afortunadamente, solo se ejecutaba desde un usuario con derechos limitados, pero aún así era molesto de tratar.


EDITAR

Aunque aparentemente eliminé todos los restos de este virus (también eliminé toda la carpeta tmp), el virus seguía regresando. Me di cuenta de que había una entrada ~/.ssh/authorized_hosts, que definitivamente no puse. Esto explica cómo el virus podría replantarse repetidamente. Eliminé la entrada, deshabilité el inicio de sesión para ese usuario, deshabilité el inicio de sesión con contraseña (solo contraseña) y ahora uso un puerto no estándar.

También noté repetidos intentos de inicio de sesión en mi servidor con nombres de usuario aleatorios, probablemente por algún tipo de bot (el registro se veía asombrosamente similar al lanzado desde mi IP, que me envió mi ISP). Supongo que así es como mi computadora se infectó en primer lugar.

erik
fuente
44
Tenga en cuenta que si ya ha sido pirateado una vez, es probable que haya otras cosas en el disco que estén infectadas o violadas. Probablemente debería volar el sistema y reconstruirlo. Los virus rara vez afectan solo a una aplicación y generalmente se extienden por el disco.
Thomas Ward
¡Estoy de acuerdo! si alguien ingresó a su sistema, limpie el sistema y restaure una copia de seguridad del sistema
Rinzwind
Claro, esta sería la solución segura. Pero acababa de reinstalar este sistema y no quería reinstalarlo sin comprender lo que sucedió. Al copiar los archivos, esto podría haber comenzado de nuevo y habría perdido el tiempo.
erik
Probablemente, su sistema fue violado, por lo tanto, la forma en que el virus se reinfecta continuamente. Destruiría el sistema y comenzaría de nuevo.
Thomas Ward
1
También encontré la infección en el archivo .bashrc del usuario: cd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAAB... ...VKPRK+oRw== mdrfckr">>.ssh/authorized_keys && chmod 700 .ssh && cd .ssh && chmod 600 authorized_keys && cd ~. Acabo de hacer una cp /etc/skel/.bashrc /home/mycompromiseduser/para eliminarlo.
letsjump

Respuestas:

6

Yo tuve lo mismo. El servicio instaló rsync y obtuvo algunos archivos. Encontré un dota.tar.gzarchivo en la carpeta del usuario.

  1. denegar el puerto 22 saliente en el firewall (por ejemplo ufw deny out 22)
  2. pkill -KILL -u kodi (esto mata todos los procesos en ejecución del usuario kodi)
  3. deluser kodi
  4. eliminar userhome
  5. eliminar rsync (no usé esto)
  6. eliminar /tmp/.mountfs*

Tenga en cuenta que esto probablemente arruinará las cosas para kodi. En lugar de eliminar toda la casa del usuario, probablemente solo pueda eliminar dota.tar.gz(si está allí) y la .ttpcarpeta (¡no olvide limpiar el crontab!)

Después de reiniciar, ya no veo conexiones salientes (verifique con:

netstat -peanut | grep 22

La infección se produjo a través de un usuario con una contraseña débil (¿tal vez la cuenta kodi con la contraseña predeterminada?)

Sjors Nijhuis
fuente
1

Tenía el mismo malware. La entrada se realizó a través de una contraseña de usuario no guardada a través de ssh (puerto no predeterminado), se detectó y eliminó después de aproximadamente 24 horas.

En mi caso, la supresión de crontab del usuario, rm -rdf /tmp/.*, rm -rdf /home/user/.*, killall -u userera suficiente.

final
fuente
1

Tenía esta cosa hoy. He examinado el sistema y descubrí que mi sistema tiene sus rastros durante aproximadamente un mes y no me di cuenta de que esto estaba allí hasta que mi ISP me lo notificó.

El malware llegó a través de un usuario inseguro con una contraseña débil. En mi caso era usuario de timemachine. El registro de penetración se veía así.

98341:Dec 23 23:45:36 fileserver sshd[23179]: Accepted password for timemachine from 46.101.149.19 port 45573 ssh2

Este es el minero XMRIG y un exploit que escanea otras IP en busca de las mismas debilidades. Entonces, una máquina puede infectar en cascada a docenas de otras. Puedes echar un vistazo al informe de MS sobre este ciberataque .

La protección más efectiva contra este tipo de ataques es instalar fail2banen su servidor, limitar el acceso ssh con la velocidad ufwy usar ACL de lista blanca para los sistemas que pueden acceder a SSH en su servidor.

Savrulin romano
fuente
0

En mi caso, la fuente de infección era un usuario que no cambiaba su contraseña insegura desde que creé su cuenta (por supuesto, se lo dije). Es probable que mi servidor esté en algunas listas: recibo alrededor de 1000 prohibiciones por semana de fail2ban (intente 4 veces con un usuario o contraseña incorrectos y estaré bloqueado durante un mes)

Sjors Nijhuis
fuente
0

Esta es mi solución (también se denomina malware de minería crypo):

  1. pkill los trabajos crontab
  2. limpie lo que indique la descripción de este trabajo crontab, es decir: /home/xxx/.ttp/a/upd>/dev/null 2> & 1
  3. eliminar /tmp/.xxx/.rsync/c/aptitude>/dev/null 2> & 1
  4. lo más importante (me lleva un largo camino llegar allí), de lo contrario seguirá regresando: ejecute crontab -e (para este usuario) encontrará que el trabajo crontab anterior está allí, elimínelos a todos, guárdelo.
  5. Cambiar el número de puerto.
Jack Ma
fuente