Como Limpar um Site WordPress Hackeado

Passos para remover malware, spam e outros hacks em sites WordPress

Atualizado: 14 de março de 2018

A Sucuri dedicou anos para ajudar os administradores do WordPress a identificar e corrigir sites hackeados. Para continuar esse projeto, escrevemos este guia para ajudar os proprietários de sites a percorrer o processo de identificação e limpeza de sites WordPress hackeados. Este guia não pretende ser abrangente, mas ajuda a resolver 70% das infecções que vemos.

Neste Guia

x
Passo 1
Identificar Hack

1.1 - Escanear Seu Site

Use ferramentas para fazer a varredura do seu site em busca de payloads maliciosos e malware. A Sucuri tem um plugin gratuito no repositório oficial do WordPress.

Para escanear o WordPress em busca de hacks:

  1. Visite: SiteCheck e
  2. Clique em Scan Website.
  3. Se o site tiver sido infectado, leia a mensagem que aparecer na tela.
  4. Veja quais são os payloads e onde se encontram (se disponível).
  5. Veja os avisos de listas negras.

Se o escâner remoto não conseguir encontrar o payload, faça os outros testes dessa seção, ou verifique manualmente o tab iFrames / Links / Scripts do Malware Scan a procura de elementos suspeitos.

Se você possui sites múltiplos no mesmo servidor, recomendamos escanear todos eles (ou usar o SiteCheck para isso). Contaminação cruzada de sites é uma das maiores causas de reinfecções. Aconselhamos a todos os donos de sites que protejam seu host e suas contas web.

Exemplo de Resultados da Varredura

sitecheck scan results report screenshot

Observação

O recurso Malware Scan é um escâner remoto que navega o site para identificar potenciais problemas de segurança. Algumas questões não aparecem em um navegador, mas se manifestam no servidor (ou seja, backdoors, phishing e scripts baseados no servidor). A abordagem mais abrangente para a verificação inclui os escâneres remoto e do lado do servidor. Saiba mais sobre como os escâneres remotos funcionam

Precisa de Ajuda?

Conserte seu site WordPress hackeado e não se preocupe mais com malware.

Ajude-me

1.2 - Verificar Integridade do Core

A maioria dos arquivos core do WordPress não devem ser modificados. Nosso plugin verifica a integridade do wp-admin, wp-includes, e dos arquivos no root.

A maneira mais rápida de confirmar a integridade dos seus arquivos core do WordPress é usar o comando diff no terminal. Se você não souber usar o terminal, pode verificar os arquivos manualmente via SFTP.

Se nada foi modificado, seus arquivos core estão limpos.

Observação

Pode-se usar um FTP client para procurar malware rapidamente em diretórios como o wp-content. Recomendamos o uso de FTPS/SFTP/SSH ao invés de FTP não criptografado.

1.3 - Verificar Arquivos Recém-Modificados

Arquivos novos ou modificados recentemente podem ser parte do hack.

Identifique arquivos hackeados checando quais arquivos foram modificados.

Para verificar manualmente arquivos modificados manualmente:

  1. Faça log into no seu servidor usando um cliente FTP ou via terminal SSH.
  2. Se usar SSH, liste todos os arquivos modificados nos últimos 15 dias usando o seguinte comando:
    $ find ./ -type f -mtime -15
  3. Se usar SFTP, revise a coluna da data de moficação para todos os arquivos do servidor.
  4. Veja cuidadosamente todos os arquivos que foram modifocados recentemente.

Para verificar manualmente arquivos modificados usando comandos no terminal em Linux:

  1. Digite no seu terminal:
    $ find /etc -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r .
  2. If you want to see directory files, type in your terminal:
    $ find /etc -printf '%TY-%Tm-%Td %TT %p\n' | sort -r .
  3. Unfamiliar modifications in the last 7-30 days may be suspicious.

1.4 - Verificar as Páginas de Diagnóstico

