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

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de 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. La découverte de services DNS (DNS-SD), souvent utilisée aux côtés de mDNS, aide à identifier les services disponibles sur le réseau grâce à des requêtes DNS standard.

PORT     STATE SERVICE
5353/udp open  zeroconf

Fonctionnement de mDNS

Dans les environnements sans serveur DNS standard, mDNS permet aux appareils de résoudre les noms de domaine se terminant par .local en interrogeant l'adresse de multidiffusion 224.0.0.251 (IPv4) ou FF02::FB (IPv6). Les aspects importants de mDNS incluent une valeur de Time-to-Live (TTL) indiquant la validité de l'enregistrement et un bit QU distinguant les requêtes unicast et multicast. En termes de 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 des services réseau en interrogeant des enregistrements de pointeur (PTR) qui font correspondre les types de service à leurs instances. Les services sont identifiés en utilisant un motif _<Service>._tcp ou _<Service>._udp dans le domaine .local, ce qui permet de découvrir les enregistrements SRV et TXT correspondants fournissant 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 :

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

Ce command permet d'identifier les ports mDNS ouverts et les services annoncés sur ces ports.

Énumération du réseau avec Pholus

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

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

Attaques

Exploitation de l'exploration mDNS

Un vecteur d'attaque implique l'envoi de réponses falsifiées aux sondes mDNS, suggérant que tous les noms potentiels sont déjà utilisés, empêchant ainsi les nouveaux appareils de sélectionner un nom unique. Cela peut être exécuté en utilisant :

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

Cette technique bloque efficacement les nouveaux appareils d'enregistrer 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 du réseau local, tandis que la prise de conscience des 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 vrai serveur. Vous pourriez être en mesure d'obtenir des fichiers sensibles (MitM la communication avec l'imprimante) ou même des informations d'identification (authentification Windows). Pour plus d'informations, consultez :

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

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour