Como remover malware de sites WordPress

Publicado em 21 de janeiro de 2020 por Augusto Pereira
Remover malware WordPRess

Remover malware de sites WordPress infectados é um dos serviços que executamos com certa frequência para novos clientes. Normalmente, clientes que têm a campanha do Google Ads bloqueada devido a algum tipo de infecção são os que nos procuram para resolver o problema. Uma dificuldade encontrada muitas das vezes é a identificação de quais arquivos estão com código malicioso inserido, pois muitas das vezes eles estão codificados sem seguir um padrão específico.

A utilização de plugins para realizar essa atividade nem sempre é efetiva. As infecções não possuem um padrão determinado, podendo variar de inúmeras formas. Por vezes, mesmo plugins como o Wordfence, Sucuri Scan ou o MalCare informando que o site estava 100% limpo, fazendo a busca manual encontramos arquivos infectados ou com backdoor. Como resultado de alguns anos de experiência, vasculhando soluções e métodos para a identificação de códigos maliciosos chegamos à uma forma bastante eficaz de proceder.

Para facilitar o trabalho de onde estão os arquivos infectados sugerimos a execução das seguintes etapas de forma a facilitar o processo de limpeza:

  1. Faça um backup de todos os arquivos do site, principalmente toda a pasta wp-content e o arquivo wp-config.php .
  2. Baixe uma cópia local dos arquivos do site infectado para uma máquina linux.
  3. Vá até a raiz do site e execute o seguinte comando:

egrep -Rl ‘\$GLOBALS.*\\x|function.*for.*
strlen.*isset|isset.*eval’ *

Este comando, muito eficiente, irá buscar e listar os arquivos que possivelmente são os ofensores principais do site.

Outras formas de identificação de arquivos maliciosos

Além disso, ainda é possível incrementar este comando com outros possíveis termos que usualmente são usados em backdoors. De acordo com o site da Sucuri, estas funções são as frequentemente usados:

  • base64
  • str_rot13
  • gzuncompress
  • eval
  • exec
  • system
  • assert
  • stripslashes
  • preg_replace (with /e/)
  • move_uploaded_file

Fique atento, pois essas funções também são usadas em plugins legítimos. Uma análise minuciosa deve ser feita antes de alterar qualquer arquivo.

Para facilitar o trabalho, corrija ou remova apenas arquivos que estejam dentro da pasta wp-content . Arquivos fora desta pasta, com exceção do wp-config.php , podem ser baixados novamente do repositório oficial do WordPress . Portanto, a etapa 4 é :

  • Baixe uma instalação nova do WordPress e substitua todos os arquivos, exceto a pasta wp-content e o arquivo wp-config.php .

Após isso, siga com as correções dentro da pasta wp-content. Caso o arquivo identificado possua apenas um trecho de código, apenas a remoção parcial é recomendada. Caso o arquivo esteja totalmente infectado, a remoção completa deve ser executada.

Um outro comando para ser executado na rais de sua instalação WordPress e que pode auxiliar no processo de identificação de arquivos infectados é o seguinte:

find ./ -type f -mtime -7

Este comando lista todos os arquivos modificados nos últimos 7 dias. Você pode aumentar ou diminuir o range alterando o número usado no comando.

Exemplo de arquivos parcialmente infectados

Arquivos como por exemplo o index.php , wp-config.php ou até o arquivo functions.php, presentes em qualquer instalação WordPress são arquivos que normalmente têm apenas parte do seu conteúdo infectado. A maioria das vezes o arquivo já inicia com um trecho de código malicioso e apenas esse trecho deve ser removido.

Exemplo de arquivos totalmente infectados

Muitas das vezes irá se deparar com arquivos totalmente infectados. Comumente, eles têm nomes destoantes dos nomes de arquivos usados no WordPress. Se você já está acostumado a configurar novas instalações do WordPress, irá identificá-los com facilidade. Veja um exemplo abaixo:

Lista de arquivos do WordPress
Lista de arquivos do WordPress

Neste caso, por exemplo, o arquivo news.php não faz parte dos arquivos padrão do WordPress e ele é um arquivo desnecessário e pode ser eliminado.

Como evitar futuras infecções

Mantenha sempre um backup dos arquivos e banco de dados do seu site, bem como todos os plugins e o núcleo do WordPress atualizados. Caso tenha plugins instalados no seu seu site e que não estejam sendo usados, desabilite-os e remova-os em seguida. Recentemente, outubro 2019, houve uma atualização de segurança muito importante do WordPress. Caso seu site ainda esteja em versões anteriores à ela, atualize seu site o mais rápido possível.

1