📩 Fique por dentro das novidades com a nossa newsletter

Comandos de terminal para detectar malware no WordPress: 7 que funcionam

Relacionados

Comandos de terminal para detectar malware no WordPress: 7 que funcionam

Usar WP-CLI para gestão do WordPress em 5 frentes

Ambiente de staging no WordPress: Guia em 5 passos

Conheça a loja da FULL Services

Plugins premium, suporte de verdade e tudo o que seu site WordPress precisa em um só lugar.

Os comandos de terminal para detectar malware no WordPress acham backdoor e injeção que o antivírus ignora. Segundo o NVD (NIST) (2024), o CVE-2020-35489 do Contact Form 7 teve CVSS 10,0. Grep, find e sha1sum varrem o site via SSH em minutos. Comece pela integridade do core.

Os comandos de terminal para detectar malware no WordPress são instruções nativas de Linux, como grep, find e sha1sum, que você roda via SSH para achar código injetado sem depender de plugin. A vantagem é direta: um backdoor sob medida foge da assinatura do antivírus, mas não foge de um grep recursivo por base64_decode. O terminal lê o site como ele realmente está no disco, não como o painel mostra. Se você ainda nem isolou o ambiente, comece pelos guias de segurança WordPress da FULL e volte aqui para a varredura por linha de comando.


Diagnóstico rápido: O que os comandos de terminal para detectar malware no WordPress procuram

Os comandos de terminal para detectar malware no WordPress caçam quatro evidências objetivas: arquivos PHP em pastas que só deveriam ter mídia, funções ofuscadas como eval e base64_decode, arquivos do core com hash divergente e arquivos modificados fora de qualquer atualização. Cada padrão tem um comando próprio. O malware moderno se esconde em wp-content/uploads, onde nenhum PHP legítimo roda.

Legenda: a varredura por linha de comando revela arquivos PHP injetados onde só deveriam existir imagens.

Comandos de terminal para detectar malware: sinal, comando e o que revela
Sinal de infecção Comando indicado O que ele revela
PHP em uploads find uploads -name “*.php” Shell escondido em pasta de mídia
Código ofuscado grep -r “base64_decode” Backdoor que burla o antivírus
Core adulterado wp core verify-checksums Injeção direta em wp-includes
Arquivo recente find . -mtime -7 Alteração fora do ciclo de update

Por que comandos de terminal acham o que o plugin não vê

Os comandos de terminal para detectar malware no WordPress pegam 1 classe de ameaça que o plugin ignora: o backdoor sob medida. O plugin compara cada arquivo com uma base de assinaturas conhecidas, enquanto o terminal verifica integridade e padrão. Um backdoor escrito só para o seu site não está em base nenhuma, então o firewall e o antivírus passam direto.

Já o sha1sum, um dos comandos de terminal para detectar malware no WordPress mais diretos, denuncia qualquer byte alterado no core, conhecido ou não, porque trabalha por integridade e não por reputação. Na prática, a gente vê no suporte da FULL que boa parte das reinfecções vem justamente de backdoor que o scanner automático declarou limpo. O terminal fecha essa lacuna porque não procura o que já conhece: procura o que está fora do lugar. Um arquivo PHP novo dentro de wp-content/uploads é exatamente esse tipo de anomalia que assinatura nenhuma reconhece, mas que um único comando expõe em segundos. É a deteccão que pega ameaça nova antes de ela virar dano.

Comando 1: Grep para caçar código malicioso ofuscado

O grep varre milhares de arquivos por 1 string em poucos segundos, e por isso é o comando de terminal para detectar malware no WordPress mais usado em primeira linha. Rode grep -r -l "base64_decode|eval(|gzinflate|str_rot13" wp-content/ na raiz e ele lista todo arquivo com função de ofuscação. Essas quatro funções respondem pela maioria dos backdoors PHP em produção.

O grep recursivo por base64_decode combinado com eval em wp-content/uploads denuncia um backdoor em pasta que só deveria conter imagem, um padrão que aparece com frequência em sites invadidos por upload arbitrário. Nem toda ocorrência é maliciosa, então trate o resultado como lista de suspeitos, não de condenados. Plugins legítimos às vezes usam base64 para empacotar fontes ou ícones, e isso gera falso positivo. Abra cada arquivo apontado, leia a linha em volta da função e confirme o contexto antes de apagar qualquer coisa. O grep aponta onde olhar; a decisão de remover ainda é sua.

Comando 2: Find para isolar arquivos PHP e alterações recentes

O find responde a 2 perguntas que os comandos de terminal para detectar malware no WordPress sempre fazem: onde há PHP que não deveria existir e o que mudou fora de hora. Rode find wp-content/uploads -name ".php" e qualquer resultado já é suspeito, porque a pasta de mídia nunca executa PHP legítimo. Para o segundo recorte dos comandos de terminal para detectar malware no WordPress, find . -mtime -7 -name ".php" lista os PHP modificados nos últimos sete dias.

Cruzar essa lista com a data da invasão tende a revelar exatamente os arquivos tocados pelo atacante, o que reduz a varredura de milhares de arquivos para uma dúzia de suspeitos reais. Um detalhe de campo que poupa horas: em hospedagem compartilhada sem acesso root, o atacante às vezes reseta o mtime para mascarar a alteração, e aí o -mtime falha em silêncio. Nesse cenário, só o checksum do Comando 3 ainda denuncia a injeção, porque o hash não depende de data nenhuma. Combine sempre os dois recortes de find com a validação de integridade.

Comando 3: Sha1sum e checksums do Core via WP-CLI

O sha1sum compara cada 1 dos arquivos do core com o hash oficial, e por isso é o comando de terminal para detectar malware no WordPress mais confiável contra ameaça desconhecida. O atalho prático é o WP-CLI: wp core verify-checksums lista todo arquivo de wp-admin ou wp-includes cujo hash não bate com o WordPress.org. Qualquer divergência aponta injeção direta no core, sinal de invasão profunda.

Repita o raciocínio com wp plugin verify-checksums --all para validar os plugins do repositório oficial de uma só vez. O sha1sum dos arquivos do core comparado ao checksum oficial via WP-CLI detecta injeção mesmo quando nenhum antivírus tem a assinatura, e esse é o ganho real do método sobre qualquer scanner por reputação. A saída precisa vir limpa: cada linha retornada é um arquivo adulterado. Para entender cada termo de linha de comando, o WP-CLI tem verbete dedicado no glossário da FULL.

Comando 4: Inspecionar o banco e arquivos críticos como wp-config

Os comandos de terminal para detectar malware no WordPress também alcançam os 2 esconderijos que o atacante mais usa: o banco de dados e os arquivos sensíveis. Use `wp db query “SELECT * FROM wp_options WHERE option_value LIKE ‘%<script%'"` para achar script injetado em `wp_options`, e busque iframes ocultos em `wp_posts` com o mesmo padrão. No sistema de arquivos, `grep -r "eval(base64" .` cruza as duas técnicas de ofuscação mais comuns de uma vez.

Vale revisar também o `wp-config.php`, o arquivo mais sensível do site: chaves de autenticação trocadas ou linhas estranhas logo após o `define('DB_PASSWORD')` indicam adulteração direta. Antes de mexer, leia o procedimento seguro em como editar o arquivo wp-config.php no WordPress, porque um erro de sintaxe aqui derruba o site inteiro. Exporte cada linha suspeita para um relatório antes de remover, preservando a evidência da invasão para o passo de documentação.

## Passo a passo: Comandos de terminal para detectar malware no WordPress na ordem certa

[IMAGEM: Passo a passo: Comandos de terminal para detectar malware no WordPress na ordem certa: screenshot]

