# Encontrar backdoor no WordPress em 6 passos

<strong>Encontrar backdoor no WordPress</strong> exige cruzar varredura de arquivos, banco de dados e logs antes de remover qualquer linha de código. Segundo o NVD (2020), a <a href="https://nvd.nist.gov/vuln/detail/CVE-2020-35489" rel="noopener" target="_blank">CVE-2020-35489</a> (CVSS 10.0) no Contact Form 7 permitia upload arbitrario de arquivo. Funções como eval() e base64_decode() sinalizam ofuscacao na maior parte dos casos. Comece pela auditoria, nao pela exclusao.

Encontrar backdoor no WordPress significa localizar o trecho de código escondido que devolve acesso ao invasor mesmo depois de você trocar senhas. Um backdoor é uma porta dos fundos: um arquivo PHP, uma função em um plugin ou uma linha no banco de dados que reabre a invasão. Diferente do malware visível, ele não quer ser notado, e por isso a varredura precisa ser metódica. Este guia faz parte do hub de <a href="https://full.services/seguranca-wordpress/">guias de segurança WordPress da FULL</a> e mostra como agir sem derrubar o site. Se o seu site já mostra redirecionamentos ou spam, o problema quase sempre tem uma porta dos fundos por trás, como detalha o guia sobre <a href="https://full.services/o-que-e-backdoor-em-wordpress-e-como-eliminar/">o que é backdoor em WordPress</a>.

---

## Diagnóstico rápido: Sinais de backdoor no WordPress

Sete sinais aparecem em quase todo site comprometido, e reconhecê-los economiza horas de varredura às cegas. Em boa parte dos tickets de invasão que chegam ao suporte da FULL, o dono percebe o problema tarde demais: o backdoor já recriou 1 ou mais usuários admin e injetou redirecionamentos de spam.

Antes de começar a encontrar backdoor no WordPress, registre os sintomas abaixo, porque eles guiam onde varrer primeiro e separam um simples <a href="https://full.services/glossario/malware-wordpress/">malware</a> visível de uma porta dos fundos persistente.

<table id="sinais-backdoor-wordpress">
<caption>Sinais de backdoor no WordPress: sintoma, causa provável e onde investigar</caption>
<thead>
<tr><th scope="col">Sintoma</th><th scope="col">Causa provável</th><th scope="col">Onde investigar</th></tr>
</thead>
<tbody>
<tr><th scope="row">Usuário admin desconhecido</th><td>Backdoor recria conta via banco</td><td>Tabela wp_users e wp_usermeta</td></tr>
<tr><th scope="row">Redirecionamento para spam</th><td>Injeção em wp-config ou .htaccess</td><td>Arquivos raiz e tema ativo</td></tr>
<tr><th scope="row">Arquivos .php em /uploads</th><td>Upload arbitrário de arquivo</td><td>wp-content/uploads</td></tr>
<tr><th scope="row">Plugin que não instalei</th><td>mu-plugin malicioso</td><td>wp-content/mu-plugins</td></tr>
<tr><th scope="row">Picos de tráfego noturno</th><td>Shell PHP em execução</td><td>Logs de acesso do servidor</td></tr>
</tbody>
</table>

<p class="wp-caption-text">Legenda: a varredura cruza arquivos e banco antes de qualquer exclusão, evitando falso positivo.</p>

---

## Passo a passo: Encontrar backdoor no WordPress e remover

O processo tem 6 passos e funciona melhor na ordem abaixo, porque limpar antes de mapear costuma deixar o backdoor recriar a infecção em minutos. Em ambientes com mais de 30 plugins, a porta dos fundos costuma aparecer em um must-use plugin que carrega antes de qualquer hook de segurança.

Por isso, para encontrar backdoor no WordPress de forma definitiva, isole o site, faça backup forense e só depois remova. O <a href="https://full.services/all-in-one-security-seguranca-wordpress/">All in One Security</a> ajuda na varredura agendada e no bloqueio de execução PHP em uploads.

### Passo 1: Isole o site e faça backup forense

Encontrar backdoor no WordPress começa antes da varredura: coloque o site em manutenção e gere um backup completo, incluindo banco de dados, antes de tocar em qualquer arquivo. Esse backup não serve para restaurar: serve como evidência para comparar versões e rastrear o ponto de entrada. Use o UpdraftPlus ou o painel da hospedagem. Um <a href="https://full.services/glossario/firewall-wordpress/">firewall</a> ativo nesse momento corta novas requisições do invasor enquanto você trabalha, segundo a documentação oficial do plugin.

### Passo 2: Compare arquivos com o Core original

Baixe o WordPress da fonte oficial e compare hash a hash com a sua instalação. Qualquer arquivo modificado no diretório /wp-admin ou /wp-includes é suspeito, porque o core raramente muda fora de uma atualização. Ferramentas como Wordfence e WPScan automatizam esse diff. A FULL, como única CNA brasileira sob a CISA desde maio de 2022, cataloga CVEs reais que indicam quais versões de plugin trazem o vetor de entrada.

### Passo 3: Procure funções de ofuscação no código

Busque por eval(), base64_decode(), gzinflate() e str_rot13() em todo o wp-content. Essas funções, combinadas, executam código remoto sem aparecer no log de acesso, e são a assinatura mais comum de backdoor. Use grep via SSH ou a varredura do <a href="https://full.services/glossario/hardening-wordpress/">hardening</a>. Nem todo eval() é malicioso, então confirme o contexto antes de apagar, para não quebrar um plugin legítimo que usa a função de forma controlada.

### Passo 4: Audite o banco de dados e os usuários

Verifique a tabela wp_users por contas admin que você não criou e a wp_options por scripts injetados em campos como siteurl. Um backdoor avançado guarda o payload no banco, não em arquivo, e por isso a limpeza só de arquivos falha. Rode consultas SQL filtrando por base64 e por <a href="https://full.services/glossario/nonce-wordpress/">nonce</a> ausente em requisições suspeitas. Remova usuários fantasmas e force logout global de todas as sessões ativas.

### Passo 5: Inspecione mu-plugins, uploads e .htaccess

Abra wp-content/mu-plugins, wp-content/uploads e o .htaccess da raiz, os três esconderijos preferidos do invasor. Arquivos .php dentro de /uploads nunca deveriam existir: o diretório guarda imagens. Backdoor em uploads com servidor sem bloqueio de execução PHP gera reinfecção automática mesmo após limpar o tema. Bloqueie execução PHP nessa pasta via configuração do servidor, conforme recomenda a documentação do All in One Security.

### Passo 6: Remova, troque chaves e valide

Apague o código confirmado, troque todas as senhas, regenere as chaves de autenticação do wp-config.php e revalide com uma segunda varredura. Credencial de admin vazada sem 2FA recria o backdoor minutos após a remoção, então ative <a href="https://full.services/glossario/wp-config/">proteção do wp-config</a> e dois fatores no mesmo dia. Rode o Sucuri SiteCheck externo para confirmar que o Google não lista mais o domínio como inseguro.

---

## Ferramentas reais para encontrar backdoor no WordPress

Quatro ferramentas cobrem a maior parte dos casos de detecção, cada uma com uma função distinta e complementar. Para encontrar backdoor no WordPress sem depender de um único fornecedor, combine varredura interna de arquivos, scanner externo e base de CVEs num mesmo fluxo de trabalho objetivo.

O All in One Security faz varredura de integridade de arquivos; o Wordfence compara assinaturas conhecidas; o Sucuri SiteCheck audita pelo lado de fora; o WPScan cruza a versão dos seus plugins com vulnerabilidades catalogadas. Nenhuma delas substitui a auditoria manual de funções ofuscadas, mas juntas reduzem o tempo de investigação de horas para minutos.

Você não precisa de plugin pago para começar. O <a href="https://security.full.services">FULL Scan</a> roda um diagnóstico instantâneo sem instalação, cruzando o seu site com a base global de CVEs oficiais. Para histórico completo, consulte o <a href="https://security.full.services/vulnerabilidades-no-wordpress">repositório de vulnerabilidades</a> com mais de 12 mil registros. Quem prefere automatizar a defesa pode ver o passo a passo de <a href="https://full.services/como-configurar-wordfence-para-prevencao-completa-de-malware/">como configurar o Wordfence para prevenção de malware</a>.

---

## Cves reais: Como uma vulnerabilidade vira backdoor

A maioria dos backdoors entra por uma vulnerabilidade conhecida e não corrigida, não por força bruta no login. O exemplo mais didático é a <a href="https://nvd.nist.gov/vuln/detail/CVE-2020-35489" rel="noopener" target="_blank">CVE-2020-35489</a> (CVSS 10.0, crítica) no Contact Form 7 anterior à versão 5.3.2: ela permitia upload arbitrário de arquivo.

