Descobrir que um site WordPress está infectado com malware é uma emergência — mas a reacção mais comum (entrar em pânico e reinstalar tudo) frequentemente piora a situação ou não elimina a infecção na raiz. Este guia cobre o processo sistemático de identificação, contenção, limpeza e prevenção de reinfecção que profissionais seguem em situações reais.
Sinais de infecção por malware
Como detectar que um site WordPress está comprometido:
- Google mostra aviso "Este site pode ser perigoso" nos resultados de pesquisa
- Redirects para sites desconhecidos (frequentemente apenas para visitantes mobile ou vindos do Google)
- Páginas spam indexadas pelo Google que não existem no WordPress
- Conta de hosting suspensa por envio de spam ou consumo excessivo
- Ficheiros desconhecidos na raiz do site ou em /wp-content/uploads/
- Pop-ups ou anúncios que não foram configurados pelo administrador
- Utilizadores admin desconhecidos na lista de utilizadores WordPress
Passo 1: Contenção imediata
Antes de limpar, contenha a infecção para evitar mais danos:
- Colocar o site em modo de manutenção para proteger visitantes
- Mudar todas as passwords: WordPress admin, FTP, base de dados, painel de hosting
- Revogar todas as sessões no WordPress (Dashboard > Utilizadores > Terminar sessão em todos os outros locais)
- Fazer backup do estado actual (infectado) — pode ser necessário para análise forense
Passo 2: Identificar o tipo de malware
Ferramentas de scan gratuitas:
- Wordfence (scan gratuito do plugin)
- Sucuri SiteCheck (scan remoto em sitecheck.sucuri.net)
- Google Search Console (secção Segurança — mostra problemas detectados pelo Google)
Tipos comuns de malware WordPress:
- Backdoors: ficheiros PHP que permitem acesso remoto (frequentemente em /wp-includes/ ou /uploads/)
- Pharma hacks: injectam links de farmácias em páginas existentes (visíveis apenas para Googlebot)
- Redirects maliciosos: código em .htaccess ou JavaScript injectado que redireciona visitantes
- Crypto miners: JavaScript que usa CPU dos visitantes para minerar criptomoeda
Passo 3: Limpeza manual
O processo sistemático de limpeza:
- Substituir core WordPress: descarregar wordpress.org/latest.zip e substituir /wp-admin/ e /wp-includes/ inteiramente (nunca tocar /wp-content/)
- Verificar wp-config.php: comparar com wp-config-sample.php — procurar código PHP estranho no início ou fim do ficheiro
- Limpar .htaccess: substituir por regras padrão do WordPress ou verificar redirects suspeitos
- Auditar plugins: remover todos os plugins e reinstalar de fontes oficiais. Comparar ficheiros com versões originais do repositório
- Auditar temas: verificar functions.php e header.php do tema activo para código injectado
- Verificar /wp-content/uploads/: procurar ficheiros .php na pasta de uploads (não deviam existir)
- Limpar base de dados: verificar tabela wp_options para URLs alterados, verificar wp_posts para scripts injectados
- Remover utilizadores suspeitos: verificar se existem contas admin não reconhecidas
Passo 4: Verificação pós-limpeza
- Executar scan completo com Wordfence após limpeza
- Verificar Google Search Console — solicitar re-análise se havia aviso
- Testar site em múltiplos browsers e dispositivos (malware condicional pode só aparecer em mobile)
- Monitorizar logs de acesso durante 2 semanas para actividade suspeita
Passo 5: Prevenção de reinfecção
Limpar sem prevenir é garantir reinfecção. Medidas obrigatórias:
- Actualizar tudo: WordPress, plugins e temas para versões mais recentes
- Instalar firewall WAF (Wordfence premium ou Sucuri)
- Implementar 2FA para todas as contas admin
- Configurar monitorização de integridade de ficheiros
- Configurar backups automáticos diários com retenção de 30 dias
- Remover plugins e temas não utilizados (não apenas desactivar)
Site infectado? Resolução urgente
A Vuvo oferece resolução de incidentes WordPress com triagem em menos de 1 hora. Limpeza, hardening e prevenção incluídos.
Suporte urgente