TL; DR: configure um novo VPS e configure o CMS novamente do zero.
Especialmente se você não sabe como limpar o sistema por conta própria, a abordagem mais segura e fácil seria configurar um novo VPS. Se você não sabe o que você tem que procurar e como funciona uma infecção, é muito fácil perder alguma coisa ao fazer a limpeza e, em seguida, a infecção pode começar novamente a partir dessas sobras. É muito difícil encontrar e remover todos os vestígios de uma infecção de um sistema. Fiz isso para alguns de nossos clientes, é possível, mas é preciso tempo e conhecimento.
Se você configurar um novo VPS, não coloque a instalação antiga e desatualizada do CMS nesse novo VPS, pois levará apenas algumas horas ou dias para ser infectado também. Você precisa atualizar o CMS para uma versão segura e com suporte e limpar todas as portas traseiras que os invasores tenham plantado. Novamente, se você não sabe como fazer isso, a maneira mais fácil pode ser instalar o CMS no novo VPS e copiar o conteúdo da instalação antiga para a nova. Não copie todo o banco de dados ou arquivos, pois ambos podem conter portas traseiras, dependendo do CMS em questão.
Se você tiver uma cópia limpa e não infectada do CMS, poderá copiá-la para o novo VPS.
Se você tiver uma cópia, mas ela estiver desatualizada e quiser manter seu conteúdo antigo, tente comparar a cópia com a instalação infectada. diff -ru copy infected
pode ajudar aqui, mas, novamente, você precisa saber o que está procurando.
Com ou sem uma cópia, você também pode tentar listar todos os arquivos que foram modificados no último mês (ou mais, se a infecção ocorreu há algum tempo) com find -mtime -30
. No entanto, isso não é seguro, pois o invasor pode ter falsificado o tempo de modificação dos arquivos.
Se você vir algumas linhas distorcidas em arquivos .php
, isso geralmente é um sinal de arquivos infectados. Algo semelhante ao abaixo é um sinal bastante seguro de um arquivo infectado.
eval(base64_decode('ZWNobyAiSGVsbG8gTHViV24sIHRoaXMgaXMgaG93IGNvZGUgb2Z0ZW4gbG9va3MgbGlrZSBpZiBhbiBhdHRhY2tlciB3YW50cyB0byBoaWRlIHdoYXQgdGhlIGNvZGUgZG9lcyBmcm9tIHlvdXIgcHJ5aW5nIGV5ZXMuIjs='));
É claro que você pode grep -r eval .
para essas linhas, mas novamente nem todas as infecções necessariamente contêm eval
. Existem outras maneiras de executar código aleatório também, e o invasor pode ter adicionado código que não é ofuscado.
Por favor, esteja ciente de que, se você seguir esse caminho, você deve encontrar todos os lugares onde o invasor manipulou seu CMS e limpá-los, caso contrário, a infecção pode continuar.
No seu caso, pode haver um meio termo também. Assumindo que o invasor não ganhou root
privileges (uma suposição de que obviamente não é seguro, mas como os mineiros são executados como www-data
possivelmente é verdade), você pode fazer backup e remover todos os arquivos pertencentes a www-data
. O backup deve estar em um sistema diferente e o CMS não deve ser executado a partir desse backup. Você também deve limpar o crontab de www-data
( crontab -e -u www-data
). Se apenas o usuário www-data estiver infectado, isso deve remover completamente a infecção do seu sistema e você pode começar a instalar um novo CMS no VPS. Se a infecção continuar, você deve configurar um novo VPS e fazer a instalação do CMS novamente.
Em relação a clamav
: você pode tentar executá-lo, mas provavelmente não limpará a infecção, portanto, seu ganho líquido provavelmente é zero.