
Coleta e envio de dados pelo DNS
Pode não ser necessário explicar o que é e para que serve o serviço DNS, mas para aqueles que querem saber mais detalhes, sugerimos dar uma olhada neste site: https://www.verisign.com/en_US/website-presence/online/how-dns-works/index.xhtml . Agora, vamos para a parte que realmente importa. Neste artigo, vamos falar sobre um tópico interessante: o uso do serviço DNS para a coleta de dados (exfiltration), para enviar comandos e realizar um ataque (command & control,C2).
Quando estamos em nossas casas ou empresas e precisamos acessar um site (como o everis.com ou o google.com), nossa equipe faz uma consulta em alguns servidores DNS na Internet e retorna ao nosso navegador o endereço IP necessário para acessar o website da everis ou do Google. Isso significa que, se nossas proteções (firewall, proxy, IPS) não permitissem que esse tipo de tráfego deixasse sua fonte para alcançar os servidores corretos, nenhum acesso à Internet funcionaria, nem nenhuma troca de e-mail. É por isso que todo o tráfego na porta UDP/53 pode acessar livremente qualquer servidor DNS de todos os lugares do mundo. Isso pode ser verificado nas regras de firewall.
A conclusão que pode ser tirada é que esse tráfego não é submetido a nenhum tipo de bloqueio ou filtragem: vai diretamente para a Internet sem qualquer análise. Esse comportamento, além da falta de análise, facilitou a criação de um ataque chamado exfiltração ou extrusão de dados.
Como isso é feito?
Neste ataque, quando um malware está dentro da rede, é capaz de coletar dados de computadores ou da rede. Os detalhes sobre como esse tipo de coleta de dados acontece merecem um artigo próprio, mas no momento não é preciso dizer que os métodos mais comuns são através do DNS, HTTP, HTTPS e FTP.
Desta forma, uma vez que o malware é instalado no computador, começa a mapear a rede e coletar os dados que valem a pena transferir. Normalmente, os arquivos estão localizados na pasta Documentos e na unidade de disco de rede (mais conhecida como servidor de arquivos).
Após descobrir onde estão esses arquivos, o passo mais fácil é transferi-los para algum lugar na Internet. Esta é a transferência que é feita através do protocolo DNS (UDP/53). Como é uma porta UDP, ela não tem muita sobrecarga, porque o tamanho do cabeçalho IP é menor que o do TCP, e não há recibos de entrega de dados (diferentemente do TCP, que faz essa confirmação).
O fato de que o tráfego de DNS não ser inspecionado, analisado nem filtrado e de ter liberdade nos firewalls para que a comunicação possa acontecer com qualquer endereço de rede na Internet, facilita a transferência de dados.

Mas a parte mais preocupante desse tipo de comunicação ocorre nas equipes dos usuários finais, em suas residências, porque é muito difícil para todos eles terem um antivírus capaz de bloquear esse tipo de malware. Além disso, muitos desses computadores estão constantemente conectados para baixar Game of Thrones ou outra série que esteja na moda, sendo que eles podem ser usados para realizar ataques DDoS em alguma empresa.
Como isso acontece?
Mas como um sistema pode fazer isso sem que o usuário perceba? Isso acontece porque existem milhares de computadores (às vezes milhões) que realizam os ataques. O grande número de computadores infectados pode criar uma rede de bots tão grande que consegue fazer um ataque DDoS em qualquer empresa ou provedor de acesso, o que, por sua vez, pode fazer com que essa empresa fique incomunicável ou inacessível.
Mas como esse ataque acontece? Como todos esses equipamentos sabem que devem realizar um ataque de negação de serviço em uma empresa?
Vamos voltar ao caso de malware instalado no equipamento (seja um laptop, telefone ou computador) de uma casa. Este malware está lá, coletando certas informações que conseguem capturar do dispositivo (exfiltration) e transferindo-as para algum local de destino. A questão então seria como ele sabe para onde enviar essa informação?
Quando um sistema é infectado, uma das coisas que este malware sempre faz é manter alguma comunicação com uma ou mais URLs. Esta comunicação é feita para que o software possa estabelecer a comunicação com o centro de comando e controle (C2). Com isso consegue baixar o malware (não inteiro, mas peça por peça, a fim de enganar o antivírus) e, assim, ter o sistema para executar ataques DDoS.
O que acontece se este malware estiver instalado em um computador conectado à sua rede corporativa? Quais informações ele coletou da sua rede? O que deve ser feito para evitar esses tipos de problemas?
Recomendações
Aqui estão algumas sugestões de como evitar esse problema:
· Faça análise e filtragem de todo o tráfego DNS através de um IPS;
· Monte sua topologia interna de DNS para liberar qualquer tráfego de DNS somente de um servidor DNS interno. Isso significa que, se algum usuário tentar usar o 8.8.8.8 em sua máquina, ele não conseguirá resolver nenhum nome; Verifique quais servidores são usados em suas pesquisas e limite o tráfego de DNS
· Use uma ferramenta que analise o tráfego solicitado e possa atuar como um firewall DNS;
· Se você publicar um serviço na Internet que também é usado internamente em sua empresa, use o recurso chamado DNS Views. Este permite que a resposta seja personalizada, usando a fonte da pergunta como validador, sendo que isso impede a criação de regras de mudança de IP (NAT) e outras ações maliciosas para que as pessoas de dentro da empresa acessem um serviço publicado externamente;
· Use apenas servidores escravos para responder a consultas DNS. Deixe o principal apenas para servir como base da configuração e originador dos sincronismos dela. Isso evita problemas como a contaminação de DNS;
· Use a função honeypots e faça uma análise antecipada do que pode ser um problema no futuro para o seu negócio.