A orientação de que devemos tomar cuidado com softwares antigos ou abandonados não é exagerada. Prova recente disso vem do Eval PHP. Esse é nome de um plugin para WordPress que não é atualizado desde 2012 e, agora, vem sendo usado para comprometer sites.

Eval PHP compromete segurança do WordPress (imagem ilustrativa: Vitor Pádua/Tecnoblog)
Eval PHP compromete segurança do WordPress (imagem ilustrativa: Vitor Pádua/Tecnoblog)

O Eval PHP permite que o administrador de um site em WordPress adicione códigos PHP diretamente em páginas ou postagens. O recurso pode ser usado para testar funções ou oferecer funcionalidades aos visitantes do site.

Por ser um plugin antigo e usado para um propósito muito específico, o Eval PHP é pouco usado atualmente. Mas a empresa de segurança digital Sucuri notou que, nas últimas semanas, vários sites estavam sendo infectados com um backdoor cujo código tem relação com o plugin.

A Sucuri constatou que, no final de março, o Eval PHP chegou a um pico diário de 7 mil downloads. Antes disso, o plugin raramente registrava um único download por dia. A companhia estima que, desde então, mais de 100 mil downloads já foram realizados.

Invasão silenciosa

O Eval PHP não se tornou popular de uma hora para outra. O número de downloads disparou simplesmente porque ele vem sem usado pelos invasores, não por administradores de sites.

Tudo começa quando o invasor insere um código malicioso na tabela “wp_posts” do banco de dados do WordPress. Para isso, ele usa uma conta de administrador comprometida, que também serve para que o plugin seja instalado.

Por meio do plugin, o código é injetado em páginas ou postagens do WordPress. Basta então ao invasor acessar esses links para o código ser executado. Quando isso ocorre, o backdoor é inserido na raiz do site.

Várias ações maliciosas podem ser executadas a partir daí, como disseminação de malware, captura de dados e ataques a outros sites.

Para evitar que as páginas e postagens comprometidas sejam descobertas, os invasores as salvam como rascunho. Assim, os links não aparecem na relação de conteúdo público do site.

O que torna todo esse esquema diferente de outros tipos de invasões é que, como o código malicioso é executado graças ao Eval PHP, é mais difícil o seu rastreamento por mecanismos de segurança.

Para piorar a situação, se o backdoor for removido, ele poderá ser inserido no site novamente após o simples acesso a uma das páginas ou postagens comprometidas.

Eval PHP está há mais de dez anos sem atualização (imagem: reprodução/Sucuri)
Eval PHP está há mais de dez anos sem atualização (imagem: reprodução/Sucuri)

Medidas de segurança

Evitar o uso de softwares (aqui, plugins) desatualizados é uma das formas de se prevenir contra invasões. Se o Eval PHP recebesse manutenção, certamente os seus mantedores encontrariam formas de evitar que o plugin fosse usado para execução de código malicioso.

Como no caso em questão o plugin é instalado pelo invasor, não pelo usuário, caberia aos mantenedores dos repositórios do WordPress adotar medidas preventivas. Por outro lado, é difícil para eles monitorar um universo tão grande de plugins.

É por isso que medidas complementares devem ser adotadas pelos administradores de sites. A Sucuri recomenda:

  • manter os recursos do site sempre atualizados;
  • proteger o painel de administração do WordPress com autenticação em dois fatores para dificultar acessos indevidos;
  • contar com um serviço regular de backup;
  • usar firewalls para bloquear bots e atenuar vulnerabilidades conhecidas.

Plugin abandonado é usado para atacar silenciosamente sites com WordPress