![ATT&CK视角下的红蓝对抗实战指南](https://wfqqreader-1252317822.image.myqcloud.com/cover/797/48593797/b_48593797.jpg)
1.4 Windows常用协议
1.4.1 LLMNR
1.LLMNR简介
链路本地多播名称解析(LLMNR)是一个基于域名系统(DNS)数据包格式的协议,可用于解析局域网中本地链路上的主机名称。它可以很好地支持IPv4和IPv6,是仅次于DNS解析的名称解析协议。
2.LLMNR解析过程
当本地hosts和DNS解析失败时,会使用LLMNR解析。LLMNR解析过程如图1-26所示。
1)主机在本地NetBIOS缓存名称中进行查询。
2)如果在缓存名称中没有查询到,则以此向配置的主备DNS服务器发送解析请求。
3)如果主备DNS服务器没有回复,则向当前子网域发送多播,获取对应的IP地址。
4)本地子网域中的其他主机收到并检查多播包。如果没有响应,则请求失败。
从以上工作过程可以明白,LLMNR是以多播形式进行查询的,类似于ARP通过MAC寻找IP地址。这样就存在一个欺骗攻击问题。
![](https://epubservercos.yuewen.com/B7FCFF/28235394807452206/epubprivate/OEBPS/Images/49_01.jpg?sign=1738920311-0xIeJjbeaJOzNjwVtuDgXImPbZUNooEp-0-a4da5d4acca65c65c0874dcf3e5a3dcf)
图1-26 LLMNR解析过程
3.LLMNR欺骗攻击
假设用户访问一个域名xxx,如图1-27所示,在hosts文件和DNS解析失败时,会通过LLMNR进行广播请求。攻击者利用该广播请求时间向请求用户回复响应IP地址,这时域名xxx映射的IP就是攻击者IP,用户访问域名xxx就会解析到攻击IP,这样攻击者便可以拿到NetNTLM哈希。
4.LLMNR防御措施
1)在Windows系统中依次选择“开始”→“运行”选项,然后输入gpedit.msc命令打开本地组策略管理器,如图1-28所示。
2)依次选择“计算机配置”→“管理模板”→“网络”→“DNS客户端”,如图1-29所示。
3)双击打开“关闭多播名称解析”策略设置,如图1-30所示。
4)将“关闭多播名称解析”策略设置中的状态改为“已禁用”,如图1-31所示。
![](https://epubservercos.yuewen.com/B7FCFF/28235394807452206/epubprivate/OEBPS/Images/50_01.jpg?sign=1738920311-aXsTPJ6vE7yutc9YObMFefJsO0sp0Br8-0-6c22de706f4f7c6b6796c1a96392b688)
图1-27 LLMNR欺骗攻击
![](https://epubservercos.yuewen.com/B7FCFF/28235394807452206/epubprivate/OEBPS/Images/50_02.jpg?sign=1738920311-hgJ6Dndisi8LabtoVkCWtRFWznkf26RX-0-66a43647d6a76a5d710a3e6328841d98)
图1-28 打开本地组策略管理器
![](https://epubservercos.yuewen.com/B7FCFF/28235394807452206/epubprivate/OEBPS/Images/50_03.jpg?sign=1738920311-q6krYcsu4Na2C6jcvKmJGKjimV52OpZw-0-5112d797f87a214754cb9e5c2244825c)
图1-29 打开配置DNS客户端
![](https://epubservercos.yuewen.com/B7FCFF/28235394807452206/epubprivate/OEBPS/Images/51_01.jpg?sign=1738920311-mvyy1vYTBdQQQKCPq9wpZ4gEIEKyKk2E-0-72ac615e17a12014c439bca523bb1611)
图1-30 打开“关闭多播名称解析”
![](https://epubservercos.yuewen.com/B7FCFF/28235394807452206/epubprivate/OEBPS/Images/51_02.jpg?sign=1738920311-Bi8R4UTODgyoYuFmArbhDTJXSBhr3zZR-0-2c4b9cd6c486c26eb91834d99da1f065)
图1-31 将“关闭多播名称解析”策略设置中的状态改为“已禁用”