文章总结: 该文档复现了冰蝎(Behinder)v4.xBasicInfoWebView0-ClickNTLM凭据窃取漏洞,攻击者可通过在服务端返回的HTML中注入恶意资源链接,当客户端连接时自动触发NTLM认证握手,从而窃取Windows凭据的NTLMv2哈希。关键发现包括漏洞影响冰蝎4.1及以下版本、每次连接可捕获12个独立哈希,并提供基于PHP-Xor-Request协议的蜜罐搭建方案与防范建议。 综合评分: 85 文章分类: 漏洞分析,红队,内网渗透,WEB安全,恶意软件

WebView 渲染这些 HTML 时,会自动发起 HTTP 请求加载外部资源。
3.4 NTLM 捕获原理
信标服务器(Beacon Server)对每个 HTTP 请求执行 NTLM 认证握手:
- 客户端请求资源 → 服务器返回
401 Unauthorized+WWW-Authenticate: NTLM - 客户端发送
Authorization: NTLM <Type1 消息>(Negotiate) - 服务器返回
401+WWW-Authenticate: NTLM <Type2 挑战>(含 8 字节随机挑战) - 客户端发送
Authorization: NTLM <Type3 认证>— 包含 域名、用户名、NTLMv2 哈希 - 服务器解析 Type3 消息,提取 NTLMv2 哈希,返回正常内容
每个 HTML 资源触发一次 NTLM 握手,投毒 HTML 中包含 11+ 个外部资源,因此每次连接可捕获 11+ 个 NTLMv2 哈希。
四、蜜罐代码
师傅们自取
https://github.com/EATMELONSEC/behinder-v4-basicinfo-ntlm-theft.git
4.1 主蜜罐脚本 (honeypot_xor.py)
5.2 冰蝎客户端连接
- 打开冰蝎客户端 (Behinder.jar)
- 新增 WebShell:
- URL:
http://192.168.1.100:9998/shell.php - 密码:
rebeyond - 脚本类型: PHP
-
双击连接 — 无需任何额外操作
六、捕获结果
6.1 NTLMv2 哈希
每次连接成功捕获 12 个 NTLMv2 哈希。投毒 HTML 中包含 11 个不同的 HTTP 资源引用,每个资源触发一次独立的 NTLM 握手:
| 资源 | 触发次数 | | — | — | |
<img src="...bc.png">| 第 1 次 NTLM 握手 | |<link href="...style.css">| 第 2 次 | |<script src="...script.js">| 第 3 次 | |<iframe src="...frame.html">| 第 4 次 | |<object data="...object.dat">| 第 5 次 | |<embed src="...embed.dat">| 第 6 次 | |<meta refresh "...redirect">| 第 7 次 | |@import url("...ntlm.css")| 第 8 次 | |background:url("...bg.png")| 第 9 次 | |<video poster="...poster.jpg">| 第 10 次 | |<audio source="...track.mp3">| 第 11 次 |为什么每次捕获的哈希都不同?
每次 HTTP 请求都是独立的 TCP 连接(不同源端口),信标服务器每次都生成不同的 8 字节随机 Server Challenge。NTLMv2 哈希的计算方式为:
NTProofStr = HMAC-MD5(NTLM_Hash, ServerChallenge + ClientBlob)
Server Challenge 不同 → NTProofStr 不同 → 最终哈希不同。但它们都来自同一个用户(Administrator::EATMELON),随便挑一条拿去 hashcat 破解即可,结果都一样。
捕获的哈希(hashcat 5600 格式:user::domain:server_challenge:NTProofStr:blob):
# 脱敏后的哈希
Administrator::EATMELON:a7c21856f3907b2d:45f72c9186e3d527a089bc13f7269041:01010000000000007ce52fb87ac9e10d35fa6c721093db57000000000200120061006200630064006500660067006800690000000000000000000
### 6.2 提取的信息
| 字段 | 值 | | — | — | | 攻击者 IP | 192.168.1.200 | | Windows 用户名 | Administrator | | Windows 域名/主机名 | EATMELON | | User-Agent | JavaFX/8.0 Safari/605.1 | | 语言 | zh-cn | | 哈希格式 | hashcat 5600 (NTLMv2) |
### 6.3 哈希破解
# 使用 hashcat 破解 NTLMv2 哈希
hashcat -m 5600 ntlm_captures.log wordlist.txt
# 或使用 john
john --format=netntlmv2 ntlm_captures.log --wordlist=wordlist.txt
成功用hashcat爆破出密码
七、版本对比测试结果
| 测试项 | 冰蝎 4.06 (Java 8) | 冰蝎 4.1 Tools 专版 (Java 19) | | — | — | — | | WebShell 连接 | 成功 | 成功 | | Echo 握手 | 成功 | 成功 | | BasicInfo 请求 | 成功 | 成功 | | 投毒 HTML 注入 | 成功 | 成功 | | WebView 渲染 | 成功 | 成功 | | HTTP 信标触发 | 成功 (12次) | 成功 (多次) | | NTLM 自动协商 | 成功 | 失败 | | NTLMv2 哈希捕获 | 12 个 | 0 个 | | 攻击者 IP 捕获 | 成功 | 成功 |
八、漏洞影响
-
攻击者身份暴露
:即使攻击者使用代理/VPN,蜜罐也能获取其真实 IP 和 Windows 用户名
-
凭据泄露
:NTLMv2 哈希可被离线破解,获取攻击者的 Windows 登录密码
-
横向渗透
:获取的凭据可能用于攻击者内网的其他系统
-
零交互
:攻击者只需双击连接 WebShell,无需任何额外操作
九、修复建议
修复建议参考 s2cr3t师傅提的issues https://github.com/rebeyond/Behinder/issues/313
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:吃瓜安全 《[漏洞复现] 冰蝎 (Behinder) v4.x BasicInfo WebView 0-Click NTLM 凭据窃取漏洞》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。


![[漏洞复现]冰蝎(Behinder)v4.xBasicInfoWebView0-ClickNTLM凭据窃取漏洞](/images/random/titlepic/9.jpg)






评论