Black SEO WordPress Malware

Recentemente cruzei com o problema de um cliente com um código malicioso que apareceu em seu site e que, mesmo depois de removido, voltada depois de um tempo.

Esse código é injetado nos arquivos functions.php de todos os temas do site (e não só no tema ativo) e se espalha por todos os sites wordpress dentro do servidor. Isso mesmo, uma instalação wordpress comprometida vai infectar outros sites de outros clientes que estão instalados no mesmo servidor.

Ele é usado para fazer spam de SEO mas pode ser usado para outras coisas também uma vez que abre caminho para a criação de usuários administrativos diretamente no banco de dados.

Como esse malware é um tanto recente e não há muita informação disponível na internet. Então resolvi compilar um pouco do que encontrei, juntar com as minhas investigações e explicar como se livrar dele.

De onde vem?

Esse código malicioso aparece, vindo de plugins e temas instalados de fontes não confiáveis (conhecidos como “nulled plugins”). Sites que diponibilizam gratuitamente o download de plugins premiuns/pagos e que, geralmente, adicionam trechos de códigos maliciosos.

Não vou linkar nenhum dos sites maliciosos justamente para não ajudar a espalhar a praga. Mas tenha em mente que, sites que prometem gratuitamente plugins e temas que são pagos, geralmente carregam esse tipo de código malicioso!

Pra ser sincero, não sei qual a necessidade de instalar um plugin “pirata” no sistema. Se você precisa tanto do tal plugin, porquê não apoiar seu desenvolvedor e COMPRAR A LICENÇA?! Desculpa o desabafo.

Ao ativar um plugin desses, um código malicioso é executado adicionando arquivos, injetando códigos, criando tabelas e abrindo a brecha para que o hacker (i)responsável tenha acesso ilimitado ao sistema.

Sinais do ataque

Os indícios de que seu site foi infectado com esse código são:

  1. Injeção de um bloco de código em todos os arquivos functions.php de todos os temas do site (em todos os temas, não apenas no tema ativo);
  2. Criação da tabela wp_datalist no banco de dados do sistema;
  3. Criação dos arquivos wp.class.php and wp-cd.php na pasta /wp-includes;
  4. Inclusão de código malicioso no arquivo wp-includes/post.php;
  5. Acessos de um usuário administrador que não é o seu. (Se você tem algum log de acessos ao site, fica mais fácil verificar isso. Recomento o: Sucuri Security Plugin).
O script deixa uma porta aberta para que o hacker adicione um usuário administrador e o remova a qualquer momento, sem que você perceba. Então ele tem acesso a todo seu site, e em todos os sites do seu servidor! 

 

Esse é o bloco de código adicionado (que pode variar um pouco dependendo do malware instalado):

[gist id=eb4946375575d20a4d21413184680a87]

Como se livrar disso?

Sempre faça um backup completo do seu sistema antes de fazer qualquer um dos procedimentos descritos aqui. Não faça nada sem ter a certeza do que está fazendo.

 

  1. Delete todos os arquivos core do WordPress;
  2. Faça upload de novos arquivos baixados de wordpress.org (na mesma versão do seu sistema);
  3. Delete o(s) plugin(s) que causaram o problema;
  4. Re-instale todos os plugins que sobraram;
  5. Limpe todos os arquivos function.php, de todos os temas (de preferência, apague e suba versões novas da fonte);
  6. Delete a tabela wp_datalist da sua base de dados;
  7. Rode uma verificação com o plugin Sucuri Security Plugin.

Curioso?

Se você ficou curioso pra saber mais sobre a estrutura desse malware, o usuário ecrider, criou um repositório no github com a engenharia reversa dos arquivos e seu código descompilado.

E, como ele mesmo avisa: Não tente rodar nenhum dos códigos a menos que você saiba exatamente o que está fazendo. Se possível, execute em um ambiente sandbox controlado para as suas pesquisas e use com cuidado.

Fonte

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *