# Backdoor no WordPress: Os 4 tipos e como removê-los

Um <strong>backdoor</strong> mantém o invasor com acesso ao WordPress mesmo depois que você troca a senha. Segundo o <a href="https://nvd.nist.gov/vuln/detail/CVE-2020-25213">NVD/NIST (2020)</a>, a falha CVE-2020-25213 no WP File Manager (CVSS 9.8) permitia plantar um web shell. Trocar a senha não resolve, porque o backdoor não depende dela. Conhecer os 4 tipos é o passo que antecede qualquer limpeza.

Um backdoor é um trecho de código escondido que devolve acesso ao site sem passar pelo login normal. Diferente de um malware barulhento que desfigura páginas, o backdoor é silencioso: ele existe só para reabrir a porta depois que você acha que limpou tudo. No WordPress, ele quase nunca está no núcleo. Mora em um tema nulled, em um plugin desatualizado ou numa linha enxertada no functions.php. Este guia de conceito faz parte do hub de <a href="https://full.services/vulnerabilidades-wordpress/">vulnerabilidades WordPress da FULL</a> e mapeia os quatro tipos mais comuns de backdoor, com CVEs reais e como detectar cada um.

---

## O que é um backdoor no WordPress: Definição e os 4 tipos

Um código de acesso oculto no WordPress é um mecanismo de acesso persistente que ignora o formulário de login. Nos tickets de invasão da FULL, 4 tipos concentram a maioria dos casos, e o ponto comum é a persistência: o invasor entra mesmo depois da troca de senha.

A causa raiz quase sempre é código de terceiros sem auditoria, como um plugin nulled ou um upload mal validado, que grava em disco um arquivo executável. A tabela abaixo resume os quatro tipos de porta dos fundos que dominam os casos reais, cada um com o mecanismo e o sinal de exposição. O que os une é que nenhum depende da sua senha: o acesso clandestino cria seu próprio caminho de entrada.

<table id="tipos-script malicioso residente-wordpress">
  <caption>Acesso nao autorizado persistente no WordPress: 4 tipos e sinal de exposição</caption>
  <thead>
    <tr>
      <th scope="col">Tipo</th>
      <th scope="col">Mecanismo da falha</th>
      <th scope="col">Sinal de exposição</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Web shell</th>
      <td>Arquivo PHP enviado por upload executa comandos remotos.</td>
      <td>Plugin de upload desatualizado, como WP File Manager < 6.9.</td>
    </tr>
    <tr>
      <th scope="row">Código injetado</th>
      <td>Linha eval(base64_decode()) enxertada no functions.php.</td>
      <td>Tema ou plugin nulled instalado de fonte pirata.</td>
    </tr>
    <tr>
      <th scope="row">Admin fantasma</th>
      <td>Usuário administrador criado direto no banco de dados.</td>
      <td>Conta com nível admin que você não reconhece.</td>
    </tr>
    <tr>
      <th scope="row">Cron malicioso</th>
      <td>Tarefa agendada reinstala o malware após a limpeza.</td>
      <td>WP-Cron com evento sem origem conhecida.</td>
    </tr>
  </tbody>
</table>

<p class="wp-caption-text">Legenda: cada tipo de mecanismo de acesso oculto reabre o acesso por uma camada diferente do site.</p>

## Por que o backdoor sobrevive à troca de senha

Trocar a senha não remove um backdoor porque ele não usa a senha para reentrar. Na maior parte dos sites reinfectados que chegam ao suporte da FULL, o cliente já tinha trocado a senha 2 ou 3 vezes, e o backdoor continuava lá. O código malicioso está gravado em arquivo ou no banco, não na credencial.

O motivo é simples: enquanto o arquivo existir, ele recria o acesso do invasor sozinho. Esse é o erro mais caro na resposta a uma invasão. A senha protege o login; o backdoor contorna o login. Por isso a ordem correta é primeiro encontrar e apagar o arquivo malicioso, depois trocar senhas e chaves. Quem inverte a sequência costuma reinfectar o site em horas. Se o seu site já foi comprometido, o passo a passo de <a href="https://full.services/site-wordpress-invadido-o-que-fazer-imediatamente/">o que fazer imediatamente após uma invasão</a> detalha essa ordem com calma.

## Como um CVE vira porta de entrada para o backdoor

A maioria dos backdoors entra por uma falha conhecida e já corrigida que o site nunca atualizou. O caso mais explorado é o CVE-2020-25213 no <a href="https://nvd.nist.gov/vuln/detail/CVE-2020-25213">WP File Manager (CVSS 9.8)</a>: a versão < 6.9 deixava qualquer visitante enviar um arquivo PHP sem validação, gravando um web shell em wp-content.

Em 2020, essa falha foi usada em massa para plantar backdoors em centenas de milhares de sites antes do patch chegar. Outro vetor recorrente é o CVE-2023-6825 no <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-6825">WP File Manager (CVSS 9.9)</a>, na versão < 7.2.2. Vale distinguir risco atual de histórico: segundo o perfil público do WPVulnerability, esses dois CVEs já estão corrigidos, então hoje o risco real é rodar a versão antiga, não o plugin em si. A regra é direta: plugin com upload, formulário ou editor de arquivos é o primeiro lugar onde um backdoor procura abrigo.

## Como detectar um backdoor escondido no site

Detectar um backdoor exige procurar pelo comportamento, não só pelo nome do arquivo. Um scanner de integridade como o Wordfence ou o Sucuri SiteCheck compara seus arquivos com o núcleo oficial do WordPress e, em média, aponta o web shell como 1 arquivo PHP recente fora do padrão dentro de wp-content/uploads.

Essa pasta nunca deveria conter código executável. Os sinais clássicos que a gente vê no suporte da FULL são três: funções como eval(), base64_decode() e gzinflate() empilhadas em uma linha só; um usuário administrador que ninguém criou; e horários de modificação de arquivo que não batem com nenhuma atualização sua. Fazer <a href="https://full.services/como-fazer-hardening-de-seguranca-no-wordpress/">hardening de segurança</a> e desativar a edição de arquivos pelo painel reduz a superfície que um backdoor pode usar para se gravar.

## Como remover um backdoor sem refazer o site

Remover um backdoor é possível sem refazer o site do zero, desde que você o faça em 4 passos e a partir de uma base limpa. Primeiro, isole o site e tire um <a href="https://full.services/como-fazer-backup-do-seu-site-wordpress/">backup do estado atual</a> só como evidência forense, nunca para restaurar.

Depois substitua o núcleo do WordPress e todos os plugins por cópias oficiais baixadas de novo, o que apaga qualquer arquivo injetado nessas pastas de uma vez. O passo mais delicado é o functions.php do tema e o banco de dados, onde o código injetado costuma sobreviver. Compare cada arquivo com a versão original do tema e remova linhas com eval(base64_decode()). Para a limpeza completa de arquivos suspeitos, o guia de <a href="https://full.services/como-remover-malware-do-wordpress/">como remover malware do WordPress</a> cobre o varejo. Só depois de o arquivo malicioso sumir é que você troca senhas, AUTH_KEY do <a href="https://full.services/como-editar-o-arquivo-wp-config-php-no-wordpress/">wp-config.php</a> e força logout de todas as sessões.

## A FULL inclui scanner de malware e segurança gerenciada no bundle

A segurança gerenciada da FULL parte de um princípio: detectar o backdoor antes da reinfecção custa menos que limpar o site toda semana. O plano PRO sai por R$849 e cobre 10 sites, o que dá R$85 por site, com o All in One Security e o scanner de malware já no <a href="https://full.services/all-in-one-security/">bundle</a>.

Em vez de pagar uma limpeza emergencial por incidente, você fica com o monitoramento contínuo rodando. Conheça os <a href="https://full.services/planos">planos da FULL</a> e compare com o custo de uma única reinfecção.

Vale o contexto de autoridade aqui: a FULL é a única empresa brasileira credenciada como CNA (CVE Numbering Authority) sob a CISA desde <time datetime="2022-05">maio de 2022</time>, ou seja, está autorizada a atribuir IDs CVE oficiais. Quem escreve sobre backdoor por aqui literalmente cataloga vulnerabilidade. Para um diagnóstico rápido, o <a href="https://security.full.services">FULL Scan</a> verifica seu site sem instalação, e o <a href="https://security.full.services/vulnerabilidades-no-wordpress">repositório de vulnerabilidades</a> lista os CVEs por plugin.

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

<details>
<summary>O que é um backdoor no WordPress e como ele difere de um malware comum?</summary>
<p>O backdoor é o código que garante a reentrada do invasor; o malware comum causa o dano visível. Essa é a diferença prática: o malware desfigura ou redireciona páginas, enquanto o backdoor fica silencioso só para reabrir a porta depois da limpeza. Um web shell PHP gravado em wp-content/uploads, detectável pelo Wordfence, é o exemplo clássico de backdoor.</p>
</details>

<details>
<summary>Por que um backdoor continua ativo mesmo depois de eu trocar a senha?</summary>
<p>Porque o backdoor não usa a sua senha para reentrar. O acesso vem de um arquivo PHP ou de um usuário admin gravado no banco, que existe independente da credencial. Na maior parte dos sites reinfectados que vemos no suporte da FULL, a senha já tinha sido trocada e o código malicioso continuava em disco.</p>
</details>

<details>
<summary>Qual a diferença entre um backdoor e um web shell no WordPress?</summary>
<p>O web shell é um tipo de backdoor, não um sinônimo: todo web shell é backdoor, mas nem todo backdoor é web shell. O web shell é o arquivo PHP que executa comandos remotos via navegador, como o plantado pelo CVE-2020-25213. O backdoor é a categoria ampla, que inclui também admin fantasma, cron malicioso e código eval() injetado no functions.php.</p>
</details>

<details>
<summary>É possível remover um backdoor do WordPress sem refazer o site do zero?</summary>
<p>Sim, é possível na maioria dos casos, desde que feito na ordem certa. Substitua núcleo e plugins por cópias oficiais, audite o functions.php e o banco de dados, e só então troque senhas e a AUTH_KEY. Um scanner como Wordfence ou Sucuri SiteCheck acelera a localização do arquivo malicioso antes da limpeza manual.</p>
</details>

<details>
<summary>Quanto tempo um backdoor pode ficar escondido em um site WordPress antes de ser detectado?</summary>
<p>Um backdoor pode ficar meses inativo sem disparar nenhum alerta, porque ele só age quando o invasor o aciona. Sites sem scanner de integridade costumam descobrir a infecção tarde, quando o Google já marcou o domínio. Um monitoramento contínuo reduz essa janela para horas em vez de meses.</p>
</details>

---

<aside aria-label="Metodologia dos Testes">
<h2 id="metodologia-dos-testes">Metodologia dos testes</h2>
<p>As observações de campo deste guia vêm dos tickets de invasão tratados pelo suporte da FULL entre <time datetime="2024-01">janeiro de 2024</time> e <time datetime="2026-05">maio de 2026</time>, em ambientes com WordPress 6.x e PHP 8.2. Os CVEs citados foram conferidos contra o NVD/NIST e o perfil público do WPVulnerability, distinguindo risco atual de histórico já corrigido. A frequência de reinfecção descrita reflete o padrão recorrente nesses chamados, não um número de telemetria fechado: é a leitura qualitativa de quem cataloga vulnerabilidade como CNA brasileira sob a CISA.</p>
</aside>

## Próximos passos para blindar o site contra backdoor

Entender o backdoor muda a ordem da resposta a uma invasão: primeiro apagar o código malicioso, depois trocar credenciais. Um plano de defesa em camadas combina hardening, um bom <a href="https://full.services/plugin-de-seguranca-wordpress-os-5-melhores-em-2026/">plugin de segurança</a> e backup testado, de modo que mesmo um web shell gravado encontre pouca margem para persistir. A diferença entre limpar uma vez e limpar toda semana está na detecção contínua, não na força da senha. Para continuar aprendendo, o <a href="https://full.services/guias/guia-de-seguranca-para-wordpress">guia de segurança para WordPress</a> reúne os próximos passos em sequência.
