5.2 KiB
5353/UDP Multicast DNS (mDNS) 和 DNS-SD
{% hint style="success" %}
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 telegram 群组 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享黑客技巧。
基本信息
Multicast 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服务的有用命令是:
nmap -Pn -sUC -p5353 [target IP address]
此命令有助于识别开放的 mDNS 端口及其上广告的服务。
使用 Pholus 进行网络枚举
要主动发送 mDNS 请求并捕获流量,可以按如下方式使用 Pholus 工具:
sudo python3 pholus3.py [network interface] -rq -stimeout 10
攻击
利用 mDNS 探测
一种攻击向量涉及向 mDNS 探测发送伪造的响应,暗示所有潜在名称已经被使用,从而阻碍新设备选择唯一名称。这可以通过以下方式执行:
sudo python pholus.py [network interface] -afre -stimeout 1000
这种技术有效地阻止新设备在网络上注册其服务。
总结,理解 mDNS 和 DNS-SD 的工作原理对于网络管理和安全至关重要。像 nmap 和 Pholus 这样的工具提供了对本地网络服务的有价值的洞察,而对潜在漏洞的意识有助于防范攻击。
欺骗/中间人攻击
您可以在此服务上执行的最有趣的攻击是执行 MitM 在 客户端与真实服务器之间的通信。您可能能够获取敏感文件(与打印机的通信进行 MitM)甚至凭据(Windows 身份验证)。
有关更多信息,请查看:
{% 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 {% endcontent-ref %}
参考文献
{% hint style="success" %}
学习和实践 AWS 黑客攻击:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客攻击: HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 电报群组 或 在 Twitter 上关注 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享黑客技巧。