A varredura completa segue cinco passos encadeados, do acesso SSH ao relatório, e cada um alimenta o próximo. Pular a conexão segura inviabiliza tudo, e ignorar o checksum (Passo 4) deixa passar a injeção no core, o ponto onde a maioria das investigações encontra o dano real. Reserve de 20 a 40 minutos para um site médio com os comandos de terminal para detectar malware no WordPress rodando direto.

### Passo 1: Conecte via SSH e vá para a raiz do site

Conecte ao servidor com `ssh [email protected]` e navegue até a raiz do WordPress com `cd`, onde ficam `wp-config.php` e a pasta `wp-content`. Sem acesso SSH na sua hospedagem, peça a liberação ao suporte ou use o terminal do painel. O conceito de SSH está no glossário se você nunca usou. Confirme que está no diretório certo com `ls -la` antes de rodar os comandos de terminal para detectar malware no WordPress.

### Passo 2: Rode o grep recursivo por funções ofuscadas

Execute `grep -r -l “base64_decode|eval(|gzinflate|assert(” wp-content/ > suspeitos.txt`, o primeiro dos comandos de terminal para detectar malware no WordPress nesta rotina, para salvar a lista de arquivos com código ofuscado em um arquivo. Revise `suspeitos.txt` linha a linha, porque alguns plugins legítimos usam `base64` de forma inofensiva. O objetivo aqui é gerar a primeira lista de candidatos, não deletar nada ainda.

### Passo 3: Localize PHP fora de lugar com o find

Entre os comandos de terminal para detectar malware no WordPress, o find é o que mapeia posição: rode `find wp-content/uploads -name “*.php”` e, em seguida, `find . -mtime -7 -name “*.php”` para listar PHP em pasta de mídia e arquivos recém-modificados. Qualquer PHP em `uploads` é suspeito imediato. Anote os caminhos retornados e cruze com a `suspeitos.txt` do passo anterior.

### Passo 4: Valide a integridade do Core com WP-CLI

O passo decisivo entre os comandos de terminal para detectar malware no WordPress: execute `wp core verify-checksums` e depois `wp plugin verify-checksums –all` para comparar cada arquivo com o hash oficial. Toda linha de saída é um arquivo adulterado que entra no relatório. Esse passo pega a injeção que o grep e o find não viram, porque atua por integridade, não por padrão de texto.

### Passo 5: Documente os achados e isole os arquivos

Reúna a lista final de arquivos suspeitos, anote o `last_modified` de cada um e mova-os para uma pasta de quarentena fora do `public_html` em vez de apagar direto. Esse registro vira a evidência da invasão e fecha o ciclo dos comandos de terminal para detectar malware no WordPress. Só depois de documentar, parta para a remoção segura.

[IMAGEM: saída do WP-CLI verify-checksums com arquivos divergentes | alt=”WP-CLI listando arquivos do core WordPress com hash divergente no terminal”]

Legenda: cada linha divergente do checksum entrou no relatório como prova de adulteração do core.

## Cves reais: O vetor que os comandos de terminal costumam confirmar

[IMAGEM: Cves reais: O vetor que os comandos de terminal costumam confirmar: screenshot]

Na maioria das investigações, os comandos de terminal para detectar malware no WordPress apontam um plugin com falha conhecida como porta de entrada. Dois exemplos reais e já corrigidos mostram o padrão: o CVE-2020-35489 no Contact Form 7, com CVSS 10,0 abaixo da versão 5.3.2, permitia upload irrestrito de arquivo, exatamente o que coloca um shell PHP dentro de `uploads`. O CVE-2016-10887 no All in One Security, com CVSS 9,8 abaixo da versão 4.0.9, expunha diretório sensível.

