Como limpar um WordPress hackeado
PT-PT

Como limpar um WordPress hackeado

Última verificação: 1 de maio de 2026
7min de leitura
Guia
Auditor de segurança

“O site a seguir contém programas prejudiciais.”

Está frase, exibida num ecrã vermelho vivo (Google Safe Browsing) ou num e-mail do seu provedor de alojamento, é o pesadelo de qualquer proprietário de site. Uma infeção no WordPress não é apenas uma questão de reputação. Arrisca o roubo de dados de clientes, a perda de posições no Google (o chamado “Japanese Keyword Hack” ou redirecionamentos para sites de jogos de azar) e potencialmente o bloqueio da sua conta de alojamento.

Em 2026, os ataques ao WordPress são em grande parté automatizados. Os bots não o atacam pessoalmente – eles varrem a web à procura de plugins desatualizados, senhas fracas ou vulnerabilidades em temas.

Neste artigo, vou mostrar-lhe um processo técnico e profissional para limpar um site WordPress hackeado. Esqueça os “plugins de remoção de malware” que muitas vezes apenas mascaram o problema. Vou mostrar como fazê-lo manualmente, eficazmente é ao nível do servidor usando SSH e WP-CLI.

#Passo 0: Não entre em pânico e faça backup (sim, do estado infetado!)

Antes de tocar em qualquer coisa, faça backup do seu estado atual. Porquê? Porque durante a limpeza, pode apagar acidentalmente um ficheiro crítico (por exemplo, um functions.php modificado que continha funcionalidades importantes, não apenas o vírus).

Se tiver acesso SSH:

## Arquivar todos os ficheiros
tar -czf backup-infected-files_$(date +%F).tar.gz .

## Exportar base de dados
wp db export backup-infected-db_$(date +%F).sql --allow-root

#Passo 1: Diagnóstico inicial (o método “grep”)

Antes de começar a cortar, precisa de saber contra o que está a lutar. Malware no WordPress esconde-se frequentemente como código ofuscado usando funções como eval, base64_decode, ou gzinflate.

Aqui está uma lista de comandos grep úteis para verificar ficheiros à procura de strings suspeitas. Execute-os na diretoria raiz do seu site.

#As assinaturas de malware mais comuns

  1. Procura da função eval (muito raramente usada legitimamente em código moderno):

    grep -rnwl './' -e 'eval('
  2. Procura de iframes ocultos e scripts injetados em ficheiros PHP:

    grep -rnwl './' -e '<script' --include=*.php
    grep -rnwl './' -e '<iframe' --include=*.php
  3. Procura de “backdoors” (nomes de variáveis comuns em malware):

    grep -rnwl './' -e 'bgeteam'
    grep -rnwl './' -e '3o'
    grep -rnwl './' -e '57h'
  4. Procura de strings codificadas (Base64 + Rot13):

    grep -rnwl './' -e 'base64_decode'
    grep -rnwl './' -e 'str_rot13'

#Análise dos resultados

Nem todos os resultados são vírus!

  • Plugins como Elementor ou Visual Composer podem ter base64_decode no seu código.
  • Preste atenção a ficheiros em locais estranhos, por exemplo, wp-content/uploads/2024/03/avatar.php. A pasta uploads não deve conter ficheiros PHP.

Para encontrar todos os ficheiros PHP na pasta uploads:

find ./wp-content/uploads -name "*.php"

Se encontrar algo aqui – 99% das vezes é malware (a menos que tenha um plugin muito específico).

#Passo 2: A opção nuclear (sobrescrever ficheiros do core)

Remover manualmente um vírus dos ficheiros do core do WordPress (wp-admin, wp-includes) é um trabalho de Sísifo. O método mais rápido e fiável é substituir todos os ficheiros do sistema por originais limpos.

Este é um processo seguro se não tiver modificado manualmente os ficheiros do core (o que não deve fazer de qualquer forma!).

Usando WP-CLI:

## Descarregar versão fresca do WordPress (substituindo ficheiros)
wp core download --force --skip-content --allow-root

A flag --skip-content é crítica – garante que o WP-CLI não sobrescreve a sua pasta wp-content, onde residem as suas imagens, temas e plugins.

Se não tiver WP-CLI:

  1. Descarregué o pacote WordPress de wordpress.org.
  2. Descompacte-o localmente.
  3. Apagué a pasta wp-content é o ficheiro wp-config-sample.php dele.
  4. Carregué o resto dos ficheiros via FTP, sobrescrevendo tudo no servidor.

#Passo 3: Limpeza do wp-content

É aqui que normalmente reside o problema.

#Plugins e temas

Se possível, apague e reinstale todos os plugins gratuitos. Os vírus anexam-se frequentemente a cada ficheiro .js ou .php no servidor.

## Reinstalar plugin do repositório (ex. Contact-form-7)
wp plugin install contact-form-7 --force --allow-root

Para plugins pagos, deve descarregar pacotes limpos do fornecedor e substituir ficheiros via FTP.

Verifique o seu tema. Se usa um Tema Filho (Child Theme), reveja manualmente o functions.php e header.php. Estes são locais favoritos para código malicioso.

#Pasta uploads

Como mencionado anteriormente, a pasta de média (wp-content/uploads) deve conter apenas imagens, PDFs e documentos. Limpeza radical (apaga todos os scripts PHP de uploads):

find ./wp-content/uploads -name "*.php" -delete

Aviso: Verifique a lista antecipadamente (sem -delete) para garantir que não está a apagar algo legítimo.

#Passo 4: Base de dados (japanese keyword hack e spam)

As infeções muitas vezes não terminam nos ficheiros. Os vírus injetam links de spam no conteúdo dos posts ou criam falsos administradores.