Na prática, o invasor subia um shell PHP direto para o servidor, e esse é o vetor clássico que termina em backdoor. Por isso, encontrar backdoor no WordPress começa por mapear qual CVE abriu a brecha. Já a <a href="https://nvd.nist.gov/vuln/detail/CVE-2018-20979" rel="noopener" target="_blank">CVE-2018-20979</a> (CVSS 9.8) no mesmo plugin expunha caminho de arquivo, abrindo a fase de reconhecimento.

Vale a distinção técnica: essas duas CVEs já foram corrigidas há anos. Pelo perfil público do WPVulnerability, o Contact Form 7 hoje está seguro, sem falhas críticas sem patch. O risco real não é a CVE antiga, é o site que nunca atualizou. Como a FULL atribui IDs CVE oficiais na condição de CNA, a leitura aqui é de quem cataloga a falha, não de quem só a comenta. Manter plugins atualizados fecha o vetor antes do backdoor.

---

## Por que o backdoor volta e como impedir a reinfecção

A reinfecção acontece em boa parte dos casos limpos só pela metade, porque o backdoor deixa réplicas espalhadas. Uma porta dos fundos raramente é um arquivo único: ela planta cópias em /uploads, no banco e às vezes em 1 cron job agendado que recria tudo.

Se você remove uma cópia e ignora as outras, em minutos o site recria o admin malicioso. Por isso, encontrar backdoor no WordPress não termina na exclusão: termina no fechamento do vetor de entrada e na troca de toda credencial. Quem trata encontrar backdoor no WordPress como evento único, e não como rotina, costuma repetir a limpeza poucas semanas depois.

O caminho durável combina três camadas: atualização imediata de tudo, dois fatores no login e hardening do servidor. Ative <a href="https://full.services/como-configurar-autenticacao-de-dois-fatores-2fa-no-wordpress/">autenticação de dois fatores no WordPress</a> para barrar a recriação de contas e siga o roteiro de <a href="https://full.services/como-fazer-hardening-de-seguranca-no-wordpress/">hardening de segurança</a>. Se o estrago já foi grande, o guia de <a href="https://full.services/como-limpar-e-recuperar-um-site-wordpress-hackeado/">como limpar e recuperar um site hackeado</a> cobre a restauração completa sem perder SEO.

<aside aria-label="Metodologia dos Testes">
<h2 id="metodologia-dos-testes">Metodologia dos testes</h2>
<p>As recomendações deste guia foram validadas entre <time datetime="2026-01">janeiro</time> e <time datetime="2026-05">maio de 2026</time>, em instalações WordPress 6.x com PHP 8.2, sobre servidores Apache e LiteSpeed. Os perfis de CVE vêm do WPVulnerability e do NVD, fontes primárias, e foram cruzados com a base de vulnerabilidades da FULL. A varredura combinou diff de arquivos contra o core oficial, inspeção manual de funções ofuscadas via SSH e scanner externo Sucuri SiteCheck. Como referência de campo, usamos o padrão de tickets de invasão recebidos no suporte da FULL, sem extrair proporções fechadas, apenas a recorrência qualitativa dos vetores mais comuns observados.</p>
</aside>

---

## A camada FULL: Defesa contínua por r$85 o site

Encontrar backdoor no WordPress uma vez é trabalho; impedir o próximo é estratégia de defesa. O plano PRO da FULL custa R$849,90 por ano e inclui o All in One Security e mais 16 plugins premium, o que dá cerca de R$85 por site quando você gerencia uma carteira de 10 sites.

Em vez de comprar licença avulsa de cada plugin de segurança, você ativa o bundle inteiro em 1 clique. A gente vê no suporte que quem centraliza a defesa reinfecta muito menos. Veja os <a href="https://full.services/planos">planos da FULL</a> e compare com o custo de uma única limpeza emergencial.

---

## Monitoramento contínuo: Como detectar o backdoor antes da reinfecção

Encontrar backdoor no WordPress uma vez resolve o incidente; monitorar de forma contínua é o que impede a próxima porta dos fundos de passar despercebida. A detecção precoce depende de três sinais que você deve vigiar todo dia: alteração inesperada de arquivo do core, criação de usuário admin fora do seu controle e requisição POST estranha nos logs de acesso do servidor.

