slemire/WSPCoerce

GitHub: slemire/WSPCoerce

利用 MS-WSP 协议强制 Windows 主机进行身份验证的 PoC 工具,可捕获机器账户哈希或结合非约束委派获取 TGT。

Stars: 301 | Forks: 39

# WSPCoerce 使用 MS-WSP 强制 Windows 主机进行身份验证的概念验证 (PoC) ## 这是什么? 这是一个使用 Windows 搜索协议 (Windows Search Protocol) 与远程主机交互并强制其进行身份验证的工具。目标主机将使用机器账户通过 SMB 连接到监听主机。 ## 我可以用它做什么? - 将来自目标的身份验证中继到另一个系统(如果 SMB 签名被禁用) - 获取目标的 TGT(如果强制认证到一个启用了非约束委派 (unconstrained delegation) 的系统) ## 有什么要求? - 必须在域用户的上下文中运行(据我所知,目标系统不需要特定权限) - 目标系统的 445/TCP 端口开放 - 监听系统的 445/TCP 端口开放 - 目标系统上运行着 Windows Search 服务 注意:Windows Server 上默认 *未* 启用 Windows Search 服务,因此实际上此攻击仅对 Windows 工作站有效。 ## 如何编译? ``` c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe WSPCoerce.cs ``` ## 如何运行? ``` WSPCoerce.exe ``` 注意: - 目标不能使用 IP 地址,只能使用短主机名(不要用 FQDN) - 如果你想接收 Kerberos 认证,请确保监听器使用主机名或 FQDN ## 示例演示 1 - 机器账户 NTLMv2 捕获 - 目标:LABWS1 - 监听器:Kali 主机 发送到 LABWS1 的搜索请求: ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/ed77d3b50d124243.png) 在 Responder 上捕获的 NTLMv2: ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/cf868bf1ef124244.png) ## 示例演示 2 - 强制认证到非约束委派主机 - 目标:LABWS1 - 监听器:LABSRV1 发送到 LABWS1 的搜索请求: ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6d87a6ee2a124245.png) 监听器 (LABSRV1) 上的 Kerberos TGT: ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c97418b4d0124246.png)
标签:Conpot, HTTP, MS-WSP, NTLM哈希, PoC, Responder, SMB中继, Windows安全, Windows搜索协议, 协议漏洞利用, 域渗透, 强制认证, 无约束委派, 暴力破解, 横向移动, 电子数据取证, 编程规范