mDNS 与投毒风险
mDNS(5353/udp)用于局域网内的名称解析与服务发现,同时也是 Responder 一类投毒工具的常见面:客户端先发出解析请求,任何机器都可以给出应答并冒充目标主机。不依赖 Bonjour 与投屏发现的服务器网段,关闭 DNS 客户端的多播解析就能减少这条投毒路径。它与 LLMNR、NetBIOS 名称服务属于同一类问题。
基本信息
| 加固项 | 投毒面收敛(mDNS) |
|---|---|
| 适用平台 | Windows 10/11、Server 1709 及以上 |
| 基线取值 | EnableMDNS = 0 |
| 配置位置 | Dnscache 服务参数与 DNS 客户端策略路径 |
| 同类项 | LLMNR、NetBIOS 名称服务 |
| 风险等级 | 低 |
典型使用场景
- 服务器网段:不需要 Bonjour 与投屏发现,直接关闭
- 办公网段:终端使用投屏与网络打印时保留,按网段区分策略
- 事件排查:抓包发现大量 5353 请求与伪造应答
- 基线核查:确认名称解析投毒面已收敛
- 新机交付:把设置写入镜像,避免新机器回到默认值
核查与关闭
核查与关闭
# 核查当前设置(位置随版本不同,无返回属常见情况)
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters' -Name EnableMDNS -ErrorAction SilentlyContinue
# 关闭多播解析
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters' -Name EnableMDNS -Value 0 -Type DWord
# 策略路径(如存在,一并设置)
Set-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient' -Name EnableMDNS -Value 0 -Type DWord -ErrorAction SilentlyContinue三件套对照
| 协议 | 端口 | 收敛方式 |
|---|---|---|
| LLMNR | 5355/udp | 关闭 DNS 客户端的 LLMNR 功能 |
| NetBIOS 名称服务 | 137/udp | 网卡属性中禁用 TCP/IP 上的 NetBIOS |
| mDNS | 5353/udp | EnableMDNS 设为 0 |
| 验证方式 | 抓包或日志 | 确认对应请求与应答消失 |
使用 AirPrint、投屏与 Bonjour 类设备的网段不要关闭 mDNS,服务器网段通常没有影响。
验证要看实际流量:注册表位置随版本变化,抓包确认没有 5353 应答才算真正生效。
LLMNR、NetBIOS 名称服务与 mDNS 应当一起收敛,只关一项时投毒工具仍能从其他协议得手。
落地检查点
- 按网段区分策略:服务器网段关闭,投屏与网络打印网段保留
- 关闭后用抓包确认 5353 的请求与应答均已消失
- 把 LLMNR 与 NetBIOS 名称服务的收敛一起做,避免留下同类投毒面
- 设置写入新装机镜像,避免重装后回到默认值