Blog

DNS Tunneling - A zona turva do tráfego de rede

Written by Carlos Borges | 7/jun/2016 19:05:25

Sua empresa certamente impõe medidas de proteção na borda de sua rede com a presença de firewalls, mas uma coisa é praticamente certa: o tráfego DNS está liberado. Isto pode bastar para agentes maliciosos trocarem dados de dentro da sua rede para domínios externos. Tudo sendo feito de forma legítima e possivelmente despercebida, afinal, o tráfego DNS trata apenas de resolução de nomes, primordial para o sucesso do acesso de seus usuários à web e outros serviços.

O protocolo DNS não foi originalmente concebido para oferecer serviços de comandos remotos ou tunelamento de dados. No entanto, diversas ferramentas acabaram sendo desenvolvidas sobre as diretrizes do DNS que possibilitam isso ser feito. Até pela sua natureza, o DNS acaba tendo menos atenção em termos de monitoração de segurança do que outros protocolos, como os responsáveis pelo tráfego web.

Uma destas ferramentas é o dnscat2, que possibilita a criação de um servidor que interpretará queries DNS (representando um servidor C2) enviadas a partir de uma estação com o cliente do dnscat2 em execução (representando uma máquina infectada). Lenny Zeltser,  um profissional reconhecido mundialmente e dos mais renomados na área, exemplifica o uso do dnscat2 em seu blog, aplicando as práticas de DNS Tunneling.

                Empresas que permitem consultas DNS externas para qualquer outro servidor externo são as com maior potencial de risco. Abaixo há uma replicação do teste executado por Zeltser onde ele valida uma querie DNS enviada por uma máquina “infectada” (este foi apenas um ambiente de testes). É possível realizar a execução de códigos remotos pelo tráfego DNS.

 

Figura 1: Replicação dos testes executados por Lenny Zeltser, onde foi possível
realizar a execução de processos remotos em uma potencial máquina infectada.

 

Toda essa ação é percebida como um tráfego aparentemente normal, do lado das vítimas, conforme evidenciado no tráfego capturado via Wireshark.

 

Figura 2: Tráfego de DNS Tunneling

 

Algumas recomendações para mitigar riscos associados às práticas de DNS Tunneling são as seguintes:

  • Limitar os servidores DNS que sua rede pode alcançar externamente. Isto pode evitar o tunelamento a domínios utilizados por botnets, bem como limitar as interações DNS em uma investigação.
  • Monitorar anomalias do tráfego DNS. O uso de servidores C2 tendem a exibir determinados padrões de comunicação (ex: Queries DNS específicas executadas de hora em hora a partir de uma mesma máquina). Esta técnica de proteção pode ser encontrada como “traffic analysis” e podem ser aplicadas com o auxílio de um SIEM, possibilitando a monitoração dos dados e correlação destes com outros potenciais eventos maliciosos.
  • A análise de payload do DNS possibilita também encontrar indícios de uso de técnicas de tunelamento em queries individuais.

Estas técnicas estão mais detalhadas no Whitepaper “Detecting DNS Tunneling”, divulgado pelo SANS Institute.

A monitoração do serviço de DNS é muito valiosa para a análise de eventos que envolvam DNS Tunneling, mas também para complementar a investigação de outros tipos de incidentes que envolvam tráfego web e malwares.