PASSOS PARA LIMPAR UM SITE JOOMLA! HACKEADO

Identifique, remova e faça um harden do seu site após um hack.

A Sucuri dedica-se a ajudar os administradores do Joomla! a identificar e corrigir sites hackeados. Escrevemos este guia para ajudar os proprietários de sites a percorrer o processo de identificação e limpeza de sites Joomla! hackeados. Este guia não pretende ser abrangente, mas ajuda a resolver 70% das infecções que vemos.

Anaheim, CA • US • Casa da
Kimmy Administradora de RH/Viagens Corporativas

Indicadores Comuns para Saber que um Site Joomla! Foi Hackeado

  • Notificações de listas negras pelo Google, Bing, McAfee
  • Comportamentos estranhos ou inesperados de navegadores
  • Palavras-chave de spam em conteúdo de motor de busca
  • Notificação de site suspenso pelo host
  • Modificações de arquivos ou problemas de integridade no core do Joomla!
  • Novos usuários maliciosos no painel do Joomla!

Passo 1

IDENTIFIQUE O HACK

1.1 Escaneie Seu Site

Use ferramentas que escaneiam seu site remotamente para encontrar payloads maliciosos e locais de malware.

Para escanear Joomla! em busca de hacks:

  1. Visite o SiteCheck.
  2. Clique em Scan Website.

  3. Se o site estiver infectado, leia a mensagem de alerta.

  4. Veja quais são os payloads e suas localizações (se disponível).

  5. Veja quais são as notificações de lista negra.

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

Observação

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

Ferramentas para escanear seu site:

1.2 Verifique Arquivos Modificados

Arquivos novos ou recém-modificados podem ser parte de um hack. Seus arquivos core do Joomla! também devem ser verificados, em busca de injeções de malware.

Observação

Recomendamos o uso de FTPS/SFTP/SSH ao invés de FTP encriptado.

A maneira mais rápida de verificar a integridade dos arquivos core do Joomla! é usando o comando diff no terminal. Se você não está acostumado a usar a linha de comandos, pode verificar seus arquivos manualmente via SFTP.

Todas as versões do Joomla! estão no GitHub. Usando um terminal SSH, baixe o Joomla! localmente. Os comandos a seguir usam a versão 3.6.4 como exemplo dos arquivos limpos e o public_html como exemplo da localização da sua instalação Joomla! .

Para comprovar a integridade dos arquivos core com comandos SSH:

  • $ mkdir joomla-3.6.4
  • $ cd joomla-3.6.4
  • $ wget https://github.com/joomla/joomla-cms/releases/download/3.6.4/Joomla_3.6.4-Stable-Full_Package.tar.gz
  • $ tar -zxvf Joomla_3.6.4-Stable-Full_Package.tar.gz
  • $ diff -r joomla-3.6.4 ./public_html

O comando diff final irá comparar os arquivos limpos do Joomla! com a sua instalação.

Para verificar manualmente os arquivos recém-modificados:

  1. Faça login no seu servidor usando um cliente FTP ou terminal SSH.

  2. Ao usar SSH, liste todos os arquivos modificados nos últimos 15 dias, usando o seguinte comando: $ find ./ -type f -mtime -15.

  3. Ao usar SFTP, verifique a coluna da data da última modificação para todos os arquivos do servidor.

  4. Verifique quaisquer arquivos que tenham sido modificados recentemente.

Modificações desconhecidas nos últimos 7-30 dias podem ser suspeitas e requerem mais investigação. Você também pode usar escâneres online e extensões de Joomla! para procurar por indicadores de comprometimento, payloads maliciosos e outros problemas de segurança.

Escaneie seu site com extensões de segurança do Joomla!:

1.3 Audit de User Logs

Verifique as contas de usuários Joomla!, especialmente as de administradores e super-administradores.

Para encontrar usuários maliciosos no Joomla!:

  1. Faça login na área do Administrador do Joomla! .

  2. Clique Users no item do menu e selecione Manage.

  3. Revise a lista, especialmente em busca de usuários com uma recente Registration Date.

  4. Remove todos os usuários desconhecidos que foram criados por hackers.

  5. Verifique a Last Visit Date de usuários legítimos.

  6. Confirme os usuários que logaram em horários suspeitos.

Observação

Espere para mudar as senhas de usuários depois de ter limpado completamente o site de malware. Isso garante que os hackers não terão mais acesso a qualquer conta de usuário.

Você também pode analisar seus logs do servidor, se sabe onde eles estão armazenados e como procurar os pedidos da área do administrador do Joomla! Usuários que logaram em horários incomuns ou localizações geográficas desconhecidas podem ter sido comprometidos.

1.4 Verifique as Páginas de Diagnóstico

Se o seu site Joomla! foi notificado pelo Google ou por outras autoridades de segurança de sites, você pode usar suas ferramentas de diagnóstico para verificar o status da segurança do seu site Joomla!.

