skoveit/CVE-2026-29781
GitHub: skoveit/CVE-2026-29781
针对 Sliver C2 服务器的反向利用 PoC,允许防御者通过提取的 implant 凭证触发远程服务崩溃,实现主动反制攻击者基础设施。
Stars: 0 | Forks: 0
官方公告 [GHSA-hx52-cv84-jr5v](https://github.com/BishopFox/sliver/security/advisories/GHSA-hx52-cv84-jr5v)
Sliver C2 服务器中存在一个严重的架构性漏洞,允许进行反向 C2 武器化。通过从捕获的 implant 中提取凭证,防御者可以利用 C2 关系触发远程基础设施“熔断开关”。该漏洞利用针对的是 Protobuf 处理程序中系统性缺失的空指针验证,导致全局运行时恐慌。
CVE-2026-29781 的影响是 C2 基础设施的全面运行瘫痪。
1. 猎人变成猎物:捕获 implant 二进制文件的防御者可以逆转攻击并彻底关闭 Sliver 服务器。
2. 跨传输层崩溃:由于 mTLS、WireGuard 和 DNS 传输层缺乏 recover() 机制,单个格式错误的数据包就会导致整个 Go 运行时退出 (SIGSEGV)。
3. 附带会话丢失:通过 DNS beacon 触发的崩溃将立即终止整个机群中所有活跃的 HTTP、mTLS 和 WireGuard 会话。
4. 操作员强制下线:所有活跃的操作员将立即从 gRPC 接口断开连接,丢失所有未保存的状态和实时监控。
5. 恢复需要人工干预以重启服务器并重建复杂的 pivot 链,导致极高的恢复时间目标 (RTO)。
## 复现步骤:
1. 前置条件:
提取凭证:从捕获的 Sliver implant 中获取 mTLS 证书、私钥和 Age 密钥。
2. 编辑 PoC:打开 mtls_poc.go 并将 var 块中的占位符值(c2Endpoint, clientCertPEM, clientKeyPEM, peerPrivateKey)替换为您提取的凭证。
3. 针对您的测试 Sliver 服务器运行漏洞利用程序:
```
go run mtls_poc.go
```
预期结果与崩溃证明:收到格式错误的数据包后,Sliver 服务器会立即触发空指针解引用。由于传输层 (mTLS/Yamux) 无法从该恐慌中恢复,整个服务器进程将以 SIGSEGV 终止。
您可以通过检查服务器状态来验证这一点:
```
systemctl status sliver
```

标签:BishopFox, C2 服务器, CVE-2026-29781, DAST, DNS 隧道, DoS, EVTX分析, EVTX分析, Google搜索, Go 语言安全, IP 地址批量处理, Kill-Switch, mTLS, Nil-Pointer, PoC, RCE, SIGSEGV, Sliver C2, WireGuard, 协议缓冲区, 反向 C2, 反向攻击, 基础设施瘫痪, 恶意软件分析, 日志审计, 暴力破解, 植入程序提取, 混合加密, 红队对抗, 蓝队防御, 运行时崩溃, 配置审计, 配置错误, 防御性武器化, 高危漏洞