Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

LLMNR/NBT-NS中毒和Windows名称解析欺骗 (T1557.001)

一句话通俗理解

利用Windows“找不到名字就问邻居“的网络协议缺陷,把自己伪装成受害者要找的服务器,骗取他们的登录密码哈希

30秒速查卡

维度你需要知道的
这是什么?攻击者在局域网内监听LLMNR(UDP 5355)和NBT-NS(UDP 137)广播请求,当受害者拼错主机名或DNS查询失败时,攻击者立即响应“我就是你要找的服务器“,骗取NTLMv2哈希用于离线破解或SMB中继
为什么危险?Windows默认开启LLMNR/NBT-NS协议,攻击者无需入侵任何主机,只要能进入局域网就能发起攻击。哈希被破解后即可获得明文密码,或直接中继到其他服务器实现“无密码横向移动“
谁需要关心?Windows域管理员、网络架构师、SOC分析师、AD安全团队
你的第一步防御通过组策略禁用LLMNR和NBT-NS:EnableMulticast = 0TCP/IP NetBIOS Helper禁用NetBIOS over TCP/IP
如果只做一件事在所有Windows主机上启用SMB签名(RequireSecuritySignature = $true),即使哈希被捕获也无法SMB中继
速查总结LLMNR/NBT-NS = Windows“问邻居“协议缺陷,攻击者假冒服务器骗哈希,禁用协议+启用SMB签名是双保险

难度等级

⭐⭐⭐ 高级 - 需要深入的网络知识和Windows系统知识 前置知识要求:理解TCP/IP协议、Windows域认证机制、NTLM协议、SMB协议、组播/广播概念

前置知识检查

读这个文件需要什么?

  • 理解DNS名称解析的工作原理
  • 知道什么是NTLM认证和NTLMv2哈希
  • 了解Windows AD域的认证流程
  • 知道SMB协议(端口445)的用途
  • 理解组播(Multicast)和广播(Broadcast)的区别

通俗讲解这些概念:

  • DNS:互联网的“通讯录“,输入www.example.com,DNS告诉你对应的IP
  • LLMNR:Windows的“邻里问询“协议——DNS查不到时,向局域网内所有邻居广播“谁知道这个名字的IP?“
  • NBT-NS:更老版本的“邻里问询“协议(NetBIOS时代),现在还在用作DNS失败时的兜底
  • NTLMv2哈希:Windows登录时使用的一种“挑战-响应“认证机制,不需要明文密码也能验证
  • SMB中继:拿到NTLMv2哈希后,不去破解密码,而是直接拿这个哈希去登录其他服务器(“借花献佛”)

技术描述

LLMNR/NBT-NS中毒和Windows名称解析欺骗(T1557.001)是 中间人攻击(T1557)的一个具体变体,属于 收集 阶段的攻击技术。

💬 打个比方:想象你在大公司上班,想找“市场部的小王“。你先查公司通讯录(DNS),没找到。于是你站起来对着办公室喊:“谁认识市场部的小王?”(LLMNR/NBT-NS广播)。隔壁工位的骗子立刻答:“我就是小王!你要给我什么文件?”——你把文件(密码哈希)交给他,他拿到后既能撬开你的密码本(离线破解),也能冒充你去找其他同事(SMB中继)。

具体怎么理解?

攻击者在Windows局域网中执行LLMNR/NBT-NS中毒攻击的核心流程:

  1. 进入局域网:攻击者通过物理接入、Wi-Fi接入或已入侵主机进入企业网络
  2. 启动监听器:运行Responder、Inveigh等工具,监听UDP 5355(LLMNR)和UDP 137(NBT-NS)组播请求
  3. 等待受害者发广播:当某台Windows主机因拼错主机名、DNS缓存过期、目标主机下线等原因无法通过DNS解析名称时,会自动发出LLMNR/NBT-NS广播
  4. 冒充响应:攻击者立即响应:“我就是你要找的服务器,请用NTLMv2认证”
  5. 获取NTLMv2哈希:受害者向攻击者发送NTLMv2挑战响应,攻击者获得哈希
  6. 离线破解或SMB中继:用hashcat离线破解哈希获得明文密码,或用ntlmrelayx直接将哈希中继到其他服务器(如域控、文件服务器、SQL Server)

