Frequentemente, ajudamos os usuários a consertar seus sites WordPress hackeados. Na maioria das vezes, quando eles entram em contato conosco, eles já limparam o site e o hacker conseguiu voltar. Isso acontece se você não fez a limpeza corretamente ou não sabia o que estava procurando. Na maioria dos casos, havia um backdoor criado pelo hacker que permitia que eles contornassem a autenticação normal. Neste artigo, mostraremos como encontrar um backdoor em um site WordPress hackeado e como corrigi-lo.
O que é um backdoor?
Backdoor é conhecido como um método de contornar a autenticação normal e obter a capacidade de acessar remotamente o servidor sem ser detectado. A maioria dos hackers inteligentes sempre carrega o backdoor no site durante a primeira invasão. Isso permite que eles recuperem o acesso, mesmo depois de encontrar e remover o plugin explorado. Os backdoors geralmente sobrevivem às atualizações, então seu site fica vulnerável até que você limpe essa bagunça.
Alguns backdoors simplesmente permitem que os usuários criem um nome de usuário de administrador oculto. Já os backdoors mais complexos podem permitir que o hacker execute qualquer código PHP enviado do navegador. Outros têm uma interface de usuário completa que permite enviar e-mails como seu servidor, executar consultas SQL e tudo o mais que quiserem.
Onde este código está oculto?
Backdoors em uma instalação do WordPress são mais comumente armazenados nos seguintes locais:
- Temas – Provavelmente não está no tema atual que você está usando. Os hackers querem que o código sobreviva às atualizações principais. Portanto, se você tiver o antigo tema Kubrick em seu diretório de temas, ou outro tema inativo, os códigos provavelmente estarão lá. É por isso que recomendamos excluir todos os temas inativos.
- Plugins – os plugins são um ótimo lugar para o hacker ocultar o código por três motivos. Um porque as pessoas realmente não olham para eles. Dois porque as pessoas não gostam de atualizar seus plugins, então eles sobrevivem às atualizações. Terceiro, existem alguns plugins mal codificados que, para começar, provavelmente têm suas próprias vulnerabilidades.
- Diretório de uploads – Como um blogueiro, você nunca verifica seu diretório de uploads. Por que você verificaria? Basta fazer upload da imagem e usá-la em seu post. Você provavelmente tem milhares de imagens na pasta de uploads divididas por ano e mês. É muito fácil para o hacker fazer upload de um backdoor na pasta de uploads porque ele se esconderá entre milhares de arquivos de mídia. Além disso, você não os verifica regularmente. A maioria das pessoas não tem um plugin de monitoramento como o Sucuri ou Astra Security. Por último, o diretório de uploads é gravável, então pode funcionar da maneira que deveria. Isso o torna um grande alvo. Muitos backdoors que encontramos estão lá.
- wp-config.php – Este também é um dos arquivos altamente visados pelos hackers. É também um dos primeiros lugares que a maioria das pessoas deve procurar.
- /wp-includes/ – pasta é outro lugar que encontramos backdoors. Alguns hackers sempre deixarão mais de um arquivo backdoor. Assim que fizerem o upload de um, eles adicionarão outro backup para garantir o acesso. A pasta wp-includes é outra onde a maioria das pessoas não se preocupa em procurar.
Em todos os casos que encontramos backdoors estava disfarçada para se parecer com um arquivo WordPress.
Por exemplo: em um site que limpamos, o backdoor estava na pasta wp-includes
e era chamado wp-user.php (isso não existe na instalação normal). Existe user.php, mas não wp-user.php na pasta /wp-includes/
. Em outra instância, encontramos um arquivo php denominado hello.php
na pasta de uploads. Ele estava disfarçado como o plugin Hello Dolly. Mas por que diabos está na pasta de uploads?
Ele também pode usar nomes como wp-content.old.tmp, data.php, php5.php ou algo desse tipo. Não precisa terminar com PHP apenas porque contém código PHP. Também pode ser um arquivo .zip. Na maioria dos casos, esses arquivos são codificados com o código base64 que geralmente executa todas as operações de classificação (ou seja, adicionar links de spam, adicionar páginas adicionais, redirecionar o site principal para páginas com spam etc.).
Agora você provavelmente está pensando que o WordPress é inseguro porque permite backdoors. Você está TOTALMENTE ERRADO. A versão atual do WordPress não tem vulnerabilidades conhecidas.
Os Backdoors não são a primeira etapa do hack. Geralmente é a segunda etapa. Frequentemente, os hackers encontram um exploit em um plugin ou script de terceiros que lhes dá acesso para fazer o upload do backdoor.
Mas pode ser todo tipo de coisa. Por exemplo, um plugin mal codificado pode permitir o aumento de privilégios do usuário. Se o seu site tinha registros abertos, o hacker pode simplesmente se registrar gratuitamente.
Explore o único recurso para obter mais privilégios (o que permite que eles carreguem os arquivos). Em outros casos, pode muito bem ser que suas credenciais tenham sido comprometidas. Também pode ser que você esteja usando um provedor de hospedagem inseguro. Veja nossa lista recomendada de hospedagem WordPress.
Como encontrar e limpar um backdoor?
Agora que você sabe o que é um backdoor e onde pode ser encontrado. Você precisa começar a procurá-lo. Limpar é tão fácil quanto excluir o arquivo ou código. No entanto, a parte difícil é encontrá-lo. Você pode começar com um dos seguintes plugins de scanner de malware do WordPress. Destes, recomendamos Sucuri (sim, é pago).
Você também pode usar o BulletProof Security , mas lembre-se de que os códigos base64 também são usados em plugins. Portanto, às vezes, ele retornará muitos falsos positivos. Se você não é o desenvolvedor dos plugins, é realmente difícil saber qual código está fora de seu lugar nas milhares de linhas de código. A melhor coisa que você pode fazer é excluir o diretório de plugins e reinstalá-los do zero. Sim, essa é a única maneira de ter certeza, a menos que tenha muito tempo para gastar.
Pesquise o diretório de uploads
Um dos plugins de scanner encontrará um arquivo nocivo na pasta de uploads. Mas se você estiver familiarizado com SSH, então precisa apenas escrever o seguinte comando:
find uploads -name "*.php" -print
Não há nenhuma boa razão para um arquivo .php estar em sua pasta de uploads. A pasta é projetada para arquivos de mídia na maioria dos casos. Se houver um arquivo .php lá, ele precisa ser removido.
Excluir Temas Inativos
Como mencionamos acima, muitas vezes os temas inativos são atacados. A melhor coisa a fazer é excluí-los (sim, isso inclui o tema padrão e clássico). Você acabou de economizar tempo de olhar e eliminou um ponto extra de ataque.
Arquivo .htaccess
Às vezes, os códigos de redirecionamentos estão sendo adicionados lá. Apenas exclua o arquivo e ele se recriará. Caso contrário, vá para o painel de administração do WordPress. Configurações » Links permanentes. Clique no botão Salvar lá. Isso irá recriar o arquivo .htaccess.
Arquivo wp-config.php
Compare este arquivo com o arquivo wp-config-sample.php padrão. Se você ver algo que está fora do lugar, livre-se dele.
Verificação de banco de dados e SPAM
Um hacker inteligente nunca terá apenas um local seguro. Visar um banco de dados cheio de dados é um truque muito fácil. Eles podem armazenar suas funções PHP ruins, novas contas administrativas, links de SPAM, etc. no banco de dados. Sim, às vezes você não verá o usuário administrador na página de seu usuário. Você verá que há 3 usuários no seu banco de dados e só pode ver 2 na administração do WordPress. Provavelmente, você foi hackeado.
Se você não sabe o que está fazendo com o SQL, provavelmente deseja que um desses scanners faça o trabalho por você. O plugin BulletProof Security ou o Sucuri (versão paga) cuidam disso.
Acha que limpou o site? Pense de novo!
Tudo bem, então o hack foi embora. Ufa. Espere, não relaxe ainda. Abra seu navegador no modo de navegação anônima para ver se o hack volta. Às vezes, esses hackers são inteligentes. Eles não mostrarão o hack para usuários logados. Apenas usuários desconectados o veem. Ou melhor ainda, tente mudar o user agent do seu navegador para Google. Às vezes, os hackers querem apenas atingir os motores de busca. Se tudo estiver certo, você está pronto para ir.
Apenas para sua informação: se você quiser ter 100% de certeza de que não há hack, exclua seu site. E restaure-o backup até o ponto em que você saiba que o hack não estava lá. Essa pode não ser uma opção para todos, então você tem que viver no limite.
Como Prevenir Hacks no Futuro?
Nosso conselho nº 1 seria manter backups fortes ( UpdraftPlus ou BackupBuddy ) e começar a usar um serviço de monitoramento como Sucuri ou Astra Security. Como dissemos antes, não é possível monitorar tudo o que acontece em seu site quando você está fazendo muitas outras coisas. É por isso que usamos Sucuri ou o Astra Security. Pode parecer que os estamos promovendo. Mas NÃO somos assim. Sim, recebemos uma comissão de afiliado de todos os que se inscrevem na Sucuri, mas não é por isso que a recomendamos.
Recomendamos apenas produtos que utilizamos e que sejam de qualidade. Publicações importantes como CNN, USAToday, PC World, TechCrunch, TheNextWeb e outras também estão recomendando esses caras. É porque eles são bons no que fazem.
Algumas outras coisas que você pode fazer:
- Use senhas fortes – force seus usuários a usar senhas fortes. Comece a usar um utilitário de gerenciamento de senha como LastPass.
- Autenticação em duas etapas – se sua senha for comprometida, o usuário ainda precisará ter o código de verificação via celular.
- Limitar tentativas de login – Este plugin permite que você bloqueie o usuário após X números de tentativas de login malsucedidas.
- Desativar edição de tema e plugin via painel de administração do WordPress – evita problemas muitos problemas. Mesmo se os privilégios do usuário fossem escalados, eles não poderiam modificar seu tema ou plugins usando o WP-Admin.
- Proteger com senha WP-Admin – Você pode proteger com senha todo o diretório. Você também pode limitar o acesso por IP .
- Desabilitar execução de PHP em certos diretórios do WordPress – desabilita a execução de PHP nos diretórios de upload e outros diretórios de sua escolha. Basicamente, mesmo que alguém puder carregar o arquivo em sua pasta de uploads, não seria capaz de executá-lo.
- Fique ATUALIZADO – Execute a versão mais recente do WordPress e atualize seus plugins.
Se você tiver pouco tempo para cuidar do seu site, você pode considerar contratar um plano de manutenção WordPress em uma empresa especializada em suporte e manutenção WodPress.
Por último, não seja barato quando se trata de segurança. Sempre dizemos que a melhor medida de segurança são ótimos backups. Por favor, mantenha bons backups regulares do seu site. A maioria das empresas de hospedagem NÃO faz isso por você. Começar a usar uma solução confiável como BackupBuddy ou UpdraftPlus . Dessa forma, se você for hackeado, sempre terá um ponto de restauração. Além disso, se você puder, pegue a Sucuri e evite todos os problemas. Eles irão monitorar seu site e limpá-lo se você for invadido. Ele sai em cerca de $3 por mês por site.
Esperamos que este artigo tenha ajudado você. Sinta-se à vontade para deixar um comentário abaixo se você tiver algo a acrescentar.