5353/UDP Multicast DNS (mDNS) and DNS-SD

Support HackTricks

Informações Básicas

Multicast DNS (mDNS) permite operações semelhantes ao DNS dentro de redes locais sem a necessidade de um servidor DNS tradicional. Ele opera na porta UDP 5353 e permite que dispositivos descubram uns aos outros e seus serviços, comumente visto em vários dispositivos IoT. DNS Service Discovery (DNS-SD), frequentemente usado junto com mDNS, ajuda a identificar serviços disponíveis na rede através de consultas DNS padrão.

PORT     STATE SERVICE
5353/udp open  zeroconf

Operação do mDNS

Em ambientes sem um servidor DNS padrão, o mDNS permite que dispositivos resolvam nomes de domínio terminando em .local consultando o endereço multicast 224.0.0.251 (IPv4) ou FF02::FB (IPv6). Aspectos importantes do mDNS incluem um valor de Time-to-Live (TTL) que indica a validade do registro e um bit QU que distingue entre consultas unicast e multicast. Do ponto de vista da segurança, é crucial que as implementações de mDNS verifiquem se o endereço de origem do pacote está alinhado com a sub-rede local.

Funcionamento do DNS-SD

O DNS-SD facilita a descoberta de serviços de rede consultando registros de ponteiro (PTR) que mapeiam tipos de serviço para suas instâncias. Os serviços são identificados usando um padrão _<Service>._tcp ou _<Service>._udp dentro do domínio .local, levando à descoberta de correspondentes SRV e TXT records que fornecem informações detalhadas sobre o serviço.

Exploração de Rede

Uso do nmap

Um comando útil para escanear a rede local em busca de serviços mDNS é:

nmap -Pn -sUC -p5353 [target IP address]

Este comando ajuda a identificar portas mDNS abertas e os serviços anunciados por elas.

Enumeração de Rede com Pholus

Para enviar ativamente solicitações mDNS e capturar tráfego, a ferramenta Pholus pode ser utilizada da seguinte forma:

sudo python3 pholus3.py [network interface] -rq -stimeout 10

Ataques

Explorando a Probing do mDNS

Um vetor de ataque envolve o envio de respostas falsificadas para as sondas mDNS, sugerindo que todos os nomes potenciais já estão em uso, dificultando que novos dispositivos selecionem um nome único. Isso pode ser executado usando:

sudo python pholus.py [network interface] -afre -stimeout 1000

Esta técnica bloqueia efetivamente novos dispositivos de registrarem seus serviços na rede.

Em resumo, entender o funcionamento do mDNS e DNS-SD é crucial para a gestão e segurança da rede. Ferramentas como nmap e Pholus oferecem insights valiosos sobre os serviços de rede local, enquanto a conscientização sobre vulnerabilidades potenciais ajuda a proteger contra ataques.

Spoofing/MitM

O ataque mais interessante que você pode realizar sobre este serviço é executar um MitM na comunicação entre o cliente e o servidor real. Você pode ser capaz de obter arquivos sensíveis (MitM na comunicação com a impressora) ou até mesmo credenciais (autenticação do Windows). Para mais informações, consulte:

Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks

Referências

Support HackTricks

Last updated