Encontrar um usuário administrador desconhecido no WordPress quase sempre significa que alguém entrou: você abre Usuários → Todos os usuários e vê uma conta que não criou, com permissão total. Mas nem todo sinal de alerta é uma invasão real. Antes de apagar arquivos ou restaurar backups, é preciso separar o que é ameaça do que é apenas ruído. Se você suspeita que seu WordPress foi invadido, este guia mostra o passo a passo para confirmar e agir.
Os sinais que parecem invasão, mas não são
Alguns sintomas assustam, mas têm explicações inofensivas. Por exemplo:
- Queda de tráfego: pode ser mudança de algoritmo do Google, problema de servidor ou sazonalidade. Não é prova de invasão.
- Alerta de antivírus: plugins de segurança às vezes acusam falsos positivos. Arquivos legítimos podem ser marcados por engano.
- Site lento: pode ser excesso de plugins, falta de cache ou servidor sobrecarregado, não necessariamente malware.
Por isso, o primeiro passo é não entrar em pânico. Reúna evidências concretas antes de agir. O que realmente confirma uma invasão são alterações que você não fez: arquivos novos, códigos estranhos, usuários extras, ou comportamentos incomuns nos logs.
WordPress invadido: o que olhar no banco de dados
O banco de dados é onde o WordPress guarda usuários, opções e conteúdo. Um invasor costuma deixar rastros por lá. Verifique três pontos principais:
1. Usuários suspeitos
Na tela Usuários → Todos os usuários, confira se há contas que você não criou. Preste atenção especial a usuários com papel de Administrador. Se encontrar um, não exclua ainda: primeiro, capture a data de registro e o e-mail. Depois, remova a conta e troque a senha de todos os outros administradores.
Se você não consegue ver os usuários pelo painel (por exemplo, se foi bloqueado), acesse o banco via phpMyAdmin ou linha de comando. A tabela é wp_users e a tabela de metadados é wp_usermeta. Consulte com:
SELECT * FROM wp_users;
SELECT * FROM wp_usermeta WHERE user_id = 1;
Isso mostra todos os usuários e seus papéis. Qualquer coisa fora do esperado é um forte indicativo de invasão.
2. Opções modificadas
Na tabela wp_options, invasores às vezes alteram a URL do site (siteurl, home) ou adicionam scripts maliciosos em opções como active_plugins. Verifique se as URLs estão corretas e se não há plugins ativos que você não instalou.
3. Conteúdo adulterado
Posts e páginas podem conter spam ou links escondidos. Use a busca do phpMyAdmin para procurar por strings comuns de malware, como eval(base64_decode, gzinflate, ou links para sites estranhos. Mas cuidado: alguns desses códigos podem aparecer em plugins legítimos. Analise o contexto.
O que olhar nos arquivos
Os arquivos do WordPress são o segundo lugar onde invasões deixam marcas. Você precisa comparar o que está no servidor com uma instalação limpa. Se tiver acesso via FTP ou gerenciador de arquivos, siga estes passos:
- Baixe uma cópia limpa do WordPress em wordpress.org/download.
- Compare os arquivos do seu servidor com os da cópia limpa. Ignore
wp-content(temas, plugins e uploads) ewp-config.php. Foque emwp-admin,wp-includese arquivos raiz comoindex.php,wp-load.php. - Arquivos modificados ou extras são suspeitos. Verifique a data de modificação: arquivos alterados na mesma data de um ataque são pistas fortes.
No terminal, você pode usar md5sum para comparar:
md5sum index.php wp-load.php wp-config.php
Compare os hashes com os da instalação limpa. Diferenças indicam adulteração.
Arquivos PHP suspeitos
Invasores costumam esconder scripts em wp-content/uploads, que normalmente só tem imagens. Procure por arquivos .php dentro de uploads. Também verifique se há arquivos com nomes estranhos, como wp-upload.php, ou com códigos ofuscados. Se encontrar, abra o arquivo e veja se contém funções como eval(), base64_decode() ou chamadas a URLs externas.
O que olhar nos logs
Os logs do servidor registram acessos e erros. Eles mostram se houve tentativas de login suspeitas ou requisições estranhas. Dependendo da hospedagem, você acessa os logs pelo painel ou via SSH.
Logs de acesso (access log)
Procure por padrões como:
- Muitas requisições para
wp-login.phpvindas do mesmo IP em pouco tempo — indica ataque de força bruta. - Requisições para arquivos que não existem, como
shell.phpouc99.php. - Acessos a
xmlrpc.php— usado em ataques de amplificação.
Se você tem SSH, use o comando grep para filtrar:
grep "wp-login.php" /var/log/apache2/access.log | head -50
Logs de erro (error log)
Erros de PHP podem revelar tentativas de execução de código. Procure por mensagens como PHP Warning: include() ou unexpected T_STRING. Esses erros podem indicar que um arquivo malicioso tentou ser executado.
Ferramentas que ajudam a confirmar
Além da inspeção manual, você pode usar ferramentas de verificação de integridade e segurança:
- Wordfence — escaneia arquivos e compara com o repositório oficial. Mostra arquivos modificados e possíveis malwares.
- Sucuri SiteCheck — verifica se o site está na lista negra do Google e detecta malware conhecido.
- WPScan — focado em vulnerabilidades de plugins e temas.
Essas ferramentas são complementares, não substituem a análise manual. Elas podem acusar falsos positivos, então confirme qualquer alerta olhando o código.
Quando NÃO é invasão
Há situações em que os sinais apontam para invasão, mas a causa é outra:
- Plugin mal configurado pode gerar alertas de segurança falsos. Por exemplo, um plugin de cache que cria arquivos
.phpemuploadspode ser marcado como malware. - Tema modificado por você ou por outro desenvolvedor pode conter código que parece suspeito, mas é legítimo.
- Queda de tráfego após uma atualização de algoritmo não é invasão. Verifique o Google Search Console antes de suspeitar.
Se você não encontrar nenhum usuário extra, nenhum arquivo modificado e nenhum log suspeito, é provável que não houve invasão. Nesse caso, foque em melhorar a segurança preventivamente.
Erros comuns ao investigar
- Apagar tudo antes de analisar: se você restaurar um backup antigo, pode estar restaurando o malware. Analise primeiro, limpe depois.
- Ignorar o banco de dados: muitos invasores escondem código em
wp_optionsou em posts. Se você só limpar os arquivos, a invasão pode voltar. - Confiar cegamente em scanners: eles ajudam, mas não encontram tudo. A análise manual é essencial.
Prevenção: como evitar a próxima invasão
Depois de confirmar que o site está limpo, ou mesmo se não houve invasão, adote medidas para reduzir o risco:
- Mantenha WordPress, temas e plugins sempre atualizados.
- Use senhas fortes e ative a autenticação de dois fatores (2FA).
- Limite o número de tentativas de login com plugins como Limit Login Attempts Reloaded.
- Remova usuários que não são mais necessários.
- Faça backups regulares e guarde cópias fora do servidor. Veja o que precisa estar na cópia de backup.
Se você administra vários sites, monitorar todos manualmente é inviável. Um painel centralizado como o 100% WP ajuda a acompanhar atualizações, backups e alertas de segurança em um só lugar, reduzindo a chance de uma invasão passar despercebida.
Quando chamar um profissional
Se você encontrou sinais claros de invasão, mas não tem tempo ou conhecimento para limpar tudo, ou se o site está fora do ar e você precisa de recuperação urgente, contrate um serviço especializado. A remoção de malware profissional pode economizar horas e evitar danos maiores. Também procure ajuda se o invasor tiver acesso a dados sensíveis de clientes — nesse caso, a notificação legal pode ser necessária.
Em resumo, confirmar uma invasão exige método: verifique banco, arquivos e logs, nessa ordem. Não confie em sintomas isolados. Com as evidências em mãos, você decide entre limpar você mesmo ou chamar um especialista.


