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

Wsparcie dla HackTricks

Podstawowe informacje

Multicast DNS (mDNS) umożliwia operacje podobne do DNS w lokalnych sieciach bez potrzeby posiadania tradycyjnego serwera DNS. Działa na porcie UDP 5353 i pozwala urządzeniom na wzajemne odkrywanie się oraz ich usług, co jest powszechnie widoczne w różnych urządzeniach IoT. Odkrywanie usług DNS (DNS-SD), często używane razem z mDNS, pomaga w identyfikacji usług dostępnych w sieci za pomocą standardowych zapytań DNS.

PORT     STATE SERVICE
5353/udp open  zeroconf

Działanie mDNS

W środowiskach bez standardowego serwera DNS, mDNS pozwala urządzeniom na rozwiązywanie nazw domen kończących się na .local poprzez zapytania do adresu multicast 224.0.0.251 (IPv4) lub FF02::FB (IPv6). Ważne aspekty mDNS obejmują wartość Time-to-Live (TTL) wskazującą na ważność rekordu oraz bit QU rozróżniający zapytania unicast i multicast. Z punktu widzenia bezpieczeństwa, kluczowe jest, aby implementacje mDNS weryfikowały, że adres źródłowy pakietu jest zgodny z lokalnym podsiecią.

Działanie DNS-SD

DNS-SD ułatwia odkrywanie usług sieciowych poprzez zapytania o rekordy wskaźnikowe (PTR), które mapują typy usług na ich instancje. Usługi są identyfikowane za pomocą wzoru _<Service>._tcp lub _<Service>._udp w obrębie domeny .local, co prowadzi do odkrycia odpowiadających rekordów SRV i TXT, które dostarczają szczegółowych informacji o usłudze.

Eksploracja sieci

Użycie nmap

Przydatna komenda do skanowania lokalnej sieci w poszukiwaniu usług mDNS to:

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

To polecenie pomaga zidentyfikować otwarte porty mDNS oraz usługi reklamowane na nich.

Enumeracja Sieci z Pholus

Aby aktywnie wysyłać zapytania mDNS i przechwytywać ruch, narzędzie Pholus można wykorzystać w następujący sposób:

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

Ataki

Wykorzystywanie mDNS Probing

Wektor ataku polega na wysyłaniu sfałszowanych odpowiedzi na zapytania mDNS, sugerując, że wszystkie potencjalne nazwy są już zajęte, co utrudnia nowym urządzeniom wybór unikalnej nazwy. Można to zrealizować za pomocą:

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

Ta technika skutecznie blokuje nowe urządzenia przed rejestrowaniem swoich usług w sieci.

Podsumowując, zrozumienie działania mDNS i DNS-SD jest kluczowe dla zarządzania siecią i bezpieczeństwa. Narzędzia takie jak nmap i Pholus oferują cenne informacje o lokalnych usługach sieciowych, podczas gdy świadomość potencjalnych luk pomaga w zabezpieczaniu przed atakami.

Spoofing/MitM

Najciekawszym atakiem, który możesz przeprowadzić za pomocą tej usługi, jest wykonanie MitM w komunikacji między klientem a prawdziwym serwerem. Możesz być w stanie uzyskać wrażliwe pliki (MitM komunikacji z drukarką) lub nawet dane uwierzytelniające (uwierzytelnianie Windows). Aby uzyskać więcej informacji, sprawdź:

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

References

Support HackTricks

Last updated