Se o seu site tiver sido colocado na lista negra pelo Google ou por outras autoridades de segurança dos sites, utilize as respectivas ferramentas de diagnóstico para verificar o estado de segurança do seu site WordPress.

Para verificar o Google Transparency Report:

  1. Visite o site Safe Browsing Site Status.
  2. Insira a URL do seu site e clique no ícone de busca..
  3. Nessa página, você pode verificar:
    • Site Safety Details: informações sobre redirecionamentos maliciosos, spam e downloads.
    • Testing Details: a data mais recente do escaneio do Google que detectou o malware.

Ferramentas gratuitas para webmasters podem ser usadas para verificar classificações de segurança e relatórios para o seu site. Se você ainda não tiver contas para essas ferramentas de monitoramento gratuitas, recomendamos que você se inscreva no:

Passo 2
Remover Hack

Agora que você já possui a informação sobre os usuários comprometidos e as localizações do malware, remova o malware do WordPress e reconfigure seu site para voltar a ficar limpo.

Dica:

A melhor maneira de identificar arquivos hackeados é comparar o estado atual do seu site com uma cópia de backup antiga limpa. Se houver um backup disponível, use-o para comparar as duas versões e identificar o que foi modificado.

Observação

Alguns desses passos requerem acesso ao servidor web e a base de dados. Se você não sabe como manipular tabelas da base de dados ou editar PHP, procure a ajuda da nossa Equipe de Resposta a Incidentes que removerão completamente o malware do seu site WordPress.

2.1 - Limpar Arquivos Hackeados do Site

Se a infecção estiver nos seus arquivos core ou em plugins, você conseguirá removê-la facilmente com o nosso plugin. Você também pode fazer isso manualmente, mas cuidado para não regravar o seu arquivo wp-config.php ou a pasta wp-content.

Arquivos personalizados podem ser substituídos por cópias novas, ou por um backup recente (se o backup não estiver infectado). Aqui estão mais dicas que podem ser usadas no seu WordPress.

Você pode usar os payloads maliciosos ou arquivos suspeitos encontrados no primeiro passo e remover o hack.

Para remover a infecção de malware manualmente dos arquivos do seu site:

  1. Entre no seu servidor via SFTP ou SSH.
  2. Crie um backup do site antes de fazer qualquer modificação.
  3. Identifique os arquivos mudados recentemente.
  4. Confirme a data da mudança com o usuário que a fez.
  5. Restaure arquivos suspeitos com cópias do repositório oficial do WordPress.
  6. Abra quaisquer arquivos custom ou premium (os que não estão no repositório oficial) com um editor de texto.
  7. Remova código suspeito dos arquivos personalizados.
  8. Teste para verificar se o site ainda está operacional após as mudanças.

Cuidado

A remoção manual de código “malicioso” pode ser desastrosa para a saúde do seu site. Nunca faça nenhuma ação sem um backup. Se você estiver inseguro, peça ajuda a um profissional.

2.2 - Limpar Tabelas Hackeadas da Base de Dados

Para remover infecção de malware da base de dados do seu site, use o seu painel admin para se conectar com a base de dados. Você também pode usar ferramentas como Search-Replace-DB ou Adminer.

Para remover a infecção de malware manualmente das suas tabelas da base de dados:

  1. Entre no admin panel da sua base de dados.
  2. Faça um backup da base de dados antes de fazer modificações.
  3. Procure por conteúdo suspeito (i.e., palavras-chave spammy, links).
  4. Abra a tabela que contém o conteúdo suspeito.
  5. Remova manualmente o conteúdo suspeito.
  6. Teste para verificar se o site ainda está operacional após as mudanças.
  7. Remova todas as ferramentas de acesso a base de dados que você usou (fez o upload).

Você pode usar a informação do payload fornecida pelo escâner de malware ou procurar por funções PHP maliciosas comuns, como eval, base64_decode, gzinflate, preg_replace, str_replace, etc.