Na prática, a varredura de integridade de arquivos é o alarme mais confiável. Ela compara o hash de cada arquivo com o original e dispara assim que uma linha muda em wp-admin, wp-includes ou no tema ativo. Combinada ao monitoramento de novas contas em wp_users, ela pega o backdoor no momento em que ele tenta se replicar, não semanas depois, quando o spam já apareceu no Google.

O log de acesso fecha o ciclo. Uma porta dos fundos quase sempre é acionada por uma URL específica, então filtrar o log por requisições a arquivos .php em /uploads ou por padrões base64 na query string revela o ponto exato de entrada. Agende uma varredura semanal, ative alerta por e-mail e trate cada alerta como uma auditoria curta: confirme o arquivo, valide o contexto e só então decida remover. Para consolidar a rotina, o <a href="https://full.services/academy/">FULL Academy</a> reúne os guias de segurança num só lugar.

---

<h2 id="faq">Perguntas frequentes sobre encontrar backdoor no WordPress</h2>

<details>
<summary>Por que o backdoor volta mesmo depois de eu apagar o arquivo?</summary>
<p>O backdoor volta porque quase nunca é um arquivo único. Uma porta dos fundos planta réplicas em wp-content/uploads, no banco de dados e às vezes em um cron job agendado. Apagar uma cópia e ignorar as outras deixa o site recriar o admin malicioso em minutos. A remoção só é definitiva quando você fecha o vetor de entrada, troca todas as senhas e regenera as chaves do wp-config.php.</p>
</details>

<details>
<summary>É possível encontrar backdoor no WordPress sem plugin pago?</summary>
<p>Sim, é possível encontrar backdoor no WordPress sem plugin pago. O FULL Scan roda um diagnóstico externo gratuito, e o Sucuri SiteCheck audita o site de fora sem instalação. Via SSH, o comando grep localiza funções como eval() e base64_decode() de graça. O plugin pago acelera e automatiza a varredura agendada, mas a auditoria manual de arquivos e banco cobre os casos mais comuns sem custo.</p>
</details>

<details>
<summary>Qual a diferença entre malware e backdoor no WordPress?</summary>
<p>Malware é qualquer código malicioso, e backdoor é um tipo específico dele: o acesso oculto que devolve o controle ao invasor. É por isso que encontrar backdoor no WordPress exige mais que um antivírus simples. O malware visível redireciona ou injeta spam e quer ser notado para gerar tráfego. O backdoor faz o oposto: fica silencioso para garantir reentrada mesmo após você trocar a senha. Por isso, remover o malware visível sem caçar o backdoor costuma resultar em reinfecção em poucos dias.</p>
</details>

<details>
<summary>Quanto tempo leva para limpar um backdoor de um site WordPress?</summary>
<p>Encontrar backdoor no WordPress e limpá-lo por completo leva de 1 a 4 horas em um site médio, segundo o padrão de tickets de invasão da FULL. O tempo depende do número de plugins e de quantas réplicas o backdoor plantou. Sites com mais de 30 plugins e backdoor em mu-plugins levam mais, porque exigem diff arquivo a arquivo. A fase de validação, com segunda varredura e troca de chaves, costuma somar mais 30 minutos.</p>
</details>

<details>
<summary>O que é a função eval() e por que ela indica backdoor?</summary>
<p>A função eval() executa uma string como se fosse código PHP, e é por isso que indica backdoor quando aparece com base64_decode(). Essa dupla decodifica e roda um payload escondido sem aparecer no log de acesso, a assinatura mais comum de porta dos fundos. Nem todo eval() é malicioso: alguns plugins legítimos a usam de forma controlada. Por isso, confirme o contexto antes de apagar, para não quebrar uma função válida.</p>
</details>

---

## Próximos passos para blindar seu WordPress

Encontrar backdoor no WordPress é só o primeiro movimento de uma rotina de segurança contínua. O backdoor de hoje entrou por uma falha que já tinha patch ontem, então o hábito que mais protege é atualizar tudo, ativar dois fatores e manter uma varredura agendada rodando. Trate cada limpeza como uma auditoria: documente o ponto de entrada, feche o vetor e revalide por fora. Quem transforma resposta a incidente em prevenção contínua para de viver o mesmo susto a cada três meses, e devolve o servidor à operação normal com confiança.
