Malware em WordPress: tipos, como remover e prevenir reinfecção

WordPress é o CMS mais atacado do mundo — não porque é inseguro por natureza, mas porque a sua ubiquidade torna-o alvo rentável. Compreender os tipos de malware que afetam WordPress, como identificar uma infecção e como limpar corretamente é conhecimento essencial para qualquer agência que gere sites de clientes.

Como os sites WordPress são comprometidos

Os vetores de ataque mais comuns por ordem de frequência:

  1. Plugins e temas desatualizados: vulnerabilidades conhecidas em componentes desatualizados — a causa mais frequente
  2. Passwords fracas ou reutilizadas: brute force ou credenciais obtidas em data leaks
  3. Plugins ou temas pirateados: contêm frequentemente backdoors propositadas
  4. Permissões de ficheiros incorretas: ficheiros writeable que não deveriam ser
  5. Hosting comprometido: outro site no mesmo servidor comprometido que afecta os vizinhos

Tipos de malware WordPress mais comuns

Backdoors

Scripts PHP que permitem ao atacante acesso persistente mesmo após limpeza parcial. Frequentemente inseridos em ficheiros de tema, plugin ou wp-includes. Podem parecer código WordPress legítimo.

Exemplos típicos: funções com eval(base64_decode(...)), ficheiros com nomes semelhantes a ficheiros WordPress legítimos mas em locais errados.

Redirecionamentos maliciosos

O site redireciona visitantes (especialmente de pesquisas Google) para sites de spam, phishing ou com conteúdo ilegal. Frequentemente injetado via JavaScript no tema ou via PHP no servidor. Os redirecionamentos podem ser condicionais — apenas para visitantes móveis, apenas de certos países, ou apenas quando o utilizador veio de pesquisa orgânica.

SEO Spam (Japanese/Chinese keywords)

O atacante injeta páginas ou conteúdo com keywords irrelevantes (frequentemente em japonês, chinês ou árabe) para SEO black hat. O site torna-se um veículo para spam de pesquisa. Detectável procurando no Google por site:seusite.pt e verificando se aparecem páginas com conteúdo estranho.

Cryptominer

JavaScript injetado que usa o CPU dos visitantes para minar criptomoeda. Resulta em browser muito lento para os visitantes. Detetável via análise de Network no DevTools — pedidos a domínios de mining.

Phishing

Páginas de phishing hospedadas no site WordPress — formulários falsos de login a bancos, páginas de recolha de cartão de crédito. O site mantém-se funcional enquanto serve como plataforma de phishing. Google SafeBrowsing deteta e bloqueia o site quando identifica.

Spam mailer

Scripts PHP que enviam spam em massa usando o servidor do site. Resulta em IP do servidor em blacklists de email, emails legítimos do site a ir para spam, alertas do hosting sobre uso excessivo de email.

Identificar uma infecção

Sinais de alerta

  • Google Chrome mostra aviso "Este site pode danificar o seu computador"
  • Google Search Console mostra alertas de segurança
  • O site aparece em site:seusite.pt com páginas em idiomas estranhos
  • Hosting a alertar sobre uso excessivo de CPU ou email
  • Visitantes reportam redirecionamentos para sites estranhos (especialmente em mobile)
  • Novo utilizador administrador que não foi criado pela equipa
  • Ficheiros PHP recentemente modificados em locais incomuns

Ferramentas de diagnóstico

  • Sucuri SiteCheck (sitecheck.sucuri.net): scan externo gratuito — verifica listas negras e malware visível no frontend
  • Wordfence (scan completo): compara ficheiros WordPress com os originais e identifica alterações suspeitas
  • Google Safe Browsing (transparencyreport.google.com): verificar se o site está em lista negra do Google

Processo de limpeza passo a passo

  1. Colocar o site em modo de manutenção: evitar que mais utilizadores sejam afetados durante a limpeza
  2. Backup completo antes de qualquer alteração: mesmo que o backup contenha malware, é necessário para referência
  3. Alterar todas as passwords: WordPress admin, FTP, base de dados, hosting, email
  4. Verificar e eliminar utilizadores admin desconhecidos
  5. Reinstalar WordPress core: descarregar versão limpa e substituir wp-admin/ e wp-includes/ (manter wp-content/ e wp-config.php)
  6. Reinstalar todos os plugins e temas de fontes oficiais: não restaurar de backup — o backup pode estar comprometido
  7. Scan completo de wp-content/: verificar uploads/ para ficheiros PHP, verificar themes/ e plugins/ para código suspeito
  8. Limpar a base de dados: verificar wp_options para injeções, wp_users para contas suspeitas, verificar todos os posts para JavaScript malicioso
  9. Verificar e corrigir permissões de ficheiros
  10. Pedir remoção de lista negra: após limpeza, submeter pedido de revisão no Google Search Console se o site estava na lista negra

Prevenir reinfecção

A limpeza sem mudança de processo resulta em reinfecção. As medidas preventivas:

Um site comprometido pode afetar a reputação da sua agência. Deixe-nos tratar da segurança.

O nosso serviço de manutenção WordPress inclui monitorização de segurança, scanning de malware e resposta a incidentes.

Proteger os sites dos seus clientes