> For the complete documentation index, see [llms.txt](https://top-gun-diary.gitbook.io/blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://top-gun-diary.gitbook.io/blog/sliver-c2-framework-series/part-one-installing-sliver-on-kali-linux.md).

# Part One : Installing Sliver On Kali Linux

<div data-full-width="true"><img src="/files/48d20cc83dee7518c86ebb50130eecb66dda7868" alt="Source: https://bishopfox.com/tools/sliver"></div>

*The Sliver C2 server is a powerful command and control framework designed for red teaming and penetration testing. It’s built with simplicity and cross-platform compatibility in mind. Before diving deeper into the installation, we should have a basic understanding of the following things about **Sliver**.*

## Key Components of a C2

![](/files/2fc7a294dff1a44c8e541111ab6cbb434a93e262)

<p align="center">Source: <a href="https://github.com/BishopFox/sliver/wiki/Home/45ad91871d5ddd36100714936fa8ca1fad12e89a">https://github.com/BishopFox/sliver/wiki/Home/45ad91871d5ddd36100714936fa8ca1fad12e89a</a></p>

The C2 framework operates with three main components:

> ***Server:** This is the heart of the operation, controlled by the red team. The C2 software is installed on this server, which sends commands to the victim machines.*
>
> ***Client (Agent):** This is the piece of code that is executed on the victim machine. Its sole purpose is to **“phone home”** to the server and receive commands.*
>
> ***Listeners:** These are components of the C2 server that listen for incoming connections from the clients. They are designed to use different protocols to evade detection by security tools like **antivirus (AV) and endpoint detection and response (EDR).***

## Sliver Implants

*Sliver implants are the agents or payloads that are deployed on a victim’s machine. They are the connection point between the compromised host and the Sliver C2 server.*

### Key Points

> ***Single Binary:** Like the server, implants are also single binaries, containing no external dependencies, which makes them easier to deploy and harder to detect.*
>
> ***Cross-Platform:** Implants are designed to work across Linux, macOS, and Windows. This is advantageous in a real-world environment where you might encounter different operating systems.*
>
> ***Dynamic Evasion:** The dynamic compilation process ensures that each implant has a different signature. This helps evade signature-based detection mechanisms used by many anti-virus and endpoint detection and response (EDR) solutions.*

## Communication Modes

*Sliver uses two primary communication models for interacting with implants on a compromised machine: **Beacons** and **Sessions**.*

> ***Beacon:** A beacon is a long-term, persistent connection model. The implant on the victim machine “phones home” to the C2 server at a predefined interval. This is a low-bandwidth connection used to maintain a presence on the network and receive basic commands. An optional jitter can be added to the beacon interval to make the communication pattern more random and harder to detect.*
>
> ***Session:** A session is an interactive, high-bandwidth connection that provides a shell-like experience. This model is ideal for command execution and further enumeration on the victim machine. A session can be spawned on demand from an existing beacon and, once the task is complete, can be switched back to a beacon to maintain persistence.*

## Sliver C2 Supported Protocols

*Sliver supports five primary communication protocols between the server and implant: **mTLS (Mutual TLS), WireGuard (lightweight VPN tunneling), HTTP, HTTPS, and DNS (for tunneling)**. The choice depends on your objective. DNS or HTTPS are ideal for stealth by blending into normal traffic, WireGuard provides high-speed, low-overhead performance, and HTTP or mTLS can help evade restrictive network defenses. While tools like netcat remain a staple in pentesting for quick shells and simple data transfer, they lack built-in encryption. That’s the key distinction: netcat may be acceptable for controlled exam environments like OSCP or CPTS, but in real-world red team engagements, encrypted and covert communication channels are essential.*

## Installing Sliver on your Kali VM

![Figure 1.0 Installing Sliver on your Kali VM](/files/5bb3da1d096888ea503d180780a8807e9807505b)

### 1. Installing Sliver C2

*To install Sliver on Kali Linux, you use a simple one-line command that downloads and executes an installation script.*

* *Open a terminal in your Kali Linux virtual machine and run the following command:*

```bash
curl https://sliver.sh/install | sudo bash
```

* *This command uses `curl` to download the Sliver installation script and pipes it directly into `sudo bash`, executing it with elevated privileges.*
* *The installation process may take a few minutes, depending on your system and network speed.*
* *During execution, you’ll be prompted to enter your `sudo` password to authorize and complete the installation.*

### Checking the Sliver Service Status

*After installation, Sliver runs as a system service managed by `systemd`.*

* *To verify that the service is up and running, execute:*

```bash
sudo systemctl status sliver
```

* *The output will indicate whether the service is **active (running)**, along with additional details such as uptime, logs, and process ID.*
* *Note that Sliver is **not enabled to start automatically on boot by default**, so you’ll need to manually start it after a reboot unless you explicitly enable it with:*

```bash
sudo systemctl enable sliver
```

## Starting Sliver Manually

*After restarting your Kali Linux VM, the Sliver service will not start automatically by default.*

* *To manually start the service, run:*

```bash
sudo systemctl start sliver
```

* *Once the service is running, you can launch the Sliver console by simply typing:*

```bash
sliver
```

## Installing Mingw-w64

*Installing **Mingw-w64** allows you to generate Windows-specific payloads such as **shellcode, staged payloads, and DLL implants** directly from your Linux environment.*

* *To install it, execute:*

```bash
sudo apt install mingw-w64
```

* *Most modern Kali Linux distributions already include this package, but running the command ensures all required dependencies are properly installed and up to date.*

## Exploring the Console Interface

*When using the Sliver C2 framework, you primarily interact with the server through its command-line interface (CLI), which is used to manage listeners, generate implants, and control active sessions.*

![Figure 1.2 Exploring the Console Interface](/files/90d6815050b4e5e3c826f07ca0ebf7bc16b9b7d0)

### Launching the Sliver CLI

* *To access the Sliver console on your Kali Linux VM, open a terminal and run:*

```bash
sliver
```

* *This will launch the interactive CLI, allowing you to manage listeners, generate implants, and control sessions.*
* *If you encounter an error when launching, it’s likely that the Sliver service is not running. Start it manually with:*

```bash
sudo systemctl start sliver
```

### Using the Help Command in Sliver

*The `help` command serves as your main reference for navigating and using the Sliver CLI (see Figure 1.2). Executing `help` lists all available commands, while `help <command_name>` offers detailed information, including syntax and practical usage examples for the specified command.*

### Reality Check and Next Steps

*That said, it’s important to ground this in real-world red team operations. Modern environments are heavily monitored; EDR, NDR, and SIEM solutions can quickly detect poorly configured C2 traffic or default profiles. Simply spinning up Sliver and generating an implant is not enough; success depends on careful infrastructure setup, traffic shaping, strong OPSEC, and a clear understanding of how defenders detect anomalies. Missteps like using default configurations, predictable beacon intervals, or unencrypted channels can quickly burn an operation.*

*It’s also worth setting expectations: in this series, we’re exploring Sliver to understand how C2 frameworks function and to build a practical foundation in red team workflows. Out of the box, Sliver should not be expected to provide advanced evasion against mature defensive stacks; those capabilities typically require significant customization, tooling modifications, and tailored tradecraft.*

***In the next article, we’ll take a deeper dive into creating your first implant and explore how to approach deployment in a way that better reflects real-world scenarios.***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://top-gun-diary.gitbook.io/blog/sliver-c2-framework-series/part-one-installing-sliver-on-kali-linux.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