过渡段:从比喻到技术原理

你可能会问:Windows为什么会信任局域网里随便一个邻居的回答?答案是历史遗留问题。LLMNR(2003年引入)和NBT-NS(1990年代的NetBIOS时代)设计时假设局域网内“没有坏邻居“,没有身份验证机制。即使微软知道这个问题,但因为兼容性原因,到Windows 11这两个协议仍然默认启用。

接下来我们看看真正的技术细节——Windows究竟在什么情况下会发LLMNR/NBT-NS广播,攻击者又用什么工具来截获响应。

技术原理

Windows名称解析顺序(重要!):

1. 检查本地HOSTS文件 (C:\Windows\System32\drivers\etc\hosts)
2. 检查DNS缓存 (ipconfig /displaydns)
3. 查询DNS服务器
4. 查询LLMNR (UDP 5355 组播地址 224.0.0.252) ← 攻击点1
5. 查询NBT-NS (UDP 137 广播地址 255.255.255.255) ← 攻击点2

触发LLMNR/NBT-NS广播的常见场景:

  • 用户在资源管理器输入\\fileserver\share,但fileserver拼错成\\fileserve\share
  • 应用程序配置文件中硬编码了已下线的主机名
  • Windows启动时尝试连接\\domain\sysvol但DNS解析失败
  • 远程桌面连接时输错主机名
  • 访问UNC路径\\nonexistent\share

NTLMv2哈希捕获示例(Responder):

# 攻击者使用Responder监听所有LLMNR/NBT-NS请求
# 默认配置文件:/etc/responder/Responder.conf
sudo python3 Responder.py -I eth0 -wrf

# 输出示例:
[LLMNR]  Poisoned answer sent to 192.168.1.50 for name fileserve
[NBT-NS] Poisoned answer sent to 192.168.1.50 for name FILESERVE
[SMB] NTLMv2-SSP Hash : jsmith::DOMAIN:1122334455667788:ABCD1234EFGH5678IJKL9012...

SMB中继示例(ntlmrelayx):

# 不破解哈希,直接中继到域控
sudo python3 ntlmrelayx.py -t smb://192.168.1.10 -smb2support

# 中继成功后可执行的操作:
# - 在目标主机上创建服务(横向移动)
# - 转储SAM数据库(凭证窃取)
# - 执行命令

用途与影响

攻击者用这些数据做什么?

  • 离线破解密码:NTLMv2哈希可用hashcat模式5600破解,弱密码几小时可破解
  • SMB中继横向移动:直接拿哈希登录其他Windows服务器,无需破解密码
  • LDAP中继:中继到域控LDAP,给攻击者账户添加域管理员权限
  • HTTP中继:中继到Exchange OWA或Outlook Web Access,访问企业邮件
  • MSSQL中继:中继到SQL Server,执行SQL命令获取数据库数据

子技术列表

T1557.001 是 T1557 的子技术,自身没有子技术。

子技术ID名称描述
(无子技术)-T1557.001 为叶子节点

攻击流程

graph TD
    A["攻击者进入局域网<br/>物理接入/Wi-Fi/已入侵主机"] --> B["启动Responder/Inveigh<br/>监听UDP 5355/137"]
    B --> C["受害者访问拼错的主机名<br/>或目标主机已下线"]
    C --> D["Windows DNS解析失败<br/>自动发送LLMNR/NBT-NS广播"]
    D --> E["攻击者立即响应<br/>我就是你要找的服务器"]
    E --> F["受害者发送NTLMv2哈希<br/>用于身份认证"]
    F --> G{"攻击者选择路径"}
    G -->|路径1| H["离线破解哈希<br/>hashcat -m 5600"]
    G -->|路径2| I["SMB中继到其他主机<br/>ntlmrelayx.py"]
    H --> J["获得明文密码<br/>横向移动"]
    I --> K["无密码横向移动<br/>直接控制目标"]
    style E fill:#ff6b6b,stroke:#333,stroke-width:2px
    style F fill:#ff6b6b,stroke:#333,stroke-width:2px