Exemplo de Varredura da Base de Dados

database scan example field revision screenshot

Cuidado

Note que essas funções também são usadas em plugins por motivos legítimos, então teste todas as mudanças ou procure ajuda para não quebrar seu site acidentalmente. A remoção manual de arquivos “maliciosos” pode ser desastrosa para a saúde do seu site. Nunca faça nenhuma ação sem um backup. Se você estiver inseguro, peça ajuda a um profissional.

2.3 - Proteger Contas de Usuários

Se você observar quaisquer usuários WordPress diferentes, remova-os para que os hackers percam o acesso ao seu site. Recomendamos que você tenha somente um usuário admin. Os outros usuários devem ser configurados com o mínimo de privilégios possível (ie. contributor, author, editor).

Para remover a infecção de malware manualmente das suas tabelas da base de dados:

  1. Faça o backup do seu site antes de continuar.
  2. Entre no WordPress como admin e clique em Users.
  3. Encontre as novas contas de usuários suspeitos.
  4. Passe o mouse sobre o usuário suspeito e clique em Delete

Se você acha que qualquer uma das suas contas de usuário foram comprometidas, resete suas senhas. Você pode usar senhas de usuários usando o plugin Sucuri

2.4 - Remover Backdoors Ocultos

Hackers sempre arrumam um jeito de entrar novamente no seu site. Muito frequentemente, encontramos múltiplos backdoors de vários tipos em sites WordPress hackeados.

Muitas vezes, os backdoors estão dentro de arquivos com nomes semelhantes aos arquivos core do WordPress localizados no diretório errado. Os atacantes também podem injetar backdoors em arquivos como o wp-config.php e diretórios como /themes, /plugins, e /uploads.

Backdoors geralmente incluem as seguintes funções PHP:

  • base64
  • str_rot13
  • gzuncompress
  • eval
  • exec
  • system
  • assert
  • stripslashes
  • preg_replace (with /e/)
  • move_uploaded_file

Essas funções também podem ser usadas legitimamente por plugins, então, teste todas as mudanças porque você pode quebrar seu site ao remover funções benignas.

A maioria dos códigos maliciosos que vemos usa algum tipo de encriptação para prevenir ser detectado. Além de componentes premium que usam codificação para proteger seu mecanismo de autenticação, é muito raro ver codifcação no repositório oficial do WordPress.

É essencial que todos os backdoors estejam fechados para limpar um hack em WordPress com sucesso, ou o seu site será reinfectado rapidamente.

2.5 - Remover Notificações de Malware

Se você foi notificado pelo Google, McAfee, Yandex (ou por qualquer outra autoridade de spam web), pode pedir uma revisão após o hack ter sido consertado.

Para remover notificações de malware no seu site:

  1. Ligue para a sua empresa de hosting e peça para que removam a sua suspensão.
    • Você pode ter que fornecer detalhes sobre como o malware foi removido.
  2. Complete um pedido de revisão para cada autoridade de lista negra.
    • Por exemplo: Google Search Console, McAfee SiteAdvisor, Yandex Webmaster.

>Observação

Com o plano de Segurança de Sites Sucuri, enviamos pedidos de revisão de listas negras para você. Isso ajuda a garantir que seu site esteja pronto para ser enviado para revisão. Alguns pedidos de revisões, no entanto, como hacks de spam na web como resultado de ações manuais, podem levar até duas semanas.

Passo 3
Pós-Hack

Neste passo final, você aprenderá como consertar os problemas que podem ter causado o hack do seu WordPress. Você também seguirá passos essenciais para melhorar a segurança do seu site WordPress.

3.1 - Atualizar e Reiniciar as Configurações

Software desatualizado é uma das maiores causas de infecções. Isso inclui sua versão de CMS, plugins, temas e quaisquer outros tipos de extensão. Credenciais potencialmente comprometidas também podem ser resetadas para garantir que não sejam reinfectadas.

Atualize seu Software WordPress

Para aplicar atualizações no WordPress manualmente:

  1. Entre no seu servidor via SFTP ou SSH.
  2. Faça o backup do seu site e da base de dados (especialmente de conteúdo customizado).
  3. Remova manualmente os diretórios wp-admin e wp-includes.
  4. Substitua o wp-admin e o wp-includes usando cópias do repositório oficial do WordPress.
  5. Remova manualmente e substitua plugins e temas com cópias de fontes oficiais.
  6. Entre no WordPress como admin e clique em Dashboard > Updates.
  7. Aplique quaisquer atualizações que estejam faltando.
  8. Abra seu site para verificar se ainda está operacional.

Atualize todos os softwares no seu servidor (i.e., Apache, cPanel, PHP) para garantir que não há nenhum patch de segurança faltando.

Cuidado

  • Recomendamos a remoção e substituição manual dos arquivos core ao invés de usar a configuração Update no painel do wp-admin. Isso garante que qualquer arquivo malicioso adicionado aos diretórios core sejam verificados. Remova os diretórios core (wp-admin, wp-includes) e os adicione manualmente os mesmos diretórios core.
  • Cuidado para não tocar o wp-config ou wp-content, pois isso quebrará seu site!

Restaurar Senhas

Mude suas senhas para todos os pontos de acesso, incluindo as contas de usuários WordPress, FTP/SFTP, SSH, cPanel e sua base de dados.

Reduza o número de contas admin para todos os seus sistemas. Pratique o conceito de menor privilégio. Somente forneça o acesso para aqueles que precisam dele.

Observação

Todas suas contas devem usar senhas fortes. Uma boa senha possui três componentes – complexidade, tamanho e exclusividade. Alguns dizem que é muito difícil de lembrar de muitas senhas. é para isso que existem os gerenciadores de senhas!

Gerar Novas Chaves Secretas

Uma vez que suas senhas tenham sido resetadas, force todos os usuários a fazerem log off usando nosso plugin. WordPress usa cookies de navegadores para manter sessões de usuários ativas por duas semanas. Se um atacante tiver um cookie de sessão, reterá o acesso ao site, mesmo após a senha ser resetada. Para consertar essa vulnerabilidade, recomendamos forçar os usuários ativos a resetar as chaves secretas do WordPress.

Para gerar novas chaves secretas usando o plugin Sucuri:

To generate new secret keys in the wp-config.php file:

  1. Abra o arquivo wp-config.php no WordPress.
  2. Adicione 60+ caracteres únicos para cada chave e salt.
  3. Use um gerador de chave secreto.
  4. Salve o arquivo wp-config.php.

Aconselhamos que reinstale todos os plugins após um hack para garantir que eles estejam funcionando e livres de malware residual. Se você desativou os plugins, recomendamos que também os remova do seu servidor web.

  1. Entre no WordPress como admin e selecione Sucuri Security > Post-Hack.
  2. Selecione a aba Reset Plugins.
  3. Selecione os plugins que deseja resetar (recomendamos selecionar todos).
  4. Clique em Process selected items.

Observação

Plugins premium deverão ser reinstalados manualmente já que seu código não estará disponível no repositório oficial do WordPress.

3.2 - Fazer Harden do WordPress

Fazer harden de um servidor ou de uma aplicação significa seguir os passos para reduzir sua superfície de ataque, ou pontos de entrada de atacantes. WordPress e seus plugins podem ser mais difíceis de hackear quando se seguem esses passos.

Para fazer harden do WordPress usando o plugin Sucuri:

  1. Entre no WordPress como admins no Sucuri Security > Hardening.
  2. Leia as opções para entender o que elas fazem.
  3. Clique no botão Harden para aplicar as recomendações.

Há maneiras incontáveis de fazer harden no WordPress dependendo da sua necessidade. Recomendamos ler o WordPress Codex para pesquisar outros métodos de hardening. Veja a seção do Firewall de Sites abaixo para mais informações sobre como oferecemos patching e hardening virtual.

Harden do WordPress

harden wordpress access screenshot

3.3 - Configurar Backups

A função de backups funciona como uma rede de segurança. Agora que seu site já está limpo e que você já seguiu os passos pós-hack, faça um backup! Ter uma boa estratégia de backup é fundamental para se ter uma boa postura de segurança.

Seguem algumas dicas para te ajudar com seus backups de site:

  • Local

    Armazene os backups do WordPress em um local fora do seu site. Nunca armazene seus backups (ou versões antigas) no seu servidor, pois podem ser hackeados e comprometer o site real.

  • Automatização

    Sua solução de backups deve ser executada automaticamente em uma frequência que atenda as necessidades do seu site.

  • Redundância

    Armazene seus backups em locais múltiplos (armazenamento na nuvem, computador, hard drives externos).

  • Teste

    Teste o processo de restauração para confirmar que seu site esteja funcionando corretamente.

  • Tipos de Arquivos

    Algumas soluções de backup excluem alguns tipos de arquivos como vídeos e archives.

Você Sabia?

A Sucuri oferece aos seus clientes um sistema acessível para backups seguros.

3.4 - Fazer varredura no Computador

Todos os usuários do WordPress devem executar um escâner com um programa de antivírus de confiança em seu sistema operacional.

WordPress pode ser comprometido se um usuário com um computador infectado tiver acesso ao painel. Algumas infecções são feitas para usar um computador com editores de texto ou clientes FTP.

Estes são alguns programas de antivírus que recomendamos:

Observação

  • Tenha somente um programa de antivírus protegendo ativamente o seu sistema para evitar conflitos.
  • Se os computadores dos usuários do WordPress não estão limpos, seu site pode ser reinfectado facilmente.

3.5 - Instalar Firewall de Sites

O número de vulnerabilidades exploradas por atacantes cresce diariamente. Tentar manter-se atualizado é um desafio para os admins. Firewalls de Sites foram desenvolvidos pra fornecer um sistema de perímetro de defesa para o seu site.

Benefícios de usar um firewall de sites:

  • 1. Prevenir um Hack Futuro

    Ao detectar e parar métodos e comportamentos de hacks conhecidos, um firewall de sites mantém seu site protegido contra infecções.

  • 2. Atualização de Segurança Virtual

    Hackers exploram vulnerabilidades em plugins e temas. Novas vulnerabilidades estão sempre aparecendo (chamadas de dia zero). Um bom firewall de sites cosertará por meio de patch as falhas nos seus software de site, mesmo que você não tenha feito as atualizações de segurança.

  • 3. Bloqueio de Ataques de Força Bruta

    Um firewall de sites deve impedir que qualquer pessoa não autorizada acesse sua página wp-admin ou wp-login, para evitar que ataques de força bruta sejam usados de maneira automática para tentar adivinhar suas senhas.

  • 4. Mitigação de Ataques de DDoS

    Ataques Distribuídos de Negação de Serviço tentam sobrecarregar seu servidor ou os recursos da sua aplicação. Ao detectar e bloquear todos os tipos de ataques DDoS, um firewall de sites certifica-se que seu site esteja disponível se você estiver sob ataque de um grande volume de visitantes falsos.

  • 5. Otimização de Performance

    A maioria dos WAFs oferecerão caching para aumentar a velocidade global da página, o que faz mantém seus visitantes satisfeitos e diminui a taxa de saída de visitantes, ao melhorar o engajamento com o site, a taxa de conversão e as classificações dos motores de busca.

Oferecemos todas essas opções com o Firewall Sucuri. Você pode conectá-lo ao nosso plugin WordPress usando o tab Firewall (WAF) no plugin Sucuri.