Apesar de ser algo essencial para o bom funcionamento da Internet, os servidores DNS costumam passar despercebidos para a maioria dos usuários. Pelo menos é assim até o momento em que algum tipo de ataque ou incidente ocorre, afetando o seu funcionamento. Essas situações também comprovam como os serviços que utilizamos todos os dias podem conter brechas de segurança, algo que vimos há pouco tempo atrás quando a botnet Mirai atacou a empresa DynDNS.

Na verdade, existe mais de um tipo de ataque que pode afetar a esses servidores; no post de hoje veremos as principais diferenças entre eles.

O que é um servidor DNS?

Os sistemas de nomes de domínio (ou DNS, sua sigla em inglês) é o que nos permite definir o nome de uma página web pelo endereço de IP. No entanto, os usuários acabam não lembrando da sequência de números que formam um IP (ou número e letras em IPV6) e podemos acessar, por exemplo, uma página como “www.facebook.com” digitando da mesma forma que aparece em nosso navegador, no lugar de escrever “31.13.92.36”.

A tarefa de definir qual é o nome entendível para os usuários em um endereço IP pertence aos servidores DNS, que se baseiam em uma base de dados distribuída e hierárquica que armazena o endereço IP corresponde para cada nome do domínio, entre outras funções. Dessa forma, é mais fácil lembrar dos endereços web, até pelo simples motivo que o endereço IP pode chegar a ser alterado por várias razões.

Conhecendo a importância desses servidores, não é estranho que muitos ataques se aproveitem das vulnerabilidades existentes nesses servidores ou da forma na qual os usuários os utilizam.

DNS Envenenado X Envenenamento do cache DNS

Quase sempre interpretados como se fossem o mesmo tipo de ataque, tecnicamente existem várias diferenças entre os dois. Em linhas gerais, podemos dizer que o envenenamento do cache DNS é uma das diversas formas de obter um DNS Envenenado (que se refere a grande variedade de ataques existentes que tentam substituir as informações armazenadas nos servidores DNS).

O DNS Envenenado representa o objetivo final do ataque (conseguir modificar os registros que são armazenados no servidor DNS, conforme for decido pelo atacante), no qual são utilizados diferentes mecanismos. Entre eles, encontramos o Envenenamento do cache DNS, além de ataques Man-In-The-Middle, uso de estações base falsas ou até mesmo o comprometimento da segurança de um servidor DNS.

Também é possível ver como se faz referência ao envenenamento do cache DNS quando falamos de ataques orientados ao usuário. Um exemplo disso seria a representação do endereço dos servidores DNS configurados em nosso sistema operacional ou roteador. O normal é que seja introduzido o endereço DNS do nosso provedor de Internet ou outros como os do Google, da forma como vemos a seguir:

belkin-google

Com relação ao envenenamento do cache DNS, se refere à situação em que muitos usuários finais usam o mesmo cache DNS onde se armazenam os registros de IP relativos a cada domínio. No caso em que um atacante consigue manipular uma entrada DNS nesse registro, os provedores de Internet que usam esse cache DNS irão considerá-lo como autêntico, por mais que tenha sido manipulado para redirecionar as vítimas para um site falso.

Nesse caso, estaria diante de um cache DNS envenenado que não redireciona corretamente aos endereços IP legítimos quando se refere a um nome de domínio. Obviamente, envenenar esse tipo de cache não é tão simples como com o cache existente em um sistema ou roteador, mas tecnicamente é possível e há precedentes.

Um dos principais problemas dos ataques de envenenamento do cache DNS é que podem se propagar entre vários servidores DNS, afetando também aos roteadores domésticos e, inclusive, o cache DNS existente no sistema do usuário, considerando que receberiam informações incorretas para a atualização do cache local.

Para executar esse tipo de ataque é necessário dispor de um servidor web e de um servidor DNS, configurando seu próprio DNS autoritário e um “domínio alvo”. A partir desse momento, o atacante deve primeiro fazer com que a vítima acesse com seu próprio DNS ao link com o “domínio alvo”, para assim começar a coletar os identificadores de transação até que seja capaz de determinar qual será o seguinte.

Nesse momento, o DNS da vítima é forçado a fazer uma solicitação para o DNS autoritário do atacante que pode estar redirecionando para um domínio que se passa por uma entidade bancária. Tendo verificado qual será o novo identificador de transação, o atacante pode enviar pacotes para tentar representar conexões legítimas que o usuário recebe ao tentar se conectar ao seu banco.

Como o atacante pode prever o correto identificador de transação, o DNS da vítima armazena a entrada representada em seu cache e o considera válido. Nesse momento, qualquer tentativa de acesso a página do banco pela vítima será redirecionada para a web controlada pelo invasor.

E sobre o DNS hijacking?

O malware também pode ser utilizado para afetar às corretas resoluções do nome de domínio, fazendo com que as vítimas se conectem a um servidor controlado pelos cibercriminosos. Existem malware como o Win32/DNSChanger, que modificam os DNS estabelecidos pelo usuário ou nosso provedor de Internet. Confira o funcionamento dessa ameaça na imagem a seguir:

dns-spoofingIsso permite ao atacante realizar uma ampla variedade de ataques que vão desde o phishing, utilizando páginas falsas que são acessadas pelas vítimas (que pensam estar em sites reais), e que podem ser acessadas pelo navegador na URL correta, até o uso de exploits que se aproveitam de vulnerabilidades enquanto o usuário navega pela web, acreditando que são páginas confiáveis, mas que na verdade foram geradas pelo atacante com o objetivo de gerar uma infecção.

No entanto, o exemplo mais claro são as redes de computadores zumbis ou botnets. Algumas dessas redes modificam os servidores DNS, configurados por suas vítimas, para que se dirijam a outros dispositivos, que são controlados pelos atacantes; dessa forma, além das ações maliciosas que acabamos de descrever, os cibercriminosos podem enviar comandos para aos bots, atualizar a versão do malware ou, até mesmo, excluir o que for necessário.

Conclusão

Como acabamos de ver, existem inúmeros ataques que podem afetar a correta resolução de um domínio, fazendo com que os usuários caíam em uma armadilha preparada por um criminoso, inadvertidamente, pensando que estão acessando a um domínio legítimo. Para evitar esse tipo de ameaças, recomendamos o uso de uma boa solução de segurança que, se possível, conte também com ferramentas para avaliar a segurança do roteador. Falando em roteador, nunca é demais verificar se o equipamento realmente está protegido contra as ameaças. É sempre prudente garantir que dispositivo esteja devidamente atualizado e configurado de modo que ninguém possa acessá-lo sem autorização, evitando o uso de senhas fracas ou ativando serviços que permitam acessá-lo de forma remota.