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

<details>

<summary><strong>从零开始学习 AWS 黑客技术，成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE（HackTricks AWS 红队专家）</strong></a><strong>！</strong></summary>

支持 HackTricks 的其他方式：

* 如果您想看到您的 **公司在 HackTricks 中被广告** 或 **下载 HackTricks 的 PDF**，请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取 [**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 探索 [**PEASS 家族**](https://opensea.io/collection/the-peass-family)，我们的独家 [**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。

</details>

## **基本信息**

**多播 DNS (mDNS)** 在本地网络中实现了类似 **DNS 操作**，无需传统 DNS 服务器。它在 **UDP 端口 5353** 上运行，允许设备发现彼此及其服务，通常在各种物联网设备中看到。**DNS 服务发现 (DNS-SD)** 经常与 mDNS 一起使用，通过标准 DNS 查询帮助识别网络上可用的服务。

```
PORT     STATE SERVICE
5353/udp open  zeroconf
```

### **mDNS操作**

在没有标准DNS服务器的环境中，mDNS允许设备通过查询多播地址**224.0.0.251**（IPv4）或**FF02::FB**（IPv6）来解析以\*\*.local**结尾的域名。mDNS的重要方面包括**生存时间（TTL）**值表示记录的有效性，以及**QU位\*\*区分单播和多播查询。从安全角度来看，mDNS实现必须验证数据包的源地址与本地子网对齐。

### **DNS-SD功能**

DNS-SD通过查询指针记录（PTR）来促进网络服务的发现，这些记录将服务类型映射到它们的实例。服务使用\*\*\_\<Service>.\_tcp或\_\<Service>.\_udp**模式在\*\*.local**域内进行标识，从而发现相应的**SRV**和\*\*TXT记录\*\*，提供详细的服务信息。

### **网络探索**

#### **nmap用法**

用于扫描本地网络中mDNS服务的有用命令是：

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

这个命令有助于识别开放的mDNS端口以及它们上面广告的服务。

#### **使用Pholus进行网络枚举**

要积极地发送mDNS请求并捕获流量，可以如下使用**Pholus**工具：

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

## 攻击

### **利用mDNS探测**

一种攻击向量涉及向mDNS探测发送伪造响应，暗示所有潜在名称已被使用，从而阻碍新设备选择唯一名称。这可以通过以下方式执行：

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

这种技术有效地阻止新设备在网络上注册其服务。

**总结**，了解mDNS和DNS-SD的工作原理对于网络管理和安全至关重要。像**nmap**和**Pholus**这样的工具提供了有关本地网络服务的宝贵见解，同时意识到潜在的漏洞有助于防范攻击。

### 欺骗/中间人攻击

您可以在此服务上执行的最有趣的攻击是在**客户端和真实服务器之间的通信**中执行**中间人攻击**。您可能能够获取敏感文件（中间人攻击打印机通信）甚至凭据（Windows身份验证）。\
有关更多信息，请查看：

{% content-ref url="../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks" %}
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks](https://hacktricks.xsx.tw/generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks)
{% endcontent-ref %}

## 参考资料

* [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)

<details>

<summary><strong>从零开始学习AWS黑客技术，成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE（HackTricks AWS Red Team Expert）</strong></a><strong>！</strong></summary>

支持HackTricks的其他方式：

* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**，请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family)，我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。

</details>