Ambas já têm patch: o risco real hoje é o site que nunca atualizou, e é esse site que os comandos de terminal para detectar malware no WordPress flagram primeiro. Distinga sempre o risco atual sem patch de uma CVE histórica já corrigida, porque tratar falha antiga como ameaça viva gera alarme falso. Segundo o perfil público do WPVulnerability, o All in One Security soma 43 CVEs ao longo dos anos, todas com correção e zero sem patch hoje, sinal de manutenção ativa, não de fragilidade. A FULL é a única empresa brasileira reconhecida como CVE Numbering Authority (CNA) sob a CISA desde , ou seja, está autorizada a atribuir IDs CVE oficiais: quem investiga vulnerabilidade aqui literalmente cataloga CVE. Para cross-check de qualquer falha, a base do Wordfence Threat Intel confirma versão afetada e patch.

## Ferramentas que complementam os comandos de terminal

[IMAGEM: Ferramentas que complementam os comandos de terminal: screenshot]

Os comandos de terminal para detectar malware no WordPress combinam bem com quatro ferramentas reais: o WP-CLI para checksums, o ClamAV para varredura por assinatura no próprio servidor, o Wordfence para integridade contínua e o All in One Security para firewall e hardening automático. Nenhuma substitui a outra. Os comandos de terminal para detectar malware no WordPress acham o backdoor sob medida; o ClamAV pega o malware de catálogo; o All in One Security mantém a porta fechada depois. Comandos nativos competem por velocidade e zero dependência, o ClamAV compete por base de assinaturas e o All in One Security compete por automação contínua.

Para configurar o firewall que sustenta a varredura, veja o passo a passo oficial do All in One Security. E quando os comandos confirmarem a infecção, a limpeza precisa seguir rota testada: o guia de como remover malware do WordPress mostra a higienização sem perder ranqueamento, e o tutorial de como limpar arquivos infectados no wp-content trata o caso específico da pasta que o grep mais acusa.

## Por que o malware volta mesmo após a remoção

[IMAGEM: Por que o malware volta mesmo após a remoção: screenshot]

Os comandos de terminal para detectar malware no WordPress só fecham o ciclo se você tratar a causa, e não o sintoma, em até 7 dias após a limpeza. Limpar o arquivo infectado sem corrigir a CVE que abriu a porta garante reinfecção: o atacante reentra pela mesma falha em horas. Na prática, a gente vê no suporte da FULL que a maioria das reincidências vem de backdoor secundário que o scanner não viu.

Esse backdoor de segunda via fica escondido em outro diretório, longe do arquivo que você limpou, esperando o primeiro acesso para reinjetar. Por isso o `grep -r` por todo o site importa tanto quanto o checksum do core: um detecta o esconderijo principal, o outro varre os secundários. Entenda o ciclo completo em por que o malware volta mesmo após ser removido e feche o ambiente com como fazer hardening de segurança no WordPress. Detectar é metade; impedir o retorno é a outra.

## Proteja o WordPress com o bundle PRO da FULL

[IMAGEM: Proteja o WordPress com o bundle PRO da FULL: screenshot]

Investigar malware por linha de comando custa tempo; preveni-lo custa centavos por dia. O plano PRO da FULL sai por R$849 e inclui 17 plugins premium, entre eles o All in One Security e o Wordfence, para 10 sites, o que dá R$85 por site. Esse valor cobre firewall, varredura de integridade e hardening sem licença avulsa, exatamente as camadas que mantêm o atacante longe da brecha que os comandos de terminal para detectar malware no WordPress denunciam. A gente vê no suporte que boa parte das invasões evitáveis vem de plugin pago pirata ou desatualizado, o que o bundle elimina ao manter tudo licenciado. Conheça o All in One Security e ative a proteção em FULL.services/planos. Para checar agora se algum plugin do seu site está vulnerável, rode o FULL Scan gratuitamente ou consulte o repositório de vulnerabilidades.

Perguntas frequentes sobre comandos de terminal para detectar malware no WordPress

É possível detectar malware no WordPress só com comandos de terminal, sem instalar nenhum plugin?

