A presença de administradores desconhecidos no WordPress é um forte indício de comprometimento. Em auditoria, não basta remover o usuário: você precisa entender quando ele foi criado, como acessou o sistema e qual impacto deixou.
1) PHP-CLI vs PHP-CGI: erro comum no início da análise
Em servidores com múltiplas versões de PHP (como Plesk), usar o binário errado quebra o WP-CLI com erros como 404 Not Found ou No such file or directory.
Use sempre o binário CLI correto da versão do site:
/opt/plesk/php/8.2/bin/php /usr/local/bin/wp core version --allow-root
2) Liste os administradores e procure padrões de ataque
Comece pela base de usuários administrativos:
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered --allow-root
Sinais de alerta:
- logins aleatórios (exemplo:
xtw18387...) - e-mails suspeitos ou descartáveis
- múltiplos admins criados em curto intervalo de tempo
3) Use IDs como evidência cronológica
Datas podem ser adulteradas no banco. Já o ID em AUTO_INCREMENT costuma entregar a ordem real de criação.
Exemplo: usuário legítimo com ID 2 e usuário suspeito com ID 17 alegando data mais antiga. Isso indica forte chance de manipulação de user_registered.
4) Verifique metadados e sessões recentes
O WordPress não mantém trilha completa de login por padrão, mas os session_tokens podem trazer IP, user-agent e timestamp.
wp user meta get [ID_DO_USUARIO] session_tokens --allow-root
Essa etapa ajuda a correlacionar identidade suspeita com origem de acesso.
5) Confirme no log de acesso do servidor
Se o banco estiver alterado, os logs Apache/Nginx funcionam como caixa-preta. Procure logins aceitos via POST /wp-login.php com retorno 302.
grep "POST /wp-login.php" /var/log/httpd/domains/domain.com.log | grep " 302 "
302 normalmente indica autenticação aceita e redirecionamento ao dashboard.
6) Resposta e remediação
Se a invasão for confirmada:
- Remova usuários maliciosos e reatribua conteúdo:
wp user delete [ID] --reassign=[ID_ADMIN_CONFIAVEL] --allow-root
- Force reset de senha de todos os usuários legítimos.
- Faça varredura por backdoors PHP em
public_html. - Instale trilha de auditoria (por exemplo, WP Activity Log / Simple History).
Em perícia WordPress, a interface gráfica mostra pouco. Terminal, WP-CLI e logs de servidor revelam a linha do tempo real da invasão. Em segurança, dados podem ser forjados, mas metadados e logs consistentes quase sempre expõem o ataque.
Este post está licenciado sob CC BY-NC.
Comentários
Participe da discussão abaixo.
Comentários ainda não configurados. Adicione as opções do Cusdis em /assets/json/config/blog-comments-config.json.