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

Reading time: 3 minutes

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie 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. DNS Service Discovery (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 odróżniający zapytania unicast od 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

Przydatne polecenie do skanowania lokalnej sieci w poszukiwaniu usług mDNS to:

bash
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ć żądania mDNS i przechwytywać ruch, można wykorzystać narzędzie Pholus w następujący sposób:

bash
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 uniemożliwia nowym urządzeniom wybór unikalnej nazwy. Można to zrealizować za pomocą:

bash
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ź:

{{#ref}} ../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md {{#endref}}

Referencje

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks