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

Reading time: 4 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks

Informations de base

Multicast DNS (mDNS) permet des opĂ©rations similaires Ă  DNS au sein des rĂ©seaux locaux sans avoir besoin d'un serveur DNS traditionnel. Il fonctionne sur le port UDP 5353 et permet aux appareils de se dĂ©couvrir mutuellement et de dĂ©couvrir leurs services, couramment observĂ© dans divers appareils IoT. DNS Service Discovery (DNS-SD), souvent utilisĂ© avec mDNS, aide Ă  identifier les services disponibles sur le rĂ©seau via des requĂȘtes DNS standard.

PORT     STATE SERVICE
5353/udp open  zeroconf

Fonctionnement de mDNS

Dans des environnements sans serveur DNS standard, mDNS permet aux appareils de rĂ©soudre des noms de domaine se terminant par .local en interrogeant l'adresse multicast 224.0.0.251 (IPv4) ou FF02::FB (IPv6). Les aspects importants de mDNS incluent une valeur Time-to-Live (TTL) indiquant la validitĂ© des enregistrements et un bit QU distinguant les requĂȘtes unicast et multicast. D'un point de vue sĂ©curitĂ©, il est crucial que les implĂ©mentations de mDNS vĂ©rifient que l'adresse source du paquet correspond au sous-rĂ©seau local.

Fonctionnement de DNS-SD

DNS-SD facilite la découverte de services réseau en interrogeant des enregistrements de pointeur (PTR) qui associent des types de services à leurs instances. Les services sont identifiés à l'aide d'un motif _<Service>._tcp ou _<Service>._udp dans le domaine .local, ce qui conduit à la découverte des enregistrements SRV et TXT correspondants qui fournissent des informations détaillées sur le service.

Exploration du RĂ©seau

Utilisation de nmap

Une commande utile pour scanner le réseau local à la recherche de services mDNS est :

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

Cette commande aide à identifier les ports mDNS ouverts et les services annoncés sur ceux-ci.

ÉnumĂ©ration RĂ©seau avec Pholus

Pour envoyer activement des requĂȘtes mDNS et capturer le trafic, l'outil Pholus peut ĂȘtre utilisĂ© comme suit :

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

Attaques

Exploitation de l'interrogation mDNS

Un vecteur d'attaque consiste Ă  envoyer des rĂ©ponses falsifiĂ©es aux requĂȘtes mDNS, suggĂ©rant que tous les noms potentiels sont dĂ©jĂ  utilisĂ©s, entravant ainsi les nouveaux appareils dans le choix d'un nom unique. Cela peut ĂȘtre exĂ©cutĂ© en utilisant :

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

Cette technique bloque efficacement l'enregistrement de nouveaux appareils et de leurs services sur le réseau.

En résumé, comprendre le fonctionnement de mDNS et DNS-SD est crucial pour la gestion et la sécurité du réseau. Des outils comme nmap et Pholus offrent des informations précieuses sur les services réseau locaux, tandis que la sensibilisation aux vulnérabilités potentielles aide à se protéger contre les attaques.

Spoofing/MitM

L'attaque la plus intĂ©ressante que vous pouvez effectuer sur ce service est de rĂ©aliser un MitM dans la communication entre le client et le vĂ©ritable serveur. Vous pourriez ĂȘtre en mesure d'obtenir des fichiers sensibles (MitM la communication avec l'imprimante) ou mĂȘme des identifiants (authentification Windows).
Pour plus d'informations, consultez :

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

Références

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks