hacktricks/src/network-services-pentesting/5353-udp-multicast-dns-mdns.md

62 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 **\_\<Service>.\_tcp veya \_\<Service>.\_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}}