# 5353/UDP Multicast DNS (mDNS) ve DNS-SD {{#include ../banners/hacktricks-training.md}} ## **Temel Bilgiler** **Multicast DNS (mDNS)**, yerel ağlar içinde geleneksel bir DNS sunucusuna ihtiyaç duymadan **DNS benzeri işlemler** gerçekleştirilmesini sağlar. **UDP port 5353** üzerinde çalışır ve cihazların birbirlerini ve hizmetlerini keşfetmelerine olanak tanır; bu, çeşitli IoT cihazlarında yaygın olarak görülmektedir. **DNS Hizmet Keşfi (DNS-SD)**, genellikle mDNS ile birlikte kullanılır ve standart DNS sorguları aracılığıyla ağda mevcut olan hizmetlerin tanımlanmasına yardımcı olur. ``` PORT STATE SERVICE 5353/udp open zeroconf ``` ### **mDNS İşleyişi** Standart bir DNS sunucusunun olmadığı ortamlarda, mDNS cihazların **.local** ile biten alan adlarını **224.0.0.251** (IPv4) veya **FF02::FB** (IPv6) çoklu yayın adresini sorgulayarak çözmesine olanak tanır. mDNS'in önemli yönleri arasında kayıt geçerliliğini belirten bir **Time-to-Live (TTL)** değeri ve unicast ile multicast sorguları ayırt eden bir **QU bit** bulunur. Güvenlik açısından, mDNS uygulamalarının paketin kaynak adresinin yerel alt ağ ile uyumlu olduğunu doğrulaması kritik öneme sahiptir. ### **DNS-SD İşleyişi** DNS-SD, hizmet türlerini örneklerine eşleyen işaretçi kayıtlarını (PTR) sorgulayarak ağ hizmetlerinin keşfini kolaylaştırır. Hizmetler, **.local** alanında **\_\.\_tcp veya \_\.\_udp** desenini kullanarak tanımlanır ve bu, ilgili **SRV** ve **TXT kayıtlarının** keşfine yol açar; bu kayıtlar hizmet hakkında ayrıntılı bilgi sağlar. ### **Ağ Keşfi** #### **nmap Kullanımı** mDNS hizmetlerini yerel ağda taramak için yararlı bir komut: ```bash nmap -Pn -sUC -p5353 [target IP address] ``` Bu komut, açık mDNS portlarını ve bunlar üzerinden duyurulan hizmetleri tanımlamaya yardımcı olur. #### **Pholus ile Ağ Sayımı** mDNS isteklerini aktif olarak göndermek ve trafiği yakalamak için **Pholus** aracı aşağıdaki gibi kullanılabilir: ```bash sudo python3 pholus3.py [network interface] -rq -stimeout 10 ``` ## Saldırılar ### **mDNS Sorgulamalarını İstismar Etme** Bir saldırı vektörü, mDNS sorgularına sahte yanıtlar göndererek, tüm potansiyel adların zaten kullanıldığını öne sürmekte ve böylece yeni cihazların benzersiz bir ad seçmesini engellemektedir. Bu, şu şekilde gerçekleştirilebilir: ```bash sudo python pholus.py [network interface] -afre -stimeout 1000 ``` Bu teknik, yeni cihazların ağda hizmetlerini kaydetmelerini etkili bir şekilde engeller. **Özetle**, mDNS ve DNS-SD'nin çalışma prensiplerini anlamak, ağ yönetimi ve güvenliği için çok önemlidir. **nmap** ve **Pholus** gibi araçlar, yerel ağ hizmetleri hakkında değerli bilgiler sunarken, potansiyel zayıflıkların farkında olmak, saldırılara karşı korunmaya yardımcı olur. ### Spoofing/MitM Bu hizmet üzerinden gerçekleştirebileceğiniz en ilginç saldırı, **istemci ile gerçek sunucu arasındaki iletişimde bir MitM** gerçekleştirmektir. Hassas dosyaları (yazıcı ile iletişimi MitM) veya hatta kimlik bilgilerini (Windows kimlik doğrulaması) elde etme şansınız olabilir.\ Daha fazla bilgi için kontrol edin: {{#ref}} ../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md {{#endref}} ## Referanslar - [Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things](https://books.google.co.uk/books/about/Practical_IoT_Hacking.html?id=GbYEEAAAQBAJ&redir_esc=y) {{#include ../banners/hacktricks-training.md}}