generate

package
v1.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2026 License: GPL-3.0 Imports: 32 Imported by: 4

README

client/command/generate

Overview

Implements the 'generate' command group for the Sliver client console. Handlers map Cobra invocations to generate workflows such as canaries, generate beacon, generate info, and implants RM.

Go Files

  • canaries.go – Lists DNS canaries, filters burned entries, and prints status tables.
  • commands.go – Defines the generate command hierarchy spanning implant, profile, and canary tooling.
  • generate-beacon.go – Builds staged beacons from profile/flag inputs and triggers compilation via RPC.
  • generate-info.go – Displays build configuration details for a generated implant artifact.
  • generate.go – Orchestrates implant compilation pipelines, parsing C2 flags and selecting targets/builders.
  • helpers.go – Supplies completions, helper lookups, and binary retrieval utilities used across generate commands.
  • implants-rm.go – Deletes stored implant builds from the server catalog.
  • implants-stage.go – Uploads generated implants into staging slots for later deployment.
  • implants.go – Lists implant builds, filters them, and resolves selected build metadata.
  • profiles-generate.go – Generates new implant profiles from templates and selected options.
  • profiles-new.go – Creates empty implant profiles populated with default settings.
  • profiles-rm.go – Removes saved implant profiles and confirms deletion state.
  • profiles-stage.go – Stages implant profiles to facilitate rapid build operations.
  • profiles.go – Lists profiles, prints detailed info, and resolves profile selections for other commands.
  • regenerate.go – Rebuilds implants from existing configuration IDs without re-specifying flags.
  • traffic-encoders.go – Manages generation of HTTP/DNS traffic encoder assets for implants.

Documentation

Index

Constants

View Source
const (
	// DefaultMTLSLPort is the default port for mtls.
	DefaultMTLSLPort = 8888
	// DefaultWGPort is the default port for wg.
	DefaultWGLPort = 53
	// DefaultWGNPort is the default n port for wg.
	DefaultWGNPort = 8888
	// DefaultWGKeyExPort is the default port for wg key exchange.
	DefaultWGKeyExPort = 1337
	// DefaultHTTPLPort is the default port for http.
	DefaultHTTPLPort = 80
	// DefaultHTTPSLPort is the default port for https.
	DefaultHTTPSLPort = 443
	// DefaultDNSLPortis the default port for dns.
	DefaultDNSLPort = 53
	// DefaultTCPPivotPort is the default port for tcp pivots.
	DefaultTCPPivotPort = 9898

	// DefaultReconnect is the default reconnect time.
	DefaultReconnect = 60
	// DefaultPollTimeout is the default poll timeout.
	DefaultPollTimeout = 360 // 6 minutes
	// DefaultMaxErrors is the default max reconnection errors before giving up.
	DefaultMaxErrors = 1000
)

Variables

View Source
var (
	// SupportedCompilerTargets - Supported compiler targets.
	SupportedCompilerTargets = map[string]bool{
		"darwin/amd64":  true,
		"darwin/arm64":  true,
		"linux/386":     true,
		"linux/amd64":   true,
		"windows/386":   true,
		"windows/amd64": true,
	}

	ErrNoExternalBuilder = errors.New("no external builders are available")
	ErrNoValidBuilders   = errors.New("no valid external builders for target")
	ErrNoSelection       = errors.New("no selection")
)
View Source
var (
	ErrBeaconIntervalTooShort = fmt.Errorf("beacon interval must be %v or greater", minBeaconInterval)
)

Functions

func ArchCompleter added in v1.6.0

func ArchCompleter(con *console.SliverClient) carapace.Action

FormatCompleter completes builds' architectures.

func CanariesCmd

func CanariesCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

CanariesCmd - Display canaries from the database and their status.

func Commands added in v1.6.0

func Commands(con *console.SliverClient) []*cobra.Command

Commands returns the “ command and its subcommands.

func DisplayTrafficEncoders added in v1.6.0

func DisplayTrafficEncoders(encoderMap *clientpb.TrafficEncoderMap, con *console.SliverClient)

DisplayTrafficEncoders - Display traffic encoders map from server.

func FormatCompleter added in v1.6.0

func FormatCompleter() carapace.Action

FormatCompleter completes build formats.

func GenerateBeaconCmd added in v1.5.0

func GenerateBeaconCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

GenerateBeaconCmd - The main command used to generate implant binaries

func GenerateCmd

func GenerateCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

GenerateCmd - The main command used to generate implant binaries

func GenerateInfoCmd

func GenerateInfoCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

GenerateInfoCmd - Display information about the Sliver server's compiler configuration.

func GetImplantProfileByName

func GetImplantProfileByName(name string, con *console.SliverClient) *clientpb.ImplantProfile

GetImplantProfileByName - Get an implant profile by a specific name.

func GetSliverBinary

func GetSliverBinary(profile *clientpb.ImplantProfile, con *console.SliverClient) ([]byte, error)

GetSliverBinary - Get the binary of an implant based on it's profile.

func HTTPC2Completer added in v1.6.0

func HTTPC2Completer(con *console.SliverClient) carapace.Action

HTTPC2Completer - Completes the HTTP C2 PROFILES

func ImplantBuildByName added in v1.5.0

func ImplantBuildByName(name string, con *console.SliverClient) *clientpb.ImplantConfig

ImplantBuildByName - Get an implant build by name.

func ImplantBuildNameCompleter added in v1.5.0

func ImplantBuildNameCompleter(con *console.SliverClient) carapace.Action

ImplantBuildNameCompleter - Completer for implant build names.

func ImplantsCmd

func ImplantsCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

ImplantsCmd - Displays archived implant builds.

func ImplantsRmCmd

func ImplantsRmCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

ImplantsRmCmd - Deletes an archived implant build from the server.

func ImplantsStageCmd added in v1.6.0

func ImplantsStageCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

ImplantsStageCmd - Serve a previously generated build

func OSCompleter added in v1.6.0

func OSCompleter(con *console.SliverClient) carapace.Action

FormatCompleter completes build operating systems.

func ParseDNSc2 added in v1.5.0

func ParseDNSc2(args string) ([]*clientpb.ImplantC2, error)

ParseDNSc2 - Parse DNS connection string arg.

func ParseHTTPc2 added in v1.5.0

func ParseHTTPc2(args string) ([]*clientpb.ImplantC2, error)

ParseHTTPc2 - Parse HTTP connection string arg.

func ParseMTLSc2 added in v1.5.0

func ParseMTLSc2(args string) ([]*clientpb.ImplantC2, error)

ParseMTLSc2 - Parse mtls connection string arg.

func ParseNamedPipec2 added in v1.5.0

func ParseNamedPipec2(args string) ([]*clientpb.ImplantC2, error)

ParseNamedPipec2 - Parse named pipe connection string arg.

func ParseTCPPivotc2 added in v1.5.0

func ParseTCPPivotc2(args string) ([]*clientpb.ImplantC2, error)

ParseTCPPivotc2 - Parse tcp pivot connection string arg.

func ParseWGc2 added in v1.5.0

func ParseWGc2(args string) ([]*clientpb.ImplantC2, error)

ParseWGc2 - Parse wg connect string arg.

func PrintCanaries added in v1.5.0

func PrintCanaries(con *console.SliverClient, canaries []*clientpb.DNSCanary, burnedOnly bool)

PrintCanaries - Print the canaries tracked by the server.

func PrintImplantBuilds added in v1.5.0

func PrintImplantBuilds(builds *clientpb.ImplantBuilds, filters ImplantBuildFilter, con *console.SliverClient)

PrintImplantBuilds - Print the implant builds on the server

func PrintProfileInfo added in v1.6.0

func PrintProfileInfo(name string, con *console.SliverClient)

PrintProfileInfo - Print detailed information about a given profile.

func PrintProfiles added in v1.5.0

func PrintProfiles(profiles []*clientpb.ImplantProfile, con *console.SliverClient)

PrintProfiles - Print the profiles.

func ProfileNameCompleter added in v1.5.0

func ProfileNameCompleter(con *console.SliverClient) carapace.Action

ProfileNameCompleter - Completer for implant build names.

func ProfilesCmd

func ProfilesCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

ProfilesCmd - Display implant profiles.

func ProfilesGenerateCmd

func ProfilesGenerateCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

ProfilesGenerateCmd - Generate an implant binary based on a profile.

func ProfilesNewBeaconCmd added in v1.5.0

func ProfilesNewBeaconCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

ProfilesNewBeaconCmd - Create a new beacon profile.

func ProfilesNewCmd

func ProfilesNewCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

ProfilesNewCmd - Create a new implant profile.

func ProfilesRmCmd

func ProfilesRmCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

ProfilesRmCmd - Delete an implant profile.

func ProfilesStageCmd added in v1.6.0

func ProfilesStageCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

ProfilesStageCmd - Generate an encrypted/compressed implant binary based on a profile

func RegenerateCmd

func RegenerateCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

RegenerateCmd - Download an archived implant build/binary.

func SelectTrafficEncoder added in v1.6.0

func SelectTrafficEncoder(con *console.SliverClient) string

SelectTrafficEncoder - Select a traffic encoder from a list.

func TrafficEncodersAddCmd added in v1.6.0

func TrafficEncodersAddCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

TrafficEncodersAddCmd - Add a new traffic encoder to the server.

func TrafficEncodersCmd added in v1.6.0

func TrafficEncodersCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

TrafficEncodersCmd - Generate traffic encoders command implementation.

func TrafficEncodersCompleter added in v1.6.0

func TrafficEncodersCompleter(con *console.SliverClient) carapace.Action

TrafficEncoderCompleter - Completes the names of traffic encoders.

func TrafficEncodersRemoveCmd added in v1.6.0

func TrafficEncodersRemoveCmd(cmd *cobra.Command, con *console.SliverClient, args []string)

TrafficEncodersRemoveCmd - Remove a traffic encoder.

Types

type ImplantBuildFilter added in v1.5.0

type ImplantBuildFilter struct {
	GOOS    string
	GOARCH  string
	Beacon  bool
	Session bool
	Format  string
	Debug   bool
}

ImplantBuildFilter - Filter implant builds.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL