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

87 lines
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
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
## **Temel Bilgiler**
**Multicast DNS (mDNS)**, geleneksel bir DNS sunucusuna ihtiyaç duymadan yerel ağlar içinde **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ülür. **DNS Hizmet Keşfi (DNS-SD)**, genellikle mDNS ile birlikte kullanılan, ağda mevcut olan hizmetleri standart DNS sorguları aracılığıyla tanımlamaya yardımcı olur.
```
PORT STATE SERVICE
5353/udp open zeroconf
```
### **mDNS'ın İş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 **Yaşam Süresi (TTL)** değeri ve tekil ile çoklu yayın sorguları arasında ayrım yapan 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'nin İş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, **_\<Service>.\_tcp veya \_\<Service>.\_udp** desenini kullanarak **.local** alanında tanımlanır ve bu, ilgili **SRV** ve **TXT kayıtlarının** keşfine yol açar; bu kayıtlar ayrıntılı hizmet bilgileri sağlar.
### **Ağ Keşfi**
#### **nmap Kullanımı**
mDNS hizmetleri için yerel ağı 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 kritik öneme sahiptir. **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 yaparak) veya hatta kimlik bilgilerini (Windows kimlik doğrulaması) elde etme şansınız olabilir.\
Daha fazla bilgi için kontrol edin:
{% content-ref url="../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md" %}
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
{% endcontent-ref %}
## 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)
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}