Sliver: The Open Source C2 Framework That Actually Feels Modern
If you've ever needed a command and control (C2) framework for red team ops, penetration testing, or security research, you've probably run into the usual suspects — Metasploit, Cobalt Strike, Empire. They work, but they're either old, expensive, or both.
Sliver changes that. It's an open source, cross-platform C2 framework built by Bishop Fox that feels like it was designed in 2023, not 2003. No Java, no Python 2, no weird dependency hell. Just a Go binary that starts fast and stays quiet.
What It Does
Sliver gives you a centralized server that can generate and manage implants on Windows, macOS, Linux, and even some embedded devices. You talk to those implants through encrypted channels — mTLS, WireGuard, DNS, HTTP(S), or even raw TCP. It's designed for operator flexibility, not just "deploy and forget."
Think of it as a modern C2 platform that supports both interactive shells and asynchronous jobs. You can pivot through networks, inject into processes, and run post-exploitation modules — all without screaming "I'm here" over the wire.
Why It's Cool
WireGuard implants. This alone is a killer feature. Most C2 frameworks rely on HTTP(S) or DNS tunnels that are noisy and easy to fingerprint. Sliver can spin up a WireGuard tunnel between your operator machine and the implant. That's encrypted, low-latency, and looks like normal VPN traffic to defenders. It's beautiful.
DNS over HTTPS (DoH) support. Even better, Sliver can exfiltrate data or send commands over DoH. Good luck blocking that without breaking half the internet.
mTLS out of the box. Mutual TLS means both sides authenticate. No self-signed certs that scream "pentest." You generate real, valid certificates during setup.
No heavy runtime. Sliver's implants are compiled Go binaries — around 2-5 MB depending on features. No .NET, no Mono, no Python. Works on minimal Linux boxes, IoT devices, and even old Windows 7 machines.
Operator mode for teams. You can run Sliver in multiplayer mode, with separate operator clients connecting to the server. Great for team exercises or shared infrastructure.
Armory for extensions. There's a built-in package manager (armory) that lets you install community extensions for things like Ligolo-ng, Donut, or Sharp collection tools. Extends without breaking core stability.
How to Try It
The easiest way is to grab the latest release from GitHub. If you're on Linux or macOS:
# Download and run the server
wget https://github.com/BishopFox/sliver/releases/latest/download/sliver-server_linux
chmod +x sliver-server_linux
./sliver-server_linux
# In another terminal, download the client
wget https://github.com/BishopFox/sliver/releases/latest/download/sliver-client_linux
chmod +x sliver-client_linux
./sliver-client_linux
Or use Docker:
docker run --rm -it -p 443:443 bishopfox/sliver-server
Once the server is running, generate a test implant:
sliver > generate --http 192.168.1.100 --save /tmp/implant.exe
That's it. You now have a working C2 implant that talks over encrypted HTTP. You can test locally or in a lab environment.
Final Thoughts
Sliver isn't trying to replace Cobalt Strike (which is fine for commercial engagements). But for open source, it's surprisingly polished. The documentation is solid, the code is readable, and you can actually extend it without reverse engineering a proprietary protocol.
For developers, it's also a great example of what Go can do for security tooling: fast compile times, cross compilation out of the box, and a clean CLI interface. If you've ever wanted to understand how C2 frameworks work under the hood — or just need a free, modern alternative for your lab — this is worth your time.
Found this on @githubprojects
Repository: https://github.com/BishopFox/sliver