É comum que, após limpar malware em um site WordPress, o invasor volte em poucos dias — mesmo com plugins removidos e arquivos aparentemente restaurados. Isso acontece porque existe um backdoor sobrevivendo mesmo após excluir arquivos, mantendo acesso persistente ao servidor ou ao CMS. Esse backdoor é projetado exatamente para resistir a limpezas superficiais e reinstalar códigos maliciosos sempre que você tenta recuperar o ambiente.
Por que backdoors sobrevivem mesmo depois da limpeza
Eles não ficam onde você espera
A maioria das pessoas procura no /public_html, em temas ou plugins. Backdoors robustos raramente ficam apenas lá.
Persistência planejada
Hackers instalam acesso redundante de forma que excluir arquivos visíveis não elimina a porta de entrada.
Onde backdoors costumam se esconder
1) Fora do diretório público
/home/user//tmp//var/- Pastas com nomes parecidos com sistemas legítimos (
/logs/,/cache/,/backup/)
2) Em arquivos do core do WordPress alterados
wp-config.phpwp-settings.phpwp-load.phpclass-wp.phprenomeado com payload
3) No banco de dados
- Funções serializadas em
wp_options - Hooks com
eval()ou chamada remota injetada - Jobs agendados via
wp_cronpara reinfecção
4) Em cron jobs do sistema
crontab -e/etc/cron.daily/,/cron.hourly/- Tarefas invisíveis no painel cPanel ou Plesk
5) Em plugins e temas “limpos” após reinfecção
O invasor reinstala o código malicioso por script, não por manual. Por isso a alteração reaparece minutos após “limpeza”.
Como identificar um backdoor persistente
- Reinfeção após restauração ou varredura
- Arquivos recriados automaticamente
- Conexões externas no log mesmo sem tráfego
- Scripts off-domain carregados (“callback servers”)
- Jobs no
crontabexecutando PHP remoto - Funções comprimidas com
base64,gzinflate,str_rot13,hex2binetc.
Ferramentas comuns de antivírus WordPress não detectam backdoors quando mascarados ou criptografados.
Erro mais comum: limpar o sintoma, deixar a origem
Remover arquivos infectados em /wp-content/ e ignorar:
- cron jobs
- banco de dados
- SSH/API keys
- painel do provedor
- arquivos de sistema
significa apenas adiar a reinfecção.
Estratégia correta de eliminação de backdoor persistente
- Auditar o ambiente completo (não só o WordPress)
- Listar cron jobs e remover execuções suspeitas
- Comparar integridade de core WordPress (substituição total)
- Buscar payload em banco e hooks automatizados
- Revogar todos os acessos (SSH, FTP, DB, painel)
- Trocar senhas após a limpeza, não antes
- Habilitar WAF e bloqueios de escrita ou isolamento
Backdoors sofisticados só são erradicados quando a fonte de persistência é removida — não apenas o código visível.





