Acabei de atualizar todos os meus sites usando o método de correção para resolver a exploração Drupal SA-CORE-2014-005. Acabei de ler relatos de que ontem houve alguém de um IP russo se infiltrando em sites de drupal.
https://www.drupal.org/SA-CORE-2014-005
Minhas principais preocupações são agora:
- Como posso saber se meus sites foram compostos?
- O que devo procurar nos meus logs de acesso apache para detectar se meu site foi vítima ou não?
- Até agora, o que esses hackers estão fazendo em sites abrangidos?
Respostas:
Aqui estão algumas consultas SQL que podem ser executadas nos bancos de dados do site para verificar se há usuários com privilégios de administrador e quais acessaram o site após 15 de outubro.
http://www.drupalden.co.uk/sql-queries-find-users-roles-admin-privileges-drupalgeddon-drupal-sa-core-2014-005
fonte
created
campo da tabela de usuários. Não é garantido que a pessoa que injetou o SQL respeite o valor do campo, o que torna essa verificação pouco útil. De fato, ocorreu-me que a injeção comum de usuário pelo nomedrupaldev
foi supostamente criada há 44 semanas. Quanto à segunda recomendação, novamente não é garantido que o usuário injetado tenha efetivamenteSe você está lendo este artigo e espera verificar um site do Drupal 7 mais de um mês após a exploração, o seu site provavelmente já foi invadido . Sua melhor aposta é restaurar um backup antes do início dos ataques e trabalhar a partir daí.
Há uma FAQ sobre SA-CORE-2014-005 .
Uma maneira de verificar rapidamente se os sites estão comprometidos é com o comando drupalgeddon drush.
Instale no seu
~/.drush
comdrush dl drupalgeddon
Então use
drush drupalgeddon-test
para testar. Aliases Drush tornam isso fácil e rápido.Essa ferramenta pode confirmar um site explorado, mas não pode garantir que seu site não foi explorado. Não há "atestado de integridade" aqui, a menos que você tenha atualizado antes dos ataques começarem.
O módulo de auditoria do site inclui algumas das verificações do Drupalgeddon e oferece muito mais informações úteis. Eu recomendo. (Edição: Agora eles trabalham juntos - super legal!)
A Revisão de segurança não verifica ataques ao Drupalgeddon, mas também vale a pena ter no seu cinto de ferramentas.
Se a base de código do seu site foi gravável para o usuário www, você também pode verificar o código modificado usando o módulo invadido. Este módulo pode não fazer o que você pensa com base apenas no seu nome :)
Embora não exista uma maneira única de identificar todos os sites comprometidos, essas ferramentas podem ajudá-lo a identificar as indicações mais comuns.
Seus logs de acesso conterão muitas solicitações POST até o momento. A menos que você tenha tomado o passo incomum de registrar todos os dados da postagem antes do bug, é improvável que você tenha informações para dizer quais deles eram maliciosos.
Muitos estão relatando que seus sites estão sendo corrigidos pelos hackers! Como invasor, isso faz sentido - você não quer que seu site recém-invadido seja arrancado de baixo de você pelo próximo invasor :)
Fora isso, eu acho que os sites estão sendo usados para coletar quaisquer dados valiosos que existem (talvez pegar alguns creds, talvez levantar detalhes de transações após a exploração) e fazer coisas chatas como enviar spam e trabalhar como humildes escravos de botnets. Ah, e expandir ainda mais o império do atacante de sites Drupal seqüestrados. (Desculpe, não tenho sites hackeados para observar.)
fonte
Algumas verificações de ataques comuns são (esta não é uma lista exaustiva, mas são alguns dos ataques vistos na natureza até agora):
Verifique a tabela do banco de dados do roteador de menus em busca de entradas maliciosas. Por exemplo (o módulo drupalgeddon / plugin drush no drupal.org possui um bom script para verificar esta tabela mais detalhadamente):
SELECT * FROM menu_router WHERE access_callback = 'file_put_contents';
Você também pode simplesmente procurar na tabela do roteador de menus por entradas com aparência estranha.
Algumas coisas que os hackers estão tentando fazer são:
Infelizmente, existem tantas coisas que um invasor pode fazer no seu banco de dados que é muito difícil fornecer uma lista completa de possibilidades. Eles poderiam fazer coisas que tentassem obter o controle do seu site, ou poderiam simplesmente quebrá-lo, mas eliminando tabelas ou colunas do banco de dados, etc.
Eles podem até fazer pequenas alterações na configuração do site, como alterar o nome do site ou algo assim, que não é o fim do mundo, mas ainda é problemático.
Basicamente, qualquer coisa que você possa fazer em seu banco de dados executando um comando SQL, teoricamente um invasor pode fazer.
Todos os módulos mencionados na resposta de Chris Burgess são muito úteis para verificar essas coisas.
fonte
Eu acho que seguiria o conselho drupal.org " Você deve seguir o pressuposto de que todo site do Drupal 7 foi comprometido, a menos que seja atualizado ou corrigido antes de 15 de outubro, 23:00 UTC, ou seja, sete horas após o anúncio ". Como Bevan disse neste comentário "A atualização ou correção do Drupal não corrige backdoors que os atacantes instalaram antes de atualizar ou corrigir o Drupal".
Bevan também fez o seguinte gráfico de fluxo de trabalho para ajudá-lo a analisar se você pode ter sido infectado e como recuperar e prevenir . No entanto, ele pede a todos que acessem o artigo original para garantir que você tenha a versão mais recente do fluxo de trabalho. Além disso, o Acquia faz um artigo interessante sobre os ataques e padrões que eles sofreram no Acquia Cloud
fonte
Citação de: https://www.drupal.org/node/2357241#comment-9258955
Este é um exemplo do arquivo que é inserido na coluna menu_outer table access_callback:
Como você pode ver, está tentando criar o arquivo modules / image / vzoh.php, mas como eu tenho apenas permissões de leitura dentro desses diretórios, o php falha.
Relatórios de pessoas encontrando arquivos semelhantes criados fazendo uma pesquisa no diretório drupal: https://www.drupal.org/node/2357241#comment-9260017
O que eu fiz foi fazer o seguinte comando:
ack --type = php 'php \ $ form'> hacked_searched_php_form1.txt
==================
Citado em: http://www.paulbooker.co.uk/drupal-developer/command-lines/5-commands-help-drupalgeddon
Mostrando arquivos que foram alterados no servidor ativo: status do git
Procurando por tentativas de execução de código via menu_router: selecione * em menu_router em que access_callback = 'file_put_contents'
Mostrando quais arquivos estão no servidor ativo e não no controle de versão: diff -r docroot repo | grep docroot | grep 'Somente no docroot'
Localizando arquivos PHP no diretório files: find. -caminho "* php"
Para verificar a quantidade de tempo entre o momento em que um usuário fez login no site e a visita à página mais recente: selecione (s.timestamp - u.login) / 60/60/24 AS days_since_login, u.uid dos usuários de associação interna das sessões em s.uid = u.uid;
fonte
Uma lista muito boa de comandos para saber se você foi comprometido.
http://www.paulbooker.co.uk/drupal-developer/command-lines/5-commands-help-drupalgeddon
fonte
Você pode verificar se o seu site foi invadido por esta ferramenta on-line:
Drupal Check: O EngineHack
Obviamente, tem limitações, mas é um bom ponto de partida.
fonte