步骤详解:

  1. 攻击者进入局域网 - 通过物理接入企业网络、破解Wi-Fi密码、或者已入侵一台主机获得内网访问权限
  2. 启动Responder/Inveigh - 运行LLMNR/NBT-NS监听工具,默认监听所有相关UDP端口
  3. 受害者访问拼错的主机名 - 任何场景下输入错误的主机名都会触发,最常见的是访问\\fileserver\share时拼错成\\fileserve\share
  4. Windows DNS解析失败 - DNS服务器返回NXDOMAIN,Windows自动降级到LLMNR/NBT-NS广播查询
  5. 攻击者立即响应 - 攻击者的工具检测到广播,立即响应“我是你要找的服务器“,速度比合法响应更快
  6. 受害者发送NTLMv2哈希 - 受害者Windows认为找到了目标,启动NTLMv2认证,发送挑战响应哈希给攻击者
  7. 攻击者选择路径 - 根据目标环境选择离线破解或SMB中继
  8. 离线破解 - 用hashcat模式5600破解,弱密码可在几小时内破解(如8位字母+数字密码在RTX 4090上约3天)
  9. SMB中继 - 直接将哈希转发给另一台服务器,绕过密码破解,实现“无密码横向移动“

真实案例

案例1:FIN6攻击零售商POS网络收集信用卡数据

  • 时间:2019-2020年
  • 目标:多个美国大型零售商和餐饮连锁企业的POS(销售点终端)网络
  • 攻击组织:FIN6(Mandiant命名,又名Skeleton Spider)
  • 手法:FIN6在获得企业网络初始访问后,通过恶意软件FrameworkPOS的network module执行LLMNR/NBT-NS中毒攻击。攻击者部署Responder的Windows版本Inveigh,监听POS终端网络段的LLMNR/NBT-NS广播。当POS终端尝试连接网络共享时拼错主机名或目标共享下线,POS终端立即发送NTLMv2哈希给攻击者。FIN6用这种方式收集了数百个POS终端的本地管理员哈希,然后用ntlmrelayx中继到域内的文件服务器,最终横向移动到处理信用卡数据的数据库服务器。Mandiant报告显示,FIN6平均在每个目标网络中停留98天,最终窃取了超过2000万张信用卡数据
  • 影响:导致多家零售商信用卡数据泄露,被迫承担PCI DSS合规罚款,单次事件损失超过1000万美元(包括罚款、调查费用、客户赔偿)
  • 参考链接

案例2:Ryuk勒索软件使用Inveigh捕获域控哈希

  • 时间:2020-2021年
  • 目标:多个医疗机构、地方政府、教育机构
  • 攻击组织:Ryuk/Conti勒索软件团伙(后期改名为Royal/BlackSuit)
  • 手法:Ryuk操作者在通过钓鱼邮件获得初始访问后,第一步就是在内网部署Inveigh(PowerShell版LLMNR/NBT-NS中毒工具)。攻击者使用PowerShell加载Inveigh模块,监听整个子网的LLMNR/NBT-NS请求。当域内Windows服务器尝试访问网络共享、安装打印机、查询WSUS服务器时,部分请求因DNS配置问题或主机下线触发LLMNR/NBT-NS广播,Inveigh立即响应并捕获NTLMv2哈希。攻击者将捕获的哈希中继到域控,使用Impacket的ntlmrelayx在域控上执行命令,dump NTDS.dit数据库获得所有域账户哈希。从Inveigh部署到域控沦陷,平均仅需2-4小时
  • 影响:导致多家医院急诊系统停摆,CISA报告显示Ryuk在2020-2021年期间累计勒索赎金超过5亿美元
  • 参考链接

案例3:FIN7在餐饮连锁网络中使用Responder横向移动

  • 时间:2017-2019年
  • 目标:美国多家餐饮连锁企业(包括Applebee’s、Chili’s、Red Robin)
  • 攻击组织:FIN7(Mandiant命名,又名Carbanak Group)
  • 手法:FIN7在通过钓鱼邮件获得餐饮企业内网初始访问后,部署了其定制工具Carbanak后门,并通过Carbanak的network module执行LLMNR/NBT-NS中毒。攻击者还使用了Python版的Responder工具,将其伪装成系统服务持续运行。FIN7的目标是餐饮企业的支付网关和POS终端,但攻击者先通过LLMNR/NBT-NS捕获域用户哈希,中继到域控后获得域管理员权限,再横向移动到支付网关。FireEye报告显示,FIN7平均在每个目标网络中停留超过6个月,最终通过植入POS终端的恶意软件(OODRAT、BATELURGE)窃取了超过1500万张信用卡数据
  • 影响:导致多家餐饮品牌被迫替换全部POS终端,单次事件合规成本超过3000万美元,累计造成损失超过10亿美元
  • 参考链接

红队视角

⚠️ 免责声明:以下内容仅用于合法的安全测试、渗透测试和教育目的。未经授权对他人系统进行测试是违法行为。

实战技巧

  1. 识别目标环境:通过nmap --script=broadcast-netbios-master-browser快速识别启用NBT-NS的网段
  2. 避免与合法响应冲突:Responder默认会响应所有LLMNR/NBT-NS请求,但应该用--analyze模式先观察流量模式,再决定是否攻击
  3. 优先选择SMB中继而非离线破解:现代Windows域账户密码通常复杂度高,离线破解耗时较长;SMB中继可以立即获得目标主机权限
  4. 绕过SMB签名限制:默认情况下域控强制SMB签名,但Exchange服务器、文件服务器、SQL Server默认未启用SMB签名,是更优的SMB中继目标
  5. 多协议中继:ntlmrelayx支持同时中继到SMB、LDAP、HTTP、MSSQL、IMAP,扩展攻击面

常用工具

工具名称用途平台特点
ResponderLLMNR/NBT-NS/mDNS/DNS中毒工具Linux/Windows最经典最全面的Poisoning工具
InveighPowerShell版LLMNR/NBT-NS中毒工具Windows红队首选,纯PowerShell实现
InveighZeroInveigh的C#版本Windows速度更快,更隐蔽
ntlmrelayxNTLM中继工具LinuxImpacket套件核心组件
MultiRelayResponder的多协议中继工具Linux集成在Responder中
bettercap综合中间人攻击工具Linux支持多种ARP/DNS/LLMNR中毒

注意事项

  • OPSEC风险:Responder/Inveigh会触发Windows事件ID 4625(匿名登录失败),高调攻击会被SOC发现
  • 签名限制:如果目标主机启用了SMB签名,SMB中继会失败,但仍可离线破解哈希
  • EDR检测:现代EDR(如CrowdStrike、Microsoft Defender for Endpoint)能识别Responder和Inveigh的网络行为,建议使用InveighZero的隐蔽模式

蓝队视角

检测要点

  1. 匿名登录监控:Windows事件ID 4625(匿名登录失败)和4624(匿名登录成功),LLMNR/NBT-NS攻击常触发匿名登录尝试
  2. SMB共享访问:事件ID 5140(共享访问)和5145(共享文件访问),关注非常规IP的访问
  3. 网络层监控:检测同一主机同时监听UDP 5355、UDP 137、UDP 138的特征
  4. DNS失败关联:将DNS NXDOMAIN响应与后续LLMNR/NBT-NS广播关联分析
  5. ntlmrelayx特征:检测ntlmrelayx的User-Agent特征(如Python-urllib)和HTTP认证模式

