
CVE-2026-29781에 대한 개념 증명 익스플로잇으로, 탈취한 Sliver 임플란트 자격 증명을 무기화하여 잘못된 형식의 mTLS 패킷을 통해 nil-포인터 패닉을 유발하고 C2 서버를 충돌시킵니다.
Sliver C2 서버의 아키텍처 취약점으로 인해 Reverse-C2 Weaponization이 가능합니다. 캡처된 임플란트에서 자격 증명을 추출한 방어자는 C2 관계를 무기화하여 원격 인프라 Kill-Switch를 트리거할 수 있습니다. 이 악용은 Protobuf 핸들러의 nil 포인터 검증 부재라는 시스템적 결함을 대상으로 하며, 전역 런타임 패닉을 유발합니다.
CVE-2026-29781의 영향은 C2 인프라의 완전한 작동 마비(Total Operational Paralysis)입니다.
사냥꾼이 사냥감이 됨: 임플란트 바이너리를 캡처한 방어자는 공격을 역이용하여 Sliver 서버를 완전히 종료시킬 수 있습니다.
크로스-트랜스포트 붕괴: mTLS, WireGuard 및 DNS 전송 계층에는 recover() 메커니즘이 없기 때문에, 단일 변조 패킷 하나가 전체 Go 런타임을 종료(SIGSEGV)시킵니다.
부수적 세션 손실: DNS 비콘을 통해 트리거된 크래시는 전체 플릿의 모든 활성 HTTP, mTLS 및 WireGuard 세션을 즉시 종료시킵니다.
운영자 축출: 모든 활성 운영자는 gRPC 인터페이스에서 즉시 연결이 끊기며, 저장되지 않은 모든 상태와 실시간 모니터링을 잃게 됩니다.
복구에는 서버 재시작 및 복잡한 피벗 체인 재구축을 위한 수동 개입이 필요하므로 높은 복구 시간 목표(RTO)가 발생합니다.
사전 요구 사항: 자격 증명 추출: 캡처된 Sliver 임플란트에서 mTLS 인증서, 개인 키 및 Age 비밀 키를 획득합니다.
PoC 편집: mtls_poc.go를 열고 var 블록의 자리 표시자 값(c2Endpoint, clientCertPEM, clientKeyPEM, peerPrivateKey)을 추출한 자격 증명으로 교체합니다.
테스트 Sliver 서버에 대해 익스플로잇을 실행합니다:
go run mtls_poc.go
예상 결과 및 크래시 증명: 변조된 패킷을 수신하면 Sliver 서버는 즉시 Nil-Pointer 역참조를 트리거합니다. 전송 계층(mTLS/Yamux)이 이 패닉에서 복구하지 못하므로 전체 서버 프로세스가 SIGSEGV로 종료됩니다.
서버 상태를 확인하여 이를 검증할 수 있습니다:
systemctl status sliver
공식 권고 GHSA-hx52-cv84-jr5v

Free Palestine 🇵🇸