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

62 lines
2.9 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 多播 DNS (mDNS) 和 DNS-SD
{{#include ../banners/hacktricks-training.md}}
## **基本信息**
**多播 DNS (mDNS)** 使得 **类似 DNS 的操作** 在本地网络中得以实现,而无需传统的 DNS 服务器。它在 **UDP 端口 5353** 上运行,允许设备相互发现及其服务,通常见于各种 IoT 设备。**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** 这样的工具提供了对本地网络服务的宝贵洞察,而对潜在漏洞的意识有助于防范攻击。
### 伪造/中间人攻击
您可以在此服务上执行的最有趣的攻击是执行 **MitM****客户端与真实服务器之间的通信**。您可能能够获取敏感文件(与打印机的通信进行 MitM甚至凭据Windows 身份验证)。\
有关更多信息,请查看:
{{#ref}}
../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
{{#endref}}
## 参考文献
- [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}}