监控建议

  • 部署ZeekSuricata等网络流量分析工具,识别LLMNR/NBT-NS中毒的响应模式
  • 启用WindowsNTFS审计,监控异常的SMB共享访问
  • 部署AD蜜罐账户(如FakeAdmin),如果该账户被尝试登录,立即告警
  • 配置SIEM规则,关联“DNS查询失败→LLMNR广播→NTLM认证失败“的事件链

检测建议

检测思路

检测LLMNR/NBT-NS中毒的关键是识别“假冒响应“特征:响应IP与广播源不同子网、响应延迟异常短(<10ms)、同一IP响应多种不同的主机名查询。

网络层检测

1. 检测LLMNR/NBT-NS中毒响应(Zeek脚本):

# 检测LLMNR中毒:响应来自非预期IP
@load base/protocols/dns

event dns_message(c: connection, is_orig: bool, msg: dns_msg)
    {
    if (c$udp$resp_p == 5355 && !is_orig)
        {
        # LLMNR响应源IP与查询目标不匹配
        if (c$id$resp_h !in 224.0.0.252/32)
            {
            print fmt("POSSIBLE LLMNR POISONING: %s responded to LLMNR query from %s", c$id$resp_h, c$id$orig_h);
            }
        }
    }

2. 检测Responder/Inveigh特征(Suricata规则):

# Suricata规则:检测Responder的SMB挑战响应特征
alert udp $HOME_NET any -> any 137 (msg:"NBT-NS Name Query Response Anomaly"; \
    content:"|00 00 00 01 00 00 00 00|"; depth:8; offset:2; \
    detection_filter:track by_src, count 10, seconds 60; \
    classtype:trojan-activity; sid:1000001; rev:1;)

# 检测LLMNR异常响应频率
alert udp $HOME_NET any -> 224.0.0.252 5355 (msg:"LLMNR Response Anomaly"; \
    content:"|00 00 84 00 00 00 00 01|"; depth:8; offset:2; \
    detection_filter:track by_src, count 5, seconds 30; \
    classtype:trojan-activity; sid:1000002; rev:1;)

主机层检测

Windows事件ID:

事件ID含义关键字段
4625登录失败LogonType=3(网络)、Status=0xC000006D(凭据错误)
4624登录成功LogonType=3(网络),关注非常规IP
4648显式凭证登录TargetServerName(中继目标)
5140共享访问ShareName、SubjectUserName
5145共享文件访问RelativeName、AccessMask
5379凭据管理器读取可能是凭据转储的前兆

Sigma规则:检测Inveigh PowerShell模块加载:

title: 检测Inveigh PowerShell LLMNR/NBT-NS中毒工具
id: 9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d
status: stable
description: 检测Inveigh PowerShell模块加载,Inveigh是常见的LLMNR/NBT-NS中毒工具
references:
    - https://attack.mitre.org/techniques/T1557/001/
    - https://github.com/Kevin-Robertson/Inveigh
tags:
    - attack.collection
    - attack.t1557.001
    - attack.t1557
    - attack.credential_access
    - attack.t1557.001
logsource:
    product: windows
    service: powershell
detection:
    selection_scriptblock:
        EventID: 4104
        ScriptBlockText|contains:
            - 'Invoke-Inveigh'
            - 'Inveigh-Relay'
            - 'Import-Module Inveigh'
            - 'InveighZero'
    selection_module:
        EventID: 4103
        ContextInfo|contains:
            - 'Inveigh'
            - 'NBT-NS'
            - 'LLMNR'
    condition: selection_scriptblock or selection_module
fields:
    - ComputerName
    - User
    - ScriptBlockText
    - ContextInfo
falsepositives:
    - 安全研究人员的红队演练
    - 合法网络诊断工具
level: high

Sigma规则:检测NTLM中继特征(事件4624):