Para verificar o seu Google Transparency Report:

  1. Visite o Safe Browsing Site Status.

  2. Insira sua URL e pesquise

  3. Nesta página, você pode verificar:

    • Detalhes de Segurança do Site: informação sobre redirecionamentos maliciosos, spam e downloads.
    • Detalhes de Testes: escaneio mais recente do Google que encontrou malware.

Se você adicionou o seu site para quaisquer ferramentas para webmasters gratuitas, você pode verificar suas classificações de segurança e relatórios do seu site. Se você ainda não tem contas para essas ferramentas de monitoramento gratuitas, é altamente recomendável que você se inscreva no:

Passo 2

REMOVER O HACK

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

Dica Profissional:

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 Joomla! .

2.1 Limpe Arquivos Hackeados do Seu Site

Se todos os escaneios ou páginas de diagnóstico revelaram domínios maliciosos ou payloads, você pode começar verificando os arquivos no seu servidor web Joomla! . Ao comparar os arquivos infectados com os arquivos legítimos conhecidos (a partir de fontes oficiais ou backups confiáveis e limpos), pode identificar e remover as alterações maliciosas.

Cuidado

é importante comparar com a mesma versão dos seus arquivos core e extensões do Joomla!. Arquivos core na versão 2.x são diferentes da versão 3.x e assim por diante.

Nunca realize nenhuma ação sem antes fazer um backup. Se você está inseguro, peça ajuda a um profissional.

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

  1. Entre no seu servidor via SFTP ou SSH.

  2. Crie um backup do site antes de fazer qualquer modificação.

  3. Procure por seus arquivos como referência a domínios maliciosos ou payloads.

  4. Identifique os arquivos mudados recentemente e confirme se são legítimos.

  5. Restaure arquivos mostrados no comando diff durante a inspeção de integridade dos arquivos do core.

  6. Restaure ou compare os arquivos suspeitos com backups limpos ou fontes oficiais.

  7. Remova códigos suspeitos ou desconhecidos dos arquivos personalizados.

  8. Teste para verificar que seu site ainda está operacional após as mudanças.

Se você não consegue encontrar o conteúdo malicioso, tente pesquisar na web por conteúdo malicioso, payloads e nomes de domínios que você encontrou na primeira etapa. Pode ser que alguém já tenha descoberto como esses nomes de domínios estão envolvidos no hack que você está tentando limpar.

Ferramentas diff para comparar arquivos suspeitos com cópias limpas conhecidas:

2.2 Limpe 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 do Joomla! :

  1. Entre no admin panel da sua base de dados (database).

  2. Faça um backup da base de dados antes de fazer modificações.

  3. Procure por conteúdo suspeito (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. 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.

Cuidado

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 Remova Backdoors Escondidos

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

Muitas vezes, os backdoors estão dentro de arquivos com nomes semelhantes aos arquivos dentro do framework oficial do Joomla! , mas localizados no diretório errado. Os atacantes também podem injetar backdoors em arquivos como o index.php e diretórios como /components, /modules e /templates.

Backdoors geralmente incluem as seguintes funções PHP:

  • base64
  • str_rot13
  • gzuncompress
  • gzinflate
  • eval
  • exec
  • create_function
  • location.href
  • curl_exec
  • stream
  • system
  • assert
  • stripslashes
  • preg_replace (with /e/)
  • move_uploaded_file
  • strrev
  • file_get_contents
  • encodeuri
  • wget

Cuidado

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.

Sempre se lembre de comparar arquivos usando a mesma versão do Joomla!.

Para remover backdoors comparando arquivos:

  1. Confirme a versão do seu Joomla! clicando no menu System e abrindo o System Information

  2. Faça o download da mesma versão dos seus arquivos core a partir da versão oficial do repositório do Joomla! .

  3. Faça login no seu servidor via SFTP ou SSH.

  4. Crie um backup dos arquivos do site antes de fazer as mudanças.

  5. No seu cliente FTP, compare o seu site com o download bom.

  6. Investigue quaisquer arquivos no seu servidor que não combinem com os arquivos legítimos.

  7. Investigue quaisquer arquivos que não tenham o mesmo tamanho dos arquivos legítimos.

Observação

O diretório /installation estará faltando no seu site e o arquivo configuration.php estará faltando nos arquivos legítimos.

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 Joomla! .

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

2.4 Conserte Notificações de Malware

Se você foi notificado pelo Google, McAfee, Yandex (ou por qualquer outra autoridade de spam web), peça uma revisão após o hack ter sido consertado. Google agora está limitando o pedido de revisaõ de ofensores recorrentes para uma revisão a cada 30 dias. Certifique-se de que o seu site esteja realmente limpo antes de fazer o pedido de revisão!

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.
    • O processo de revisão pode levar muitos dias.

Observação

Com o plano de Segurança de Sites Sucuri, enviamos pedidos de revisão de listas negras para você. Isso faz com que as notificações de malware sejam retiradas muito mais rapidamente, na maioria dos casos, em menos de 10 horas.

Passo 3

PóS-HACK

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

3.1 Atualize e Resete

Software desatualizado é uma das maiores causas de infecções, por isso é importante removar quaisquer extensões vulneráveis. Credenciais potencialmente comprometidas também podem ser resetadas para garantir que não sejam reinfectadas.

Atualize o Core e as Extensões Joomla!

Atualize todos os software do Joomla! ,incluindo arquivos core, componentes, templates, módulos e plugins.

Verifique suas extensões em busca de vulnerabilidades conhecidas, usando a Lista de Extensões de Joomla Vulneráveis.

Para verificar e atualizar as extensões do Joomla! :

  1. Tenha um backup recente do seu site.

  2. Faça login na área de Admistrador do Joomla! .

  3. Clique em Extensions no menu e selecione Manage.

  4. Na barra lateral, clique em Update.

  5. Revise as atualizações disponíveis e aplique-as.

  6. Remova extensões que contenham vulnerabilidades conhecidas.

Joomla! 2.x d 3.x são as versões mais estáveis que ainda são desenvolvidas. Seus usuários devem certificar-se de que todas as atualizações do core sejam aplicadas.

Se você estiver atualizando manualmente os arquivos core, pode excluir com segurança diretórios que fazem parte do framework oficial do Joomla! (administrador, componentes, etc), em seguida, recriar manualmente esses mesmos diretórios e componentes core.

Cuidado

Cuidado para não sobrescrever o arquivo configuration.php, pois isso quebrará o seu site!

Para verificar e atualizar os arquivos core do Joomla!:

  1. Certifique-se de ter um backup recente do seu site.

  2. Faça login na área de Admistrador do Joomla! .

  3. Clique em System no menu e selecione Joomla! Update.

  4. Clique em Check for Updates.

  5. Revise as atualizações disponíveis para a sua versão Joomla! .

  6. Clique em Reinstall Joomla core files .

Usuários do 1.x devem fazer o upgrade para 3.x seguindo o guia de migração do Joomla! .

Se no primeiro passo, o SiteCheck identificou outros softwares desatualizados no seu servidor (Apache, cPanel, PHP), atualize-os para ter todos os patches de segurança disponíveis.

Resete as Credenciais do Usuário

Resete todas as senhas de usuários por senhas únicas e fortes, para evitar reinfecções.

Para resetar as senhas das contas de usuários Joomla! :

  1. Faça login no seu site Joomla! .

  2. Clique em Users.

  3. Abra cada conta de usuário.

  4. Mude a senha de usuário.

  5. Repita o procedimento para cada usuário no site.

Reduza o número de contas de administradores e super administradores para o Joomla! e todos os sistemas do seu site. Pratique o conceito de menor privilégio. Somente forneça o acesso para aqueles que realmente precisem dele.

Joomla! vem com o two-factor authentication nas contas de usuário.

Para habilitar o 2FA nas suas contas de usuário Joomla! :

  1. Faça login no seu site Joomla! .

  2. Clique em Users.

  3. Abra cada conta de usuário.

  4. Clique em Two Factor Authentication.

  5. Siga os passos para habilitar 2FA.

  6. Repita o procedimento para cada usuário.

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 lembrar de muitas senhas. É para isso que existem os gerenciadores de senhas!

É aconselhável reinstalar todas as extensões após um hack para garantir que elas estejam funcionais e livres de malware residual. Se você tiver desativado temas, componentes, módulos ou plugins, recomendamos que você remova-os do seu servidor web.

3.2 Configure Backups

Os backups funcionam como uma rede de segurança. Agora que seu site Joomla! 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 Joomla! 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.

Observação:

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

3.2 Escaneie seu Computador

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

Joomla! 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

Você deve ter somente um programa de antivírus protegendo ativamente o seu sistema para evitar conflitos.

Se os computadores dos usuários do painel do Joomla! não estão limpos, seu site pode ser reinfectado facilmente.

3.4 Proteja Seu Site

Você pode fazer harden do seu site Joomla! ao restringir as permissões de arquivo e implementar regras .htaccess personalizadas. Recomendamos a leitura dos Joomla! Security Docs para saber mais sobre o tema.

O número de vulnerabilidades exploradas por atacantes cresce a cada dia. Manter-se a par dos fatos e ameaças é um desafio para os administradores. Firewalls de Sites foram inventados para fornecer um perímetro de sistema 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 ataques de força bruta sejam usados de maneira automática para tentar adivinhar suas senhas.

  4. Mitigação de Ataques de DDoS

    Ataques de Negação de Serviço Distribuído 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 de 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 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.