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.
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.
Algumas recomendações para mitigar riscos associados às práticas de DNS Tunneling são as seguintes:
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.