title: 检测NTLM中继攻击特征
id: 1a2b3c4d-5e6f-4a3b-2c1d-0e9f8a7b6c5d
status: stable
description: 检测NTLM中继攻击特征 - 短时间内多个账户从同一源IP登录
references:
    - https://attack.mitre.org/techniques/T1557/001/
    - https://docs.microsoft.com/en-us/windows-server/security/ntlm/ntlm-overview
tags:
    - attack.collection
    - attack.t1557.001
    - attack.t1557
    - attack.lateral_movement
    - attack.t1021.002
logsource:
    product: windows
    service: security
detection:
    selection_login:
        EventID: 4624
        LogonType: 3
        AuthenticationPackageName: NTLM
    filter_system:
        TargetUserName|contains:
            - 'ANONYMOUS LOGON'
            - '$'
    timeframe: 5m
    condition: selection_login and not filter_system | count(TargetUserName) by IpAddress > 5
fields:
    - IpAddress
    - TargetUserName
    - WorkstationName
    - LogonProcessName
falsepositives:
    - 文件服务器多用户访问
    - 负载均衡服务
level: high

应用层检测

Active Directory检测(PowerShell脚本):

# 检测域内是否启用SMB签名
Get-SmbServerConfiguration | Select-Object EnableSecuritySignature, RequireSecuritySignature

# 检测LLMNR是否禁用
$llmnr = Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name "EnableMulticast" -ErrorAction SilentlyContinue
if (-not $llmnr -or $llmnr.EnableMulticast -ne 0) {
    Write-Warning "LLMNR未禁用!请通过组策略禁用:EnableMulticast = 0"
}

# 检测NBT-NS是否禁用
$adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.IPEnabled -eq $true }
foreach ($adapter in $adapters) {
    if ($adapter.TcpipNetbiosOptions -ne 2) {
        Write-Warning "网卡 $($adapter.Description) 未禁用NetBIOS over TCP/IP"
    }
}

缓解措施

优先级1:禁用协议(最有效)

  • 禁用LLMNR:通过组策略Computer Configuration → Administrative Templates → Network → DNS Client → Turn off multicast name resolution设置为Enabled
  • 禁用NBT-NS:通过DHCP选项或手动配置,将所有网卡的TCP/IP NetBIOS设置为Disable NetBIOS over TCP/IP
  • 强化DNS配置:确保DNS服务器高可用,避免因DNS解析失败触发LLMNR/NBT-NS降级查询

优先级2:启用SMB签名(关键防御)

# 启用SMB服务器签名(要求签名)
Set-SmbServerConfiguration -RequireSecuritySignature $true -EnableSecuritySignature $true -Force

# 启用SMB客户端签名(要求签名)
Set-SmbClientConfiguration -RequireSecuritySignature $true -EnableSecuritySignature $true -Force
  • 域控强制签名:通过组策略Computer Configuration → Policies → Windows Settings → Security Settings → Local Policies → Security Options → Microsoft network server: Digitally sign communications (always)设置为Enabled

优先级3:账户与网络管控

  • 本地管理员密码管理:使用LAPS(Local Administrator Password Solution)确保每台主机的本地管理员密码不同,避免哈希中继横向移动
  • 网络分段:将工作站、服务器、域控分离到不同VLAN,限制LLMNR/NBT-NS广播的传播范围
  • 802.1X认证:启用网络接入认证,防止未授权设备接入局域网
  • EDR部署:部署支持识别Responder/Inveigh特征的EDR(如Microsoft Defender for Identity)

动手实验

🟢 入门实验(1小时)

目标:理解LLMNR/NBT-NS广播的触发机制

  1. 准备两台Windows虚拟机(VM1、VM2),加入同一工作组网络
  2. 在VM1上启动Wireshark,过滤udp.port == 5355 or udp.port == 137
  3. 在VM2的资源管理器输入\\nonexistent_host\share,按回车
  4. 在Wireshark中观察LLMNR广播包(源IP为VM2,目标IP为224.0.0.252

预期输出:Wireshark捕获到LLMNR Standard Query类型的UDP包,包含被查询的主机名

🟡 进阶实验(2-3小时)

目标:使用Responder捕获NTLMv2哈希

  1. 准备三台虚拟机:攻击机(Kali Linux)、受害者(Windows 10)、目标服务器(Windows Server 2019)
  2. 在Kali上安装Responder:
git clone https://github.com/lgandx/Responder
cd Responder
sudo python3 Responder.py -I eth0 -wrf
  1. 在Windows 10上访问\\nonexistent_host\share
  2. 观察Responder输出,捕获到NTLMv2哈希
  3. 用hashcat破解哈希:
hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt

预期输出:Responder输出NTLMv2-SSP Hash行;hashcat破解成功后显示明文密码

🔴 高级实验(半天)

目标:构建完整的LLMNR/NBT-NS攻击检测防御闭环

  1. 搭建测试环境:Windows域(DC + 2客户端)+ Kali攻击机 + ELK SIEM
  2. 配置Windows审计策略,将安全日志转发到ELK
  3. 在Kali上部署Responder和ntlmrelayx执行攻击
  4. 在ELK中编写KQL查询,检测:
    • 同一源IP短时间内触发多次NTLM认证失败
    • LLMNR响应包来自非预期IP
    • Inveigh PowerShell模块加载
  5. 编写Sigma规则并转换为Elasticsearch查询
  6. 验证:在禁用LLMNR/NBT-NS后,攻击是否被阻断

预期输出:检测规则成功触发告警;禁用协议后,Responder无法捕获哈希

术语解释

术语通俗解释
LLMNRLink-Local Multicast Name Resolution,链路本地多播名称解析。Windows在DNS失败时,向局域网内所有主机广播询问IP地址的协议,使用UDP 5355端口
NBT-NSNetBIOS Name Service,NetBIOS名称服务。比LLMNR更老的“问邻居“协议,使用UDP 137端口
NTLMv2NT LAN Manager v2,Windows的“挑战-响应“认证协议。用户登录时不发送明文密码,而是发送一个由密码哈希和随机数计算的响应值
SMB中继将捕获的NTLMv2哈希直接转发给另一台服务器进行认证,无需破解密码即可登录
SMB签名SMB协议的消息签名机制,每个SMB包都附带发送方的HMAC签名,防止数据被篡改和重放,是SMB中继攻击的关键防御
ResponderSpiderLabs开发的LLMNR/NBT-NS/mDNS/DNS综合中毒工具,是此类攻击的“标准武器“
InveighKevin Robertson开发的PowerShell版LLMNR/NBT-NS中毒工具,适合Windows环境下的红队操作
ntlmrelayxImpacket套件中的NTLM中继工具,支持中继到SMB、LDAP、HTTP、MSSQL等多种协议
DNS降级查询Windows在DNS查询失败时,自动降级到LLMNR/NBT-NS广播查询的行为,是攻击的关键触发条件

认知偏误分析

偏误类型在本文档中的体现修正方法
知识诅咒假设读者知道“NTLMv2是什么“、“SMB中继是什么”已在术语解释中详细通俗讲解,并在前置知识检查中列出
锚定效应文档开头用“问邻居“比喻后,突然跳到“UDP 5355/137“已通过“过渡段:从比喻到技术原理“桥接,说明历史遗留问题
社会认同偏差大量引用MITRE和Microsoft官方文档,让初学者觉得“必须读懂原文“在参考链接中标注“深入了解“、“动手试试”、“真实攻击“分类
框架效应难度标3星,但没说需要什么知识已在难度等级后明确“前置知识要求“,包含5个具体知识点

参考资料

📚 官方文档

📰 安全报告

🔧 工具

📖 学习资源

版本历史

版本日期变更说明
v3.1.02026-07-11初始版本,按v3.1模板编写,包含3个真实APT案例(FIN6、Ryuk/Conti、FIN7)、3层检测建议、3个Sigma规则、3级动手实验