O que é tunelamento DNS? Instruções de detecção

O que é tunelamento DNS? Instruções de detecção

O tunelamento DNS transforma o sistema de nomes de domínio em uma arma para hackers. O DNS é essencialmente a enorme lista telefônica da Internet. DNS também é o protocolo subjacente que permite aos administradores consultar o banco de dados do servidor DNS. Até agora tudo parece claro. Mas hackers astutos perceberam que poderiam se comunicar secretamente com o computador da vítima, injetando comandos de controle e dados no protocolo DNS. Essa ideia é a base do tunelamento DNS.

Como funciona o tunelamento DNS

O que é tunelamento DNS? Instruções de detecção

Tudo na Internet possui seu próprio protocolo separado. E o suporte DNS é relativamente simples protocolo tipo de solicitação-resposta. Se quiser ver como funciona, você pode executar o nslookup, a principal ferramenta para fazer consultas DNS. Você pode solicitar um endereço simplesmente especificando o nome de domínio de seu interesse, por exemplo:

O que é tunelamento DNS? Instruções de detecção

No nosso caso, o protocolo respondeu com o endereço IP do domínio. Em termos de protocolo DNS, fiz uma solicitação de endereço ou a chamada solicitação. "Um tipo. Existem outros tipos de solicitações, e o protocolo DNS responderá com um conjunto diferente de campos de dados, que, como veremos mais adiante, podem ser explorados por hackers.

De uma forma ou de outra, em sua essência, o protocolo DNS se preocupa em transmitir uma solicitação ao servidor e sua resposta ao cliente. E se um invasor adicionar uma mensagem oculta dentro de uma solicitação de nome de domínio? Por exemplo, em vez de inserir uma URL totalmente legítima, ele inserirá os dados que deseja transmitir:

O que é tunelamento DNS? Instruções de detecção

Digamos que um invasor controle o servidor DNS. Ele pode então transmitir dados – dados pessoais, por exemplo – sem necessariamente serem detectados. Afinal, por que uma consulta DNS de repente se tornaria algo ilegítimo?

Ao controlar o servidor, os hackers podem forjar respostas e enviar dados de volta ao sistema de destino. Isso permite que eles passem mensagens ocultas em vários campos da resposta do DNS ao malware na máquina infectada, com instruções como pesquisar dentro de uma pasta específica.

A parte de "túnel" deste ataque é ocultação dados e comandos da detecção por sistemas de monitoramento. Os hackers podem usar conjuntos de caracteres base32, base64, etc., ou até mesmo criptografar os dados. Essa codificação passará despercebida por utilitários simples de detecção de ameaças que pesquisam o texto simples.

E isso é tunelamento DNS!

História de ataques de tunelamento DNS

Tudo tem um começo, inclusive a ideia de sequestrar o protocolo DNS para fins de hacking. Pelo que sabemos, o primeiro discussão Este ataque foi realizado por Oskar Pearson na lista de discussão Bugtraq em abril de 1998.

Em 2004, o tunelamento DNS foi introduzido na Black Hat como uma técnica de hacking em uma apresentação de Dan Kaminsky. Assim, a ideia rapidamente se transformou em uma verdadeira ferramenta de ataque.

Hoje, o tunelamento DNS ocupa uma posição confiável no mapa ameaças potenciais (e blogueiros de segurança da informação são frequentemente solicitados a explicar isso).

Você ouviu falar sobre Tartaruga marinha ? Esta é uma campanha contínua de grupos cibercriminosos – provavelmente patrocinados pelo Estado – para sequestrar servidores DNS legítimos a fim de redirecionar solicitações de DNS para seus próprios servidores. Isso significa que as organizações receberão endereços IP “ruins” apontando para páginas falsas administradas por hackers, como Google ou FedEx. Ao mesmo tempo, os invasores poderão obter contas e senhas de usuários, que as inserirão inadvertidamente nesses sites falsos. Isto não é tunelamento DNS, mas apenas mais uma consequência infeliz do controle de servidores DNS por hackers.

Ameaças de tunelamento DNS

O que é tunelamento DNS? Instruções de detecção

O tunelamento DNS é como um indicador do início da fase de más notícias. Quais? Já falamos de vários, mas vamos estruturá-los:

  • Saída de dados (exfiltração) – um hacker transmite secretamente dados críticos por DNS. Definitivamente, esta não é a forma mais eficiente de transferir informações do computador vítima - levando em consideração todos os custos e codificações - mas funciona, e ao mesmo tempo - secretamente!
  • Comando e Controle (abreviado C2) – os hackers usam o protocolo DNS para enviar comandos de controle simples através, digamos, troiano de acesso remoto (Trojan de acesso remoto, abreviado RAT).
  • Tunelamento IP sobre DNS - Isso pode parecer loucura, mas existem utilitários que implementam uma pilha IP sobre solicitações e respostas do protocolo DNS. Faz transferência de dados usando FTP, Netcat, ssh, etc. uma tarefa relativamente simples. Extremamente ameaçador!

Detectando tunelamento DNS

O que é tunelamento DNS? Instruções de detecção

Existem dois métodos principais para detectar abuso de DNS: análise de carga e análise de tráfego.

em análise de carga A parte defensora procura anomalias nos dados enviados e recebidos que possam ser detectadas por métodos estatísticos: nomes de host de aparência estranha, um tipo de registro DNS que não é usado com tanta frequência ou codificação fora do padrão.

em análise de tráfego O número de solicitações de DNS para cada domínio é estimado em comparação com a média estatística. Os invasores que usam o tunelamento DNS gerarão uma grande quantidade de tráfego para o servidor. Em teoria, significativamente superior à troca normal de mensagens DNS. E isso precisa ser monitorado!

Utilitários de tunelamento DNS

Se você deseja realizar seu próprio teste de invasão e ver quão bem sua empresa pode detectar e responder a tal atividade, existem vários utilitários para isso. Todos eles podem tunelar no modo IP sobre DNS:

  • Iodo – disponível em diversas plataformas (Linux, Mac OS, FreeBSD e Windows). Permite instalar um shell SSH entre os computadores de destino e de controle. Essa é boa гайд sobre como configurar e usar o iodo.
  • OzymanDNS – Projeto de tunelamento DNS de Dan Kaminsky, escrito em Perl. Você pode se conectar a ele via SSH.
  • DNSCat2 - “Túnel DNS que não deixa você doente.” Cria um canal C2 criptografado para enviar/baixar arquivos, iniciar shells, etc.

Utilitários de monitoramento de DNS

Abaixo está uma lista de vários utilitários que serão úteis para detectar ataques de tunelamento:

  • DNSHunter – Módulo Python escrito para MercenaryHuntFramework e Mercenary-Linux. Lê arquivos .pcap, extrai consultas DNS e realiza mapeamento de geolocalização para auxiliar na análise.
  • remontar_dns – um utilitário Python que lê arquivos .pcap e analisa mensagens DNS.

Micro FAQ sobre tunelamento DNS

Informações úteis na forma de perguntas e respostas!

P: O que é tunelamento?
Sobre: É simplesmente uma forma de transferir dados através de um protocolo existente. O protocolo subjacente fornece um canal ou túnel dedicado, que é então usado para ocultar as informações que estão sendo transmitidas.

P: Quando foi realizado o primeiro ataque de tunelamento de DNS?
Sobre: Nós não sabemos! Se você souber, por favor nos avise. Até onde sabemos, a primeira discussão sobre o ataque foi iniciada por Oscar Piersan na lista de discussão Bugtraq em abril de 1998.

P: Quais ataques são semelhantes ao tunelamento de DNS?
Sobre: O DNS está longe de ser o único protocolo que pode ser usado para tunelamento. Por exemplo, o malware de comando e controle (C2) geralmente usa HTTP para mascarar o canal de comunicação. Tal como acontece com o tunelamento DNS, o hacker esconde seus dados, mas neste caso parece tráfego de um navegador normal acessando um site remoto (controlado pelo invasor). Isto pode passar despercebido pelos programas de monitoramento se eles não estiverem configurados para perceber a ameaça abuso do protocolo HTTP para fins de hackers.

Gostaria que ajudássemos com a detecção de túneis DNS? Confira nosso módulo Borda Varonis e experimente gratuitamente programa demonstrativo!

Fonte: habr.com

Adicionar um comentário