Identificar a vulnerabilidade

Como pode haver várias invasões independentes, mesmo que você seja capaz de encontrar e corrigir uma vulnerabilidade, recomendamos que continue a procurar outras. Comece sua investigação lendo sobre as formas mais comuns de invasão de sites por criadores de spam.

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 shell ou do terminal
  • Compreensão do código (como PHP ou JavaScript).
  • A capacidade de executar dois verificadores antivírus

Próximas ações

Cobriremos várias formas comuns pelas quais um site pode ser comprometido. Esperamos que uma delas se aplique ao seu site ou pelo menos inclua outras possibilidades.

Esteja ciente de que os scanners de vulnerabilidade são diferentes dos verificadores de antivírus. Os scanners de vulnerabilidades podem ser muito mais invasivos e têm maior potencial de causar danos indesejados ao site. Siga todas as instruções, como fazer backup do site, antes de executar o scanner.

Possíveis vulnerabilidades {Potential-vulnerabilities}

As vulnerabilidades em potencial a serem investigadas incluem:

Computador do administrador infectado por vírus

No computador infectado por vírus de um administrador, o hacker pode ter instalado spyware para registrar as teclas pressionadas pelo administrador do site.

  • Verifique se há vírus nos sistemas dos administradores. Recomendamos executar vários scanners antivírus (AV) confiáveis em cada computador usado por um administrador para fazer login no site. Como novas infecções por malware são constantemente desenvolvidas para evitar varreduras, esse não é um método infalível de detecção de vírus. A execução de vários scanners ajuda a evitar falsos positivos e fornece mais pontos de dados para determinar se existe uma vulnerabilidade. Por precaução, verifique também o servidor da Web e todos os dispositivos usados para atualizar ou postar no site.
    • Se o antivírus detectar spyware, vírus, cavalo de troia ou qualquer outro programa suspeito, investigue os registros do servidor do site para verificar a atividade do administrador responsável pelo computador infectado.
    • O hacker pode ter alterado os arquivos de registro. Caso contrário, correlacionar o nome de usuário do administrador com comandos suspeitos no arquivo de registro é mais uma evidência de que um vírus no sistema de um administrador tornou o site vulnerável.

Senhas fracas ou reutilizadas

Os hackers facilmente descobrem senhas fracas, o que proporciona acesso direto ao seu servidor. Senhas fortes têm uma combinação de letras e números, pontuação e sem palavras ou gírias que possam ser encontradas em um dicionário. As senhas devem ser utilizadas apenas em um aplicativo, e não reutilizadas em toda a Web. Quando as senhas são reutilizadas, basta uma violação de segurança em um aplicativo para que o hacker encontre um login e uma senha que possa usar em outro lugar.

No registro do servidor, verifique se há atividades indesejáveis, como várias tentativas de login por um administrador ou um administrador executando comandos inesperados. Anote quando a atividade suspeita ocorreu, porque entender quando a invasão ocorreu pela primeira vez ajuda a determinar quais backups ainda podem estar limpos.

Software desatualizado

Verifique se os servidores têm instalada a versão mais recente do sistema operacional, sistema de gerenciamento de conteúdo, plataforma de blogs, aplicativos, plug-ins e qualquer outro software usado pelo site.

  • Pesquise todo o software instalado (talvez por meio de uma pesquisa na Web) para determinar se a sua versão contém um aviso de segurança. Se isso acontecer, é provável que um software desatualizado tenha deixado seu site vulnerável.
  • Como prática recomendada, sempre procure manter o software dos seus servidores atualizado, independente de o software desatualizado ter causado esses problemas específicos de vulnerabilidade.

4. Práticas de codificação permissivas, como redirecionamentos abertos e injeções de SQL

Redirecionamentos abertos

Os redirecionamentos abertos são codificados para que a estrutura do URL permita a adição de outro URL para que os usuários possam acessar um arquivo ou uma página útil no site. Exemplo:

http://example.com/page.php?url=http://example.com/good-file.pdf

ou

http://example.com/page.php?url=malware-attack-site>

  • Caso seu site seja abusado por redirecionamentos abertos, você provavelmente percebeu que a mensagem no Search Console forneceu URLs de exemplo que incluíam redirecionamentos abertos para um destino indesejado.
  • Para evitar redirecionamentos abertos no futuro, verifique o seguinte:
    • Indica se a opção "Permitir redirecionamentos abertos" está ativada por padrão no software.
    • Se o código pode proibir redirecionamentos fora do domínio.
    • Indica se você pode assinar o redirecionamento para que apenas os redirecionamentos com URLs com hash correto e a assinatura criptográfica correta possam continuar.

Injeções de SQL

As injeções de SQL acontecem quando um hacker pode adicionar comandos maliciosos a campos de entrada do usuário executados pelo banco de dados. As injeções de SQL atualizam registros no banco de dados com conteúdo indesejado de spam ou malware ou enviam dados valiosos para o hacker. Se o site usa um banco de dados, e especialmente se você foi infectado por malware, é possível que o site tenha sido comprometido por uma injeção de SQL.

  • Faça login no servidor de banco de dados e procure conteúdo suspeito nele, como campos de texto comuns que agora mostram iframes ou scripts.
  • Para valores suspeitos, verifique se a entrada do usuário foi validada e com o escape adequado, ou talvez digitada para que não possam ser executadas como código. Se a entrada do usuário não for verificada antes do processamento do banco de dados, a injeção de SQL poderá ser uma vulnerabilidade de causa raiz no site.