
Preuve de concept d'exploitation pour CVE-2026-29781, exploitant des identifiants d'implant Sliver capturés pour déclencher une panne par pointeur nul et faire planter le serveur C2 via des paquets mTLS malformés.
Une vulnérabilité architecturale dans le serveur Sliver C2 permet une Weaponization Reverse-C2. En extrayant les identifiants d'une implant capturée, un défenseur peut armer la relation C2 pour déclencher un Kill-Switch d'infrastructure à distance. Cette exploitation cible un manque systémique de validation de pointeur nul dans les gestionnaires Protobuf, conduisant à une panique globale du runtime.
L'impact de CVE-2026-29781 est une Paralysie Opérationnelle Totale de l'infrastructure C2.
Le Chasseur devient la Proie : Un défenseur qui capture un binaire d'implant peut inverser l'attaque et arrêter complètement le serveur Sliver.
Effondrement Multi-Transport : Étant donné que les transports mTLS, WireGuard et DNS ne disposent pas d'un mécanisme recover(), un seul paquet malformé provoque la sortie de l'intégralité du runtime Go (SIGSEGV).
Perte de Session Collatérale : Un crash déclenché via un beacon DNS tuera instantanément toutes les sessions HTTP, mTLS et WireGuard actives sur l'ensemble de la flotte.
Expulsion des Opérateurs : Tous les opérateurs actifs sont immédiatement déconnectés de l'interface gRPC, perdant tout état non sauvegardé et toute surveillance en temps réel.
La restauration nécessite une intervention manuelle pour redémarrer le serveur et rétablir les chaînes de pivot complexes, créant un Objectif de Temps de Récupération (RTO) élevé.
Prérequis : Extraire les Identifiants : Obtenez le certificat mTLS, la clé privée et la clé secrète Age d'une implant Sliver capturée.
Modifier le PoC : Ouvrez mtls_poc.go et remplacez les valeurs d'espace réservé dans le bloc var (c2Endpoint, clientCertPEM, clientKeyPEM, peerPrivateKey) par vos identifiants extraits.
Exécutez l'exploit contre votre serveur Sliver de test :
go run mtls_poc.go
Résultat Attendu et Preuve du Crash : À la réception du paquet malformé, le serveur Sliver déclenche immédiatement un Dé-référencement de Pointeur Nul. Étant donné que la couche de transport (mTLS/Yamux) ne parvient pas à se remettre de cette panique, l'intégralité du processus serveur se termine avec un SIGSEGV.
Vous pouvez le vérifier en contrôlant l'état du serveur :
systemctl status sliver
Avis Officiel GHSA-hx52-cv84-jr5v

Free Palestine 🇵🇸