Sim, e muitas vezes é o método preferido. Você conecta via SSH e roda grep, find e sha1sum direto nos arquivos, sem adicionar nada ao site comprometido. Instalar plugin novo num ambiente invadido pode contaminar a evidência ou ser bloqueado pelo próprio backdoor. A varredura por linha de comando funciona até em sites que nem carregam o wp-admin, e o WP-CLI confirma a integridade do core sem depender de assinatura de antivírus.

Por que um plugin de antivírus não detecta todo malware que os comandos de terminal encontram?

Porque o plugin compara o arquivo com uma base de assinaturas conhecidas, enquanto o terminal verifica integridade e padrão. Um backdoor escrito sob medida para o seu site não está em base nenhuma, então o scanner passa direto. Já o sha1sum via WP-CLI denuncia qualquer byte alterado no core, conhecido ou não. Por isso o grep recursivo por base64_decode pega o que o CVE-2020-35489 (CVSS 10,0) deixou para trás após um upload malicioso.

Qual comando de terminal é o mais confiável para achar backdoor no WordPress?

O sha1sum aplicado via WP-CLI com wp core verify-checksums é o mais confiável contra ameaça desconhecida, porque compara cada arquivo do core com o hash oficial do WordPress.org sem depender de assinatura. Para o conteúdo de wp-content, o grep recursivo por base64_decode e eval é o complemento direto. Juntos, checksum e grep cobrem injeção no core e backdoor em uploads, as duas formas mais comuns de infecção.

Quanto tempo leva para varrer um site WordPress com comandos de terminal via SSH?

Em um site médio, a varredura completa com grep, find e WP-CLI leva de 20 a 40 minutos, incluindo a revisão manual dos arquivos suspeitos. O grep recursivo roda em segundos mesmo com milhares de arquivos; o que consome tempo é abrir cada candidato e confirmar o contexto. Sites grandes com WooCommerce e muitos plugins pedem mais tempo na etapa de leitura, não na execução dos comandos em si.

O que o comando grep procura quando você caça malware no WordPress?

O grep procura quatro strings de ofuscação que delatam backdoor: base64_decode, eval, gzinflate e str_rot13. Essas funções escondem o código malicioso de leitura humana e de scanners por assinatura como o Wordfence. O comando grep -r -l varre recursivamente toda a árvore de wp-content e lista os arquivos que contêm esses padrões. O resultado é uma lista de suspeitos para inspeção manual, não condenação automática, porque plugins legítimos como o WP Rocket também usam base64 de forma inofensiva.

## Próximos passos para blindar o site após a varredura

[IMAGEM: Próximos passos para blindar o site após a varredura: screenshot]

Concluir a varredura com os comandos de terminal para detectar malware no WordPress, vetor confirmado e arquivos isolados é só metade do trabalho: a outra metade é o endurecimento que impede a próxima invasão. Atualize todo plugin para a versão com patch, rotacione senhas e chaves do wp-config, ative o firewall e agende auditorias semanais de integridade. Feche o ciclo com uma auditoria completa de segurança no WordPress. Para aprofundar cada camada de proteção, o guia de segurança para WordPress reúne tutoriais e checklists em sequência, e o FULL Academy organiza todo esse conhecimento em um só lugar. Detectar bem é o que separa quem reinfecta de quem fecha a brecha de vez.

Compartilhe este conteúdo

Equipe Full Services

A FULL. é especialista em WordPress e oferece plugins premium com licenças originais, suporte técnico e instalação facilitada. Já ajudou mais de 25 mil clientes a impulsionar seus sites com performance, segurança e praticidade.

Comandos de terminal para detectar malware no WordPress: 7 que funcionam

Os comandos de terminal para detectar malware no WordPress são

Usar WP-CLI para gestão do WordPress em 5 frentes

Usar WP-CLI para gestão do WordPress é operar o site

Ambiente de staging no WordPress: Guia em 5 passos

Um ambiente de staging no WordPress é um clone funcional
Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.