skoveit/CVE-2026-29781

GitHub: skoveit/CVE-2026-29781

针对 Sliver C2 服务器的反向利用 PoC,允许防御者通过提取的 implant 凭证触发远程服务崩溃,实现主动反制攻击者基础设施。

Stars: 0 | Forks: 0

Sliver C2 Kill-Switch

官方公告 [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 ``` ![Screenshot_20260228_025732](https://github.com/user-attachments/assets/ddd52355-a7a6-4568-b999-26a2211c5918)
标签: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, 反向攻击, 基础设施瘫痪, 恶意软件分析, 日志审计, 暴力破解, 植入程序提取, 混合加密, 红队对抗, 蓝队防御, 运行时崩溃, 配置审计, 配置错误, 防御性武器化, 高危漏洞