Meu wordpress foi invadido, e agora?

Olá pessoal!

Após 1 ano praticamente sem escrever, felizmente por muitos projetos, tive problemas de segurança em 3 dos 20 e poucos sites que administro. Por um momento imaginei que seria o mesmo problema que tive anteriormente e que está descrito ao final do post. Infelizmente não era, o que me levou a muitas pesquisas e noites sem dormir até encontrar a solução que descrevo abaixo:

Análise para manutenção de emergência

O que aconteceu

o site sofreu um ataque de um malware e foi corrompido

Como isso aconteceu?

  • O mais provável é a senha de algum dos usuários do site ter sido capturada através de acesso em algum computador ou dispositivo infectado pelo malware.
  • Há também o risco de ter vindo através de uma mensagem maliciosa com um sql injection através de algum plugin desatualizado

O que é este malware?

O virus vlomaw altera o template e os plugins do site, desativando e usando a estrutura do wordpress cria um mecanismo para direcionar tráfego a urls de anúncios de escolha do malware e oculta o site dos mecanismos de busca, dificultando a detecção do mesmo. Vírus extremamente articulado infecta diversas partes da estrutura de dados e de arquivos do wordpress, comprometendo a credibilidade da instalação. Este virus infectou milhares de sites.

Em pesquisas recentes descobri que há também o risco de instalação de scripts para mineração de criptomoedas utilizando a capacidade do servidor php.

E tem solução?

Sim. Mas antes de aplicar qualquer solução lembre-se de fazer um backup dos seus arquivos e base de dados do wordpress para evitar perda de material e para que possa analisar como se deu o problema no site.

Solução simples (pra quem é webmaster)

A mais simples é verificar o banco de dados do seu wordpress por tabelas que não fazem parte da instalação (considerando que você tem acesso ao phpmyadmin), remova qualquer tabela que não esteja sendo usado pelo core do wordpress ou pelos plugins ativos no site. Verifique também na tabela de usuários se houve alteração na quantidade de usuários ou no nome de login. Altere as senhas via phpmyadmin de todos os usuários do wordpress. Verifique via ftp a possível instalação de temas e plugins no site que desconheça. Altere todas as senhas de FTP e usuários do wordpress, bem como do usuário do banco de dados e gere novas SALTs para o wp-config do site.

A solução simples falhou

Limpando a estrutura do site atual e criando uma nova estrutura, a partir dela subir o backup do site no momento anterior a infecção, importando o banco de dados e subindo as pastas temas, plugins e uploads.

Há perda de informações?

Todas as informações inseridas no site no momento posterior a data do backup não infectado a ser usado serão perdidas. Por isso, lembre-se de ter uma rotina de backup bem ajustada no site.

Procedimentos para evitar novos problemas como este

  1. Anexos do site limitados a jpg ou png (antes podia pdf)
  2. Suite de plugins de segurança para o site: WordFence, Updraft, Login LockDown, iThemes Security.
  3. Rotina de backup do site: diário do banco de dados guardando 30 dias, semanal dos arquivos principais guardando 4 versões.
  4. Maior segurança contra tentativas de login não autorizadas e tentativas de busca e execução em arquivos.
  5. Mudanças na estrutura de diretórios do site e revisões nas permissões destes diretórios.
  6. Alteração do nome do banco de dados, dos prefixos das tabelas, usuário e senha.
  7. Alteração da senha de usuário ftp.
  8. Desabilitados plugins de cache do site (até saber com certeza que não foi ele a porta de entrada)

Passos da manutenção

  • Apagar BD e arquivos
  • Subir novo banco de dados, novo usuário e nova estrutura de arquivos
    split nas tabelas dos bancos de dados para conseguir realizar a importação
    importar backups
  • uploads foram remanejados durante a manutenção para evitar a necessidade de transmitir grandes quantidades de arquivos
  • restaurar plugins individualmente e atualizar todos
  • Criar arquivo de acesso ao novo banco de dados
  • Testar acesso
  • Revisar template, plugins e uploads
  • Limpar usuários que não acessam o site e criar novas senhas dos usuários atuais
  • Instalar plugins de segurança que estiverem faltando
  • Configurar a rotina de backup
  • Configurar todos os itens de segurança para deixar o site o mais restrito possível
  • Tempo médio gasto: 4 a 6 horas

Me ajuda?

Caso precise de ajuda profissional para recuperar site wordpress, fale comigo.

Deixe seu comentário sobre problemas de segurança que já teve com o wordpress e ajude outros usuários que por aqui passarem. Dúvidas e sugestões são muito bem vindas.

