Ao longo dos anos, temos verificado que muitos dos ataques sofridos pelos usuários e até mesmo das infecções por malware ocorrem em combinação com outras técnicas que aumentam a eficácia dos golpes. O DNS spoofing é um método que altera os endereços dos servidores DNS usados pela vítima para obter o controle sobre as buscas realizadas.
Os servidores DNS permitem estabelecer nomes para os endereços IP. Desta forma, não é necessário que o usuário precise lembrar dos endereços IP de cada site que pretende visitar. Aproveitando esta dependência que existe com os servidores de nomes de domínio, muitos dos atacantes se beneficiam desse ponto, dentro da rota de comunicação, ao buscar um site. Em outras palavras, eles alteram os endereços IP dos servidores DNS da vítima para apontar servidores maliciosos. Essa atividade maliciosa é conhecida como DNS Spoofing.
Na imagem a seguir, podemos ver como funciona o ciclo de uma busca em um servidor DNS:
Por outro lado, caso exista um DNS spoofing, o ciclo será alterado:
Como é possível alterar os endereços dos servidores DNS?
Existem diferentes formas de modificar os endereços IP do DNS. No caso do usuário doméstico, muitos deles têm um roteador em suas casas, seja para conectar mais de um computador à Internet ou ter a possibilidade de usar Wi-Fi. No entanto, existe a possibilidade de que esses dispositivos estejam mal configurados. Um dos casos mais comuns é ter ativada a opção de gerenciamento do roteador de forma remota, ou seja, estar exposto através de um IP público. Na captura de tela a seguir, você pode ver um exemplo de um painel de administração:
Esta configuração em conjunto com o fato de que muitas vezes as senhas são deixadas por padrão do próprio dispositivo, permitem que um atacante, eventualmente, acesse a configuração. Desta forma, é possível alterar os endereços DNS usados por esse roteador para realizar buscas de resolução de nomes.
No outro extremo, o cibercriminoso pode estabelecer um servidor DNS malicioso. As buscas da vítima passarão por este servidor e, dessa forma, será possível redirecioná-lo para qualquer site malicioso.
Que tipos de ataques podem ser feitos com servidores DNS Spoofing?
É possível realizar diferentes tipos de ataques através do uso de servidores DNS maliciosos. Um dos ataques que pode ter o maior impacto é a montagem de sites falsos que, na verdade, são réplicas daqueles que o cibercriminoso usa para obter informações confidenciais sobre a vítima. Desta forma, quando o usuário tentar acessar esse site, ele será redirecionado para a página espelho e o atacante obterá as suas senhas de acesso. Estes tipos de ataques funcionam, inclusive, nos sites que criptografam a conexão, ou seja, que usam o protocolo HTTPS. Em outras palavras, como o usuário atacado acessa um site malicioso, a criptografia é inexistente e, portanto, é possível realizar o roubo das senhas. No entanto, é importante estar bem atento, pois atualmente os cibercriminosos já encontraram formas de obter um certificado digital, também conhecido com “cadeado verde” da página.
Outro possível ataque é a exploração de alguma vulnerabilidade. O cibercriminoso insere algum tipo de exploit no servidor malicioso para que o usuário sofra um golpe ao acessar o site supostamente legítimo. Um dos exploits usados é, por exemplo, o applet em Java (CVE-2011-3544).
Em poucas palavras, quando o usuário acessa a página falsa, será apresentada uma solicitação de execução do Java. Como a vítima está acessando um site supostamente confiável, em muitos casos, acaba aceitando o pedido. Essa vulnerabilidade permite a execução do código e compromete o sistema.
Na imagem a seguir, podemos ver uma notificação de segurança Java, pois a assinatura digital do aplicativo não pode ser verificada:
Como é possível estar protegido?
É importante compreender que existem outros tipos de ataques envolvendo servidores DNS, além do DNS Spoofing. Por isso, confira algumas dicas para estar protegido contra esses tipos de ataques:
#1 Em primeiro lugar, é muito importante desativar a opção de gerenciamento remoto dos roteadores. No entanto, caso seja necessário usar essa funcionalidade, certifique-se de estabelecer uma senha forte.
#2 É muito importante manter o sistema operacional atualizado, ou seja, instalar os últimos patches disponíveis. Por exemplo, no caso do Java, é importante atualizar os navegadores, bem como a própria versão Java. As atualizações do sistema operacional e dos aplicativos permitem reduzir o nível de exploração dos diferentes serviços.
#3 Outro ponto que deve ser considerado é a verificação de conexões para sites que usam criptografia. É importante prestar atenção ao protocolo, considerando que, por exemplo, se um site usa HTTPS e ao ser acessado aparece HTTP, o usuário pode estar acessando uma réplica do site original.
#4 Para finalizar, contar com uma solução de segurança com capacidade de detecção proativa permite que você esteja protegido contra ameaças que podem ser instaladas no sistema através dos métodos mencionados neste post.