Como Limpar um Site WordPress ou PHP Infectado: Guia Técnico de Descontaminação

Como Limpar um Site WordPress ou PHP Infectado: Guia Técnico de Descontaminação

Descobrir que um site em produção foi comprometido é um dos cenários mais críticos na administração de sistemas web. Em plataformas baseadas em PHP, especialmente no ecossistema WordPress, ataques automatizados exploram vulnerabilidades em plugins desatualizados, temas com falhas de segurança ou permissões frouxas de arquivos para injetar scripts maliciosos, redirecionamentos indesejados, mineradores de criptomoedas ou backdoors persistentes.

Limpar um ambiente contaminado exige um método estruturado. Apenas deletar arquivos suspeitos identificados por plugins automáticos raramente resolve o problema por completo, pois invasores costumam estabelecer múltiplos pontos de persistência no sistema de arquivos e no banco de dados.

Abaixo, exploramos a anatomia técnica de uma infecção em PHP e as etapas práticas para sanitizar e restaurar a integridade da aplicação.


A Anatomia de uma Infecção em PHP/WordPress

A maioria das infecções segue padrões reconhecíveis de execução e persistência:

  1. Injeção de Código Ofuscado: Strings codificadas em Base64 combinadas com funções de execução dinâmica (eval(), gzinflate(), assert(), base64_decode()), frequentemente inseridas no topo de arquivos legítimos como index.php, wp-config.php ou wp-settings.php.
  2. Backdoors em Diretórios com Permissão de Escrita: Criação de arquivos PHP aleatórios dentro de pastas de upload (/wp-content/uploads/), onde o servidor web não deveria executar scripts interpretados.
  3. Criação de Usuários Administrativos Ocultos: Inserção direta de credenciais nas tabelas de usuários do banco de dados para garantir reentrada.
  4. Tarefas Agendadas (Cron Jobs): Uso de tarefas cron do servidor ou do sistema interno (wp_cron) para baixar novamente os arquivos maliciosos caso sejam excluídos.

Fluxo Técnico de Recuperação e Descontaminação

1. Isolamento Imediato e Backup Forense

Antes de qualquer intervenção, isole o ambiente para evitar que o site espalhe malware aos visitantes ou seja colocado em listas de bloqueio (blacklist):

  • Ative uma página estática de manutenção via servidor web (Nginx/Apache).
  • Gere um backup completo do estado atual (arquivos e banco de dados). Esse backup serve como registro forense para identificar quando e como a invasão ocorreu.

2. Verificação de Integridade dos Arquivos Principais

Em sistemas baseados em WordPress, os arquivos do núcleo (core) nunca devem ser alterados. A verificação de integridade pode ser realizada via linha de comando com a ferramenta oficial WP-CLI:

bash

Verifica checksums dos arquivos do núcleo do WordPress

wp core verify-checksums

Verifica integridade dos plugins instalados pelo repositório oficial

wp plugin verify-checksums –all

Arquivos que apresentarem divergência de hash devem ser imediatamente substituídos por versões limpas extraídas diretamente da fonte oficial.

3. Substituição Limpa do Core, Plugins e Temas

A abordagem mais segura consiste em não tentar “limpar” arquivos de terceiros manualmente, mas sim substituí-los por completo:

  1. Exclua as pastas wp-admin e wp-includes e substitua-as por versões limpas da mesma versão instalada.
  2. Exclua a pasta de cada plugin e reinstale-os diretamente de fontes confiáveis.
  3. Inspecione o diretório do tema ativo, prestando atenção especial ao arquivo functions.php e arquivos JavaScript associados.

4. Sanitização do Diretório de Uploads

O diretório /wp-content/uploads/ deve conter exclusivamente arquivos de mídia (imagens, vídeos, documentos), nunca executáveis PHP. Execute uma busca para identificar e remover arquivos executáveis indevidos:

bash

Localiza qualquer arquivo PHP dentro do diretório de uploads

find wp-content/uploads/ -type f -name “*.php”

5. Auditoria e Limpeza do Banco de Dados

Os invasores frequentemente gravam código malicioso diretamente nas tabelas SQL:

  • Tabela de Usuários: Inspecione wp_users e wp_usermeta procurando contas com privilégios de administrador criadas recentemente.
  • Opções e Transients: Na tabela wp_options, verifique campos como siteurl, home e registros autoloaded que contenham tags <script> ou referências a domínios desconhecidos.
  • Conteúdo de Posts: Busque injeções de iframes ou scripts em wp_posts no campo post_content.

6. Rotação Completa de Credenciais

Após a remoção do código malicioso, todas as credenciais associadas ao sistema precisam ser invalidadas:

  • Redefina os Security Salts no arquivo wp-config.php para encerrar todas as sessões ativas de usuários.
  • Altere a senha do banco de dados MySQL/PostgreSQL.
  • Altere credenciais de FTP, SSH e painel da hospedagem.
  • Redefina as senhas de todos os usuários administrativos.

Boas Práticas de Hardening e Arquitetura

Em sistemas que desenvolvo e administro, a arquitetura de segurança é implementada em camadas para impedir que falhas pontuais comprometam o servidor como um todo:

  • Bloqueio de Execução PHP em Uploads: Configuração direta no Nginx/Apache proibindo que o interpretador PHP processe arquivos localizados em diretórios de mídia.
  • Permissões de Arquivos Restritivas: Diretórios com permissão 755 e arquivos com 644, com o proprietário dos arquivos separado do usuário que executa o processo web sempre que possível.
  • Deploy Imutável: Em ambientes profissionais, o código da aplicação deve ser tratado como imutável em produção, sendo alterado apenas por pipelines automatizados de CI/CD, o que impede a gravação de arquivos maliciosos em tempo de execução.
  • Web Application Firewall (WAF): Uso de camadas de proteção de borda (como Cloudflare ou regras ModSecurity) para barrar payloads conhecidos antes que atinjam o servidor.

Recuperação Profissional e Auditoria de Segurança

A desinfecção de um sistema em produção exige atenção minuciosa aos detalhes para garantir que nenhuma backdoor residual permaneça ativa. Se o seu site WordPress ou sistema em PHP foi infectado e você precisa de uma auditoria técnica completa, remoção de vulnerabilidades e implementação de rotinas de hardening para proteger sua operação, entre em contato para avaliarmos uma consultoria especializada.

Preencha o formulário abaixo para que eu consiga entrar em contato com você.