Links que ajudaram no processo
  1. pt-br:Site Invadido – https://codex.wordpress.org/pt-br:Site_Invadido
    https://api.wordpress.org/secret-key/1.1/salt/
  2. Segurança de WordPress
    Segurança de Sites WordPress Confiável – https://sucuri.net/pt/seguranca-de-wordpress/
  3. Descubra as vulnerabilidades de segurança no WordPress – https://blog.apiki.com/2016/06/01/vulnerabilidades-de-seguranca-no-wordpress/
  4. Evite a vulnerabilidade Full Path Disclosure no WordPress – https://blog.apiki.com/2015/07/27/como-evitar-a-vulnerabilidade-full-path-disclosure-no-wordpress/
  5. MAIS DE 2.000 SITES DO WORDPRESS SÃO INFECTADOS COM KEYLOGGER – https://www.baboo.com.br/seguranca/mais-de-2-000-sites-do-wordpress-sao-infectados-com-keylogger/
  6. Post Sucuri – https://blog.sucuri.net/2018/01/cloudflare-solutions-keylogger-returns-on-new-domains.html
  7. Dicas de um provedor sobre segurança no wordpress – http://ajuda.maxrevenda.com.br/dicas-de-seguranca-em-wordpress/

 

Conteúdo de segurança no wordpress em 2017 

Saudações pessoal!

Depois de um tempo sem escrever estou de volta para falar sobre segurança no wordpress.

Recentemente fui pego de surpresa com o site de um cliente invadido. Os problemas apresentados foram:

  1. A tela do site foi alterada e passou a tocar música de fundo, tanto no site quanto no painel de controle
  2. Não era mais possível inserir conteúdo no painel de controle
  3. Em alguns computadores o site passou a ser marcado como site infectado

Quem é desenvolvedor sabe que geralmente você será um dos últimos a ser informado sobre o problema, afinal, muitas das vezes somos conhecidos por pouco traquejo social, rs

Aproveito para comentar sobre minha metodologia de análise do problema:

  1. Usuário desesperado: acesso o site como um usuário comum e sinto o desespero de o site estar diferente do que foi desenvolvido;
  2. Esvaziar a cabeça: tu já percebeu que está em mals lençóis e que, independentemente de culpado, você é o responsável (ou o capacitado) por voltar o site ao ar. Dê preferência para estar sozinho neste momento, assim tu pode ficar nervoso sem afetar sua relação com seu cliente. Bota pra fora a energia ruim.
  3. Hipóteses: o que pode ter acontecido para chegar a essa situação? Aconteceu algo diferente nos últimos dias com o site? Quem tem acesso ao site? Quem é seu provedor de hospedagem?
  4. Situações semelhantes: provavelmente alguém já passou por isso antes. Em caso positivo, é grande a chance de haver um post falando sobre a situação. No meu caso, usei como referência o post http://www.programadorpratico.com.br/blog/como-limpar-um-site-wordpress-hackeado-invadido/ , do Alan Rezende;
  5. Preparação do ambiente e permissões: Partimos do princípio que você faz regularmente backup do teu site. É válido fazer um backup deste momento em que o site está corrompido e informar ao seu cliente quais suas hipóteses de atuação;

Problema identificado

No caso que cito o site foi hackeado usando uma falha de segurança apontada recentemente no plugin NextGEN Gallery que permitiu ao invasor alterar o conteúdo do título do site. Esse título é uma string e fica armazenado no banco de dados do wordpress e é impresso nas páginas via php.

No campo correspondente ao título foi escrito um código que alterou visualmente todo o site. É facilmente identificável pois o título do site passa a iniciar com <!DOCTYPE .

Além disso, a barra lateral principal do site foi substituída por um widget de texto contendo o javascript que bloqueia o teclado e mouse bem como toca o áudio.

Limpando o estrago

  1. Tente analisar o código fonte do teu site para entender onde está o problema. No caso usado como exemplo, era perceptível que o <title> do site estava divergente
  2. Feche as portas! Importantíssimo verificar as permissões de pasta no seu FTP e gerar novas senhas de FTP, banco de dados e usuários
  3. Verifique seu arquivo .htaccess e wp-config
  4. Mantenha os plugins atualizados e / ou desative-os caso persista
  5. Atualize via phpmyadmin o title do teu site para voltar a conseguir trabalhar no mesmo, após isso identifique este widget malicioso e elimine-o também

Espero ter ajudado. E você? Já teve algum site invadido? Como procedeu? Deixe seus comentários para enriquecermos esta discussão.

Obrigado, paz