Faça login na base de dados (phpMyAdmin ou wp db cli) e verifique:

  1. Falsos Administradores:

    SELECT * FROM wp_users;

    Procure utilizadores que não reconhece, muitas vezes com domínios .ru, .cn ou strings aleatórias. Apague-os imediatamente.

  2. SPAM no Conteúdo: Vírus do tipo “Japanese Keyword Hack” injetam milhares de páginas com caracteres chineses/japoneses a publicitar falsificações. Verifique a tabela wp_posts:

    SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%';
    SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%eval(%';

Se o seu site tiver subitamente 50.000 novas páginas no índice do Google, precisa de limpar estas entradas da base de dados e, em seguida, enviar um sitemap para a Google Search Console para acelerar a remoção do lixo do índice.

#Passo 5: Ficheiros de configuração (wp-config.php e .htaccess)

O malware modifica frequentemente estes dois ficheiros-chave.

  1. wp-config.php: Abra-o e verifique se há linhas estranhas. Muitas vezes são adicionadas referências a ficheiros temporários:

    include '\tmp\sess_dsf43...'; // SUSPEITO!

    Comparé o seu ficheiro com o wp-config-sample.php. Deve conter apenas credenciais da base de dados e definições de constantes.

  2. .htaccess: Os vírus adicionam frequentemente regras aqui que redirecionam o tráfego dos motores de busca (por exemplo, se o User-Agent for Googlebot) para sites com malware, enquanto o utilizador, ao visitar diretamente, vê o site normal. Se não tiver a certeza, gere o ficheiro .htaccess padrão do WordPress:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

#Passo 6: Pós-limpeza - Reforço de segurança (hardening)

Limpou o site? Ótimo. Agora tranque as portas para que o ladrão não volte.

  1. Mudar Palavras-passe:

    • Para todas as contas de Administrador.
    • Para a base de dados.
    • Para FTP/SFTP.
  2. Mudar Chaves de Sal (Salt Keys): Isto força o logout de todos os utilizadores. Edite o wp-config.php e substitua a secção de chaves por novas geradas aqui: https://api.wordpress.org/secret-key/1.1/salt/ Ou use WP-CLI:

    wp config shuffle-salts
  3. Desativar Edição de Ficheiros no Dashboard: Adicioné ao wp-config.php:

    define( 'DISALLOW_FILE_EDIT', true );

    Isto impede que um hacker que obtenha uma senha de administrador possa editar ficheiros de temas/plugins diretamente do painel.

  4. Desativar XML-RPC: Se não usa a app móvel do WordPress ou o Jetpack, o XML-RPC é apenas um buraco de segurança (usado para ataques DDoS e Brute Force). Adicioné ao .htaccess:

    <Files xmlrpc.php>
    order deny,allow
    deny from all
    </Files>

#Resumo

Lutar contra malware é uma corrida armamentista. A melhor proteção, no entanto, não é um “plugin de segurança mágico”, mas sim higiene digital:

  1. Atualizações instantâneas do WordPress e plugins.
  2. Não instalar plugins e temas “nulled” (pirateados) (está é a principal fonte de infeções).
  3. Ter um backup externo (por exemplo, na nuvem).

Se sente que o aspeto técnico o sobrecarrega, é melhor contratar profissionais. Uma limpeza mal executada pode deixar uma porta dos fundos (backdoor) aberta, através da qual o hacker voltará em poucos dias, e perderá mais dinheiro e confiança aos olhos do Google.

Próximo passo

Transforme o artigo numa implementação real

Este bloco reforça a ligação interna e conduz o leitor para o passo seguinte mais útil dentro da arquitetura do site.

FAQ do artigo

Perguntas Frequentes

Respostas práticas para aplicar o tema na execução real.

SEO-ready GEO-ready AEO-ready 3 Q&A
Qual é o primeiro passo depois de descobrir malware no WordPress? #
Faça backup do estado infetado e bloqueie mudanças desnecessárias. Isso ajuda a preservar provas e evita apagar algo crítico por engano.
É suficiente reinstalar plugins para remover malware? #
Nem sempre. Também precisa de verificar o core, a pasta uploads, a base de dados e contas de utilizador falsas.
Quando devo mudar passwords e salt keys? #
Logo após a limpeza. Assim termina sessões ativas e reduz o risco de o invasor manter acesso.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Artigos Relacionados

Trinta e um plugins encerrados depois de um comprador na Flippa ter colocado um backdoor no primeiro commit SVN. Como auditar a propriedade dos plugins, detetar comprometimentos e proteger os sítios contra ataques à cadeia de fornecimento.
security

Supply chain em plugins WordPress: auditoria após o backdoor da Flippa

Trinta e um plugins encerrados depois de um comprador na Flippa ter colocado um backdoor no primeiro commit SVN. Como auditar a propriedade dos plugins, detetar comprometimentos e proteger os sítios contra ataques à cadeia de fornecimento.

Comparé os melhores plugins WordPress em 2026 para segurança, SEO, cache, cópias de segurança e otimização de imagens, com conselhos praticos sobre o que instalar é o que evitar.
wordpress

Melhores plugins WordPress 2026 – guia técnico do stack essencial

Comparé os melhores plugins WordPress em 2026 para segurança, SEO, cache, cópias de segurança e otimização de imagens, com conselhos praticos sobre o que instalar é o que evitar.

Pare de dar acesso de "Administrador" a todos os utilizadores. Domine as Funções (Roles) e Capacidades (Capabilities) do WordPress para criar plataformas seguras.
development

Funções e capacidades do WordPress: O guia técnico (2026)

Pare de dar acesso de "Administrador" a todos os utilizadores. Domine as Funções (Roles) e Capacidades (Capabilities) do WordPress para criar plataformas seguras.