rpc

package
v1.6.6 Latest Latest
Warning

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

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

README

server/rpc

Overview

RPC server implementations and wiring. Boots gRPC servers, registers services, and manages middleware. Key routines cover RPC backdoor, RPC beacons, RPC C2 profile, and RPC certificates within the rpc subsystem.

Go Files

  • errors.go – Defines shared RPC error helpers and codes.
  • rpc-backdoor.go – Handles RPC endpoints for backdoor operations.
  • rpc-beacons.go – Implements beacon management RPCs.
  • rpc-c2profile.go – Serves C2 profile CRUD and generation requests.
  • rpc-certificates.go – Exposes certificate issuance and listing RPCs.
  • rpc-client-logs.go – Streams client log data via RPC.
  • rpc-crackstations.go – Manages crackstation nodes through RPC commands.
  • rpc-creds.go – Provides credential store RPC endpoints.
  • rpc-env.go – Handles environment variable get/set RPC calls.
  • rpc-events.go – Streams server events to clients.
  • rpc-execute.go – Executes commands/shellcode on implants via RPC.
  • rpc-extensions.go – Manages extension installation and invocation RPCs.
  • rpc-filesystem.go – Exposes filesystem operations over RPC.
  • rpc-generate.go – Drives payload/profile generation commands.
  • rpc-hijack.go – Handles DLL hijack RPC requests.
  • rpc-hosts.go – Offers host inventory RPCs.
  • rpc-jobs.go – Manages background job operations via RPC.
  • rpc-kill.go – Provides RPC to kill implants or sessions.
  • rpc-loot.go – Manages loot retrieval and updates.
  • rpc-monitor.go – Controls monitor job lifecycle through RPC.
  • rpc-msf.go – Bridges Metasploit integration RPC calls.
  • rpc-net.go – Delivers network info RPC responses.
  • rpc-operators.go – Operator management RPC endpoints.
  • rpc-ping.go – Implements ping RPC for reachability checks.
  • rpc-pivots.go – Handles pivot setup/teardown RPCs.
  • rpc-portfwd.go – Manages port-forward RPC operations.
  • rpc-priv.go – Runs privilege escalation RPC tasks.
  • rpc-process.go – Provides process listing/termination RPCs.
  • rpc-reconfig.go – Handles implant reconfiguration RPC actions.
  • rpc-registry.go – Exposes Windows registry RPC endpoints.
  • rpc-rportfwd.go – Manages reverse port forwarding RPC commands.
  • rpc-screenshot.go – Requests screenshots via RPC.
  • rpc-service.go – Controls service-related RPC calls.
  • rpc-sessions.go – Manages session lifecycle through RPC.
  • rpc-shell.go – Provides interactive shell RPC streaming.
  • rpc-shellcode.go – Executes raw shellcode over RPC.
  • rpc-socks.go – Controls SOCKS proxy operations via RPC.
  • rpc-stager.go – Handles stager delivery RPC endpoints.
  • rpc-tasks.go – Lists and cancels tasks through RPC.
  • rpc-tunnel.go – Manages tunnel creation and traffic forwarding RPCs.
  • rpc-wasm.go – Executes WASM modules via RPC interface.
  • rpc-website.go – Serves website management RPC functions.
  • rpc-wg.go – Manages WireGuard configuration via RPC.
  • rpc.go – Boots the RPC server and registers all service handlers.

Documentation

Index

Constants

View Source
const (
	DEFAULT_CHARACTERISTICS = 0x40000040
	SECTION_NAME            = 8
)

Variables

View Source
var (
	// ErrInvalidBeaconID - Invalid Beacon ID in request
	ErrInvalidBeaconID = status.Error(codes.InvalidArgument, "Invalid beacon ID")
	// ErrInvalidBeaconTaskID - Invalid Beacon ID in request
	ErrInvalidBeaconTaskID = status.Error(codes.InvalidArgument, "Invalid beacon task ID")

	// ErrInvalidSessionID - Invalid Session ID in request
	ErrInvalidSessionID = status.Error(codes.InvalidArgument, "Invalid session ID")

	// ErrMissingRequestField - Returned when a request does not contain a commonpb.Request
	ErrMissingRequestField = status.Error(codes.InvalidArgument, "Missing session request field")
	// ErrAsyncNotSupported - Unsupported mode / command type
	ErrAsyncNotSupported = status.Error(codes.Unavailable, "Async not supported for this command")
	// ErrDatabaseFailure - Generic database failure error (real error is logged)
	ErrDatabaseFailure = status.Error(codes.Internal, "Database operation failed")

	// ErrInvalidName - Invalid name
	ErrInvalidName = status.Error(codes.InvalidArgument, "Invalid session name, alphanumerics and _-. only")
	// ErrBuildExists
	ErrBuildExists = status.Error(codes.AlreadyExists, "Build already exists")

	ErrInvalidBeaconTaskCancelState = status.Error(codes.InvalidArgument, fmt.Sprintf("Invalid task state, must be '%s' to cancel", models.PENDING))
)
View Source
var (
	ErrInvalidCredID       = status.Errorf(codes.InvalidArgument, "Invalid credential ID")
	ErrCredNotFound        = status.Error(codes.NotFound, "Credential not found")
	ErrCredOperationFailed = status.Error(codes.Internal, "Credential operation failed")
)
View Source
var (
	// ErrInvalidPort - Invalid TCP port number
	ErrInvalidPort = status.Error(codes.InvalidArgument, "invalid listener port")
)
View Source
var (
	// ErrInvalidStreamName - Invalid stream name
	ErrInvalidStreamName = status.Error(codes.InvalidArgument, "Invalid stream name")
)
View Source
var (
	// ErrTunnelInitFailure - Returned when a tunnel cannot be initialized
	ErrTunnelInitFailure = status.Error(codes.Internal, "Failed to initialize tunnel")
)

Functions

func Compress added in v1.6.0

func Compress(stage2 []byte, compress string) ([]byte, error)

func Encrypt added in v1.6.0

func Encrypt(stage2 []byte, req *clientpb.GenerateStageReq) ([]byte, error)

func PortInUse added in v1.6.0

func PortInUse(newPort uint32) error

func RemoveBuildByName added in v1.6.0

func RemoveBuildByName(name string) error

Remove Implant build given the build name

Types

type ExportDirectory

type ExportDirectory struct {
	Characteristics       uint32
	TimeDateStamp         uint32
	MajorVersion          uint16
	MinorVersion          uint16
	Name                  uint32
	Base                  uint32
	NumberOfFunctions     uint32
	NumberOfNames         uint32
	AddressOfFunctions    uint32 // RVA from base of image
	AddressOfNames        uint32 // RVA from base of image
	AddressOfNameOrdinals uint32 // RVA from base of image
}

ExportDirectory - stores the Export data

type GenericRequest

type GenericRequest interface {
	Reset()
	String() string
	ProtoMessage()
	ProtoReflect() protoreflect.Message

	GetRequest() *commonpb.Request
}

GenericRequest - Generic request interface to use with generic handlers

type GenericResponse

type GenericResponse interface {
	Reset()
	String() string
	ProtoMessage()
	ProtoReflect() protoreflect.Message

	GetResponse() *commonpb.Response
}

GenericResponse - Generic response interface to use with generic handlers

type LogStream added in v1.6.0

type LogStream struct {
	// contains filtered or unexported fields
}

func (*LogStream) Write added in v1.6.0

func (l *LogStream) Write(data []byte) (int, error)

type Server

type Server struct {
	// Magical methods to break backwards compatibility
	// Here be dragons: https://github.com/grpc/grpc-go/issues/3794
	rpcpb.UnimplementedSliverRPCServer
}

Server - gRPC server

func NewServer

func NewServer() *Server

NewServer - Create new server instance

func (*Server) Backdoor

func (rpc *Server) Backdoor(ctx context.Context, req *clientpb.BackdoorReq) (*clientpb.Backdoor, error)

Backdoor - Inject a sliver payload in a file on the remote system

func (*Server) BuilderRegister added in v1.5.30

func (rpc *Server) BuilderRegister(req *clientpb.Builder, stream rpcpb.SliverRPC_BuilderRegisterServer) error

BuilderRegister - Register a new builder with the server

func (*Server) BuilderTrigger added in v1.5.30

func (rpc *Server) BuilderTrigger(ctx context.Context, req *clientpb.Event) (*commonpb.Empty, error)

BuilderTrigger - Trigger a builder event

func (*Server) Builders added in v1.5.30

func (rpc *Server) Builders(ctx context.Context, _ *commonpb.Empty) (*clientpb.Builders, error)

Builders - Get a list of all builders

func (*Server) CallExtension added in v1.5.0

func (rpc *Server) CallExtension(ctx context.Context, req *sliverpb.CallExtensionReq) (*sliverpb.CallExtension, error)

CallExtension calls a specific export of the loaded extension

func (*Server) Canaries

func (rpc *Server) Canaries(ctx context.Context, _ *commonpb.Empty) (*clientpb.Canaries, error)

Canaries - List existing canaries

func (*Server) CancelBeaconTask added in v1.5.25

func (rpc *Server) CancelBeaconTask(ctx context.Context, req *clientpb.BeaconTask) (*clientpb.BeaconTask, error)

CancelBeaconTask - Cancel a beacon task

func (*Server) Cd

func (rpc *Server) Cd(ctx context.Context, req *sliverpb.CdReq) (*sliverpb.Pwd, error)

Cd - Change directory

func (*Server) Chmod added in v1.5.37

func (rpc *Server) Chmod(ctx context.Context, req *sliverpb.ChmodReq) (*sliverpb.Chmod, error)

Chmod - Change permission on a file or directory

func (*Server) Chown added in v1.5.37

func (rpc *Server) Chown(ctx context.Context, req *sliverpb.ChownReq) (*sliverpb.Chown, error)

Chown - Change owner on a file or directory

func (*Server) Chtimes added in v1.5.37

func (rpc *Server) Chtimes(ctx context.Context, req *sliverpb.ChtimesReq) (*sliverpb.Chtimes, error)

Chtimes - Change file access and modification times on a file or directory

func (*Server) ClientLog added in v1.6.0

func (rpc *Server) ClientLog(stream rpcpb.SliverRPC_ClientLogServer) error

ClientLogData - Send client console log data

func (*Server) CloseSession added in v1.5.0

func (rpc *Server) CloseSession(ctx context.Context, closeSession *sliverpb.CloseSession) (*commonpb.Empty, error)

CloseSession - Close an interactive session, but do not kill the remote process

func (*Server) CloseSocks added in v1.5.0

func (s *Server) CloseSocks(ctx context.Context, req *sliverpb.Socks) (*commonpb.Empty, error)

CloseSocks - Client requests we close a Socks

func (*Server) CloseTunnel

func (s *Server) CloseTunnel(ctx context.Context, req *sliverpb.Tunnel) (*commonpb.Empty, error)

CloseTunnel - Client requests we close a tunnel

func (*Server) Cp added in v1.6.0

func (rpc *Server) Cp(ctx context.Context, req *sliverpb.CpReq) (*sliverpb.Cp, error)

Cp - Copy a file to another location

func (*Server) CrackFileChunkDownload added in v1.6.0

func (rpc *Server) CrackFileChunkDownload(ctx context.Context, req *clientpb.CrackFileChunk) (*clientpb.CrackFileChunk, error)

func (*Server) CrackFileChunkUpload added in v1.6.0

func (rpc *Server) CrackFileChunkUpload(ctx context.Context, req *clientpb.CrackFileChunk) (*commonpb.Empty, error)

func (*Server) CrackFileComplete added in v1.6.0

func (rpc *Server) CrackFileComplete(ctx context.Context, req *clientpb.CrackFile) (*commonpb.Empty, error)

func (*Server) CrackFileCreate added in v1.6.0

func (rpc *Server) CrackFileCreate(ctx context.Context, req *clientpb.CrackFile) (*clientpb.CrackFile, error)

func (*Server) CrackFileDelete added in v1.6.0

func (rpc *Server) CrackFileDelete(ctx context.Context, req *clientpb.CrackFile) (*commonpb.Empty, error)

func (*Server) CrackFilesList added in v1.6.0

func (rpc *Server) CrackFilesList(ctx context.Context, req *clientpb.CrackFile) (*clientpb.CrackFiles, error)

---------------------------------------------------------------------------------- CrackFile APIs - Synchronize wordlists, rules, etc. with all the crackstation(s) ----------------------------------------------------------------------------------

func (*Server) CrackTaskByID added in v1.6.0

func (rpc *Server) CrackTaskByID(ctx context.Context, req *clientpb.CrackTask) (*clientpb.CrackTask, error)

func (*Server) CrackTaskUpdate added in v1.6.0

func (rpc *Server) CrackTaskUpdate(ctx context.Context, req *clientpb.CrackTask) (*commonpb.Empty, error)

func (*Server) CrackstationBenchmark added in v1.6.0

func (rpc *Server) CrackstationBenchmark(ctx context.Context, req *clientpb.CrackBenchmark) (*commonpb.Empty, error)

func (*Server) CrackstationRegister added in v1.6.0

func (rpc *Server) CrackstationRegister(req *clientpb.Crackstation, stream rpcpb.SliverRPC_CrackstationRegisterServer) error

func (*Server) CrackstationTrigger added in v1.6.0

func (rpc *Server) CrackstationTrigger(ctx context.Context, req *clientpb.Event) (*commonpb.Empty, error)

func (*Server) Crackstations added in v1.6.0

func (rpc *Server) Crackstations(ctx context.Context, req *commonpb.Empty) (*clientpb.Crackstations, error)

func (*Server) CreateSocks added in v1.5.0

func (s *Server) CreateSocks(ctx context.Context, req *sliverpb.Socks) (*sliverpb.Socks, error)

CreateSocks5 - Create requests we close a Socks

func (*Server) CreateTunnel

func (s *Server) CreateTunnel(ctx context.Context, req *sliverpb.Tunnel) (*sliverpb.Tunnel, error)

CreateTunnel - Create a new tunnel on the server, however based on only this request there's

no way to associate the tunnel with the correct client, so the client must send
a zero-byte message over TunnelData to bind itself to the newly created tunnel.

func (*Server) Creds added in v1.6.0

func (rpc *Server) Creds(ctx context.Context, req *commonpb.Empty) (*clientpb.Credentials, error)

func (*Server) CredsAdd added in v1.6.0

func (rpc *Server) CredsAdd(ctx context.Context, req *clientpb.Credentials) (*commonpb.Empty, error)

func (*Server) CredsRm added in v1.6.0

func (rpc *Server) CredsRm(ctx context.Context, req *clientpb.Credentials) (*commonpb.Empty, error)

func (*Server) CredsSniffHashType added in v1.6.0

func (rpc *Server) CredsSniffHashType(ctx context.Context, req *clientpb.Credential) (*clientpb.Credential, error)

func (*Server) CredsUpdate added in v1.6.0

func (rpc *Server) CredsUpdate(ctx context.Context, req *clientpb.Credentials) (*commonpb.Empty, error)

func (*Server) CurrentTokenOwner added in v1.5.11

func (rpc *Server) CurrentTokenOwner(ctx context.Context, req *sliverpb.CurrentTokenOwnerReq) (*sliverpb.CurrentTokenOwner, error)

CurrentTokenOwner - Retrieve the thread token's owner

func (*Server) DeleteImplantBuild added in v1.2.0

func (rpc *Server) DeleteImplantBuild(ctx context.Context, req *clientpb.DeleteReq) (*commonpb.Empty, error)

DeleteImplantBuild - Delete an implant build

func (*Server) DeleteImplantProfile added in v1.2.0

func (rpc *Server) DeleteImplantProfile(ctx context.Context, req *clientpb.DeleteReq) (*commonpb.Empty, error)

DeleteImplantProfile - Delete an implant profile

func (*Server) Download

func (rpc *Server) Download(ctx context.Context, req *sliverpb.DownloadReq) (*sliverpb.Download, error)

Download - Download a file from the remote file system

func (*Server) Events

func (rpc *Server) Events(_ *commonpb.Empty, stream rpcpb.SliverRPC_EventsServer) error

Events - Stream events to client

func (*Server) ExecWasmExtension added in v1.6.0

func (rpc *Server) ExecWasmExtension(ctx context.Context, req *sliverpb.ExecWasmExtensionReq) (*sliverpb.ExecWasmExtension, error)

ExecWasmExtension - Execute a wasm extension

func (*Server) Execute

func (rpc *Server) Execute(ctx context.Context, req *sliverpb.ExecuteReq) (*sliverpb.Execute, error)

Execute - Execute a remote process

func (*Server) ExecuteAssembly

func (rpc *Server) ExecuteAssembly(ctx context.Context, req *sliverpb.ExecuteAssemblyReq) (*sliverpb.ExecuteAssembly, error)

ExecuteAssembly - Execute a .NET assembly on the remote system in-memory (Windows only)

func (*Server) ExecuteWindows added in v1.5.23

func (rpc *Server) ExecuteWindows(ctx context.Context, req *sliverpb.ExecuteWindowsReq) (*sliverpb.Execute, error)

ExecuteWindows - Execute a remote process with specific options (PPID, Token, windows only)

func (*Server) Generate

func (rpc *Server) Generate(ctx context.Context, req *clientpb.GenerateReq) (*clientpb.Generate, error)

Generate - Generate a new implant

func (*Server) GenerateExternal added in v1.5.27

Generate - Generate a new implant

func (*Server) GenerateExternalGetBuildConfig added in v1.6.0

func (rpc *Server) GenerateExternalGetBuildConfig(ctx context.Context, req *clientpb.ImplantBuild) (*clientpb.ExternalImplantConfig, error)

GenerateExternalGetImplantConfig - Get an implant config for external builder

func (*Server) GenerateExternalSaveBuild added in v1.5.27

func (rpc *Server) GenerateExternalSaveBuild(ctx context.Context, req *clientpb.ExternalImplantBinary) (*commonpb.Empty, error)

GenerateExternalSaveBuild - Allows an external builder to save the build to the server

func (*Server) GenerateStage added in v1.6.0

func (rpc *Server) GenerateStage(ctx context.Context, req *clientpb.GenerateStageReq) (*clientpb.Generate, error)

GenerateStage - Generate a new stage

func (*Server) GenerateUniqueIP added in v1.4.9

func (rpc *Server) GenerateUniqueIP(ctx context.Context, _ *commonpb.Empty) (*clientpb.UniqueWGIP, error)

GenerateUniqueIP - Wrapper around generate.GenerateUniqueIP

func (*Server) GenerateWGClientConfig added in v1.4.11

func (rpc *Server) GenerateWGClientConfig(ctx context.Context, _ *commonpb.Empty) (*clientpb.WGClientConfig, error)

GenerateWGClientConfig - Generate a client config for a WG interface

func (*Server) GenericHandler

func (rpc *Server) GenericHandler(req GenericRequest, resp GenericResponse) error

GenericHandler - Pass the request to the Sliver/Session

func (*Server) GetBeacon added in v1.5.0

func (rpc *Server) GetBeacon(ctx context.Context, req *clientpb.Beacon) (*clientpb.Beacon, error)

GetBeacon - Get a list of beacons from the database

func (*Server) GetBeaconTaskContent added in v1.5.0

func (rpc *Server) GetBeaconTaskContent(ctx context.Context, req *clientpb.BeaconTask) (*clientpb.BeaconTask, error)

GetBeaconTaskContent - Get the content of a specific task

func (*Server) GetBeaconTasks added in v1.5.0

func (rpc *Server) GetBeaconTasks(ctx context.Context, req *clientpb.Beacon) (*clientpb.BeaconTasks, error)

GetBeaconTasks - Get a list of tasks for a specific beacon

func (*Server) GetBeacons added in v1.5.0

func (rpc *Server) GetBeacons(ctx context.Context, req *commonpb.Empty) (*clientpb.Beacons, error)

GetBeacons - Get a list of beacons from the database

func (*Server) GetCertificateInfo added in v1.6.0

func (rpc *Server) GetCertificateInfo(ctx context.Context, req *clientpb.CertificatesReq) (*clientpb.CertificateInfo, error)

func (*Server) GetCompiler added in v1.4.18

func (rpc *Server) GetCompiler(ctx context.Context, _ *commonpb.Empty) (*clientpb.Compiler, error)

GetCompiler - Get information about the internal Go compiler and its configuration

func (*Server) GetCredByID added in v1.6.0

func (rpc *Server) GetCredByID(ctx context.Context, req *clientpb.Credential) (*clientpb.Credential, error)

func (*Server) GetCredsByHashType added in v1.6.0

func (rpc *Server) GetCredsByHashType(ctx context.Context, req *clientpb.Credential) (*clientpb.Credentials, error)

func (*Server) GetEnv

func (rpc *Server) GetEnv(ctx context.Context, req *sliverpb.EnvReq) (*sliverpb.EnvInfo, error)

GetEnv - Retrieve the environment variables list from the current session

func (*Server) GetHTTPC2ProfileByName added in v1.6.0

func (rpc *Server) GetHTTPC2ProfileByName(ctx context.Context, req *clientpb.C2ProfileReq) (*clientpb.HTTPC2Config, error)

GetC2ProfileByName - Retrieve C2 Profile by name

func (*Server) GetHTTPC2Profiles added in v1.6.0

func (rpc *Server) GetHTTPC2Profiles(ctx context.Context, req *commonpb.Empty) (*clientpb.HTTPC2Configs, error)

GetC2Profiles - Retrieve C2 Profile names and id's

func (*Server) GetJobs

func (rpc *Server) GetJobs(ctx context.Context, _ *commonpb.Empty) (*clientpb.Jobs, error)

GetJobs - List jobs

func (*Server) GetOperators

func (s *Server) GetOperators(ctx context.Context, _ *commonpb.Empty) (*clientpb.Operators, error)

GetOperators - Get a list of operators

func (*Server) GetPlaintextCredsByHashType added in v1.6.0

func (rpc *Server) GetPlaintextCredsByHashType(ctx context.Context, req *clientpb.Credential) (*clientpb.Credentials, error)

func (*Server) GetPrivs added in v1.4.21

func (rpc *Server) GetPrivs(ctx context.Context, req *sliverpb.GetPrivsReq) (*sliverpb.GetPrivs, error)

GetPrivs - gRPC interface to get privilege information from the current process

func (*Server) GetRportFwdListeners added in v1.5.27

func (rpc *Server) GetRportFwdListeners(ctx context.Context, req *sliverpb.RportFwdListenersReq) (*sliverpb.RportFwdListeners, error)

GetRportFwdListeners - Get a list of all reverse port forwards listeners from an implant

func (*Server) GetSessions

func (rpc *Server) GetSessions(ctx context.Context, _ *commonpb.Empty) (*clientpb.Sessions, error)

GetSessions - Get a list of sessions

func (*Server) GetSystem

func (rpc *Server) GetSystem(ctx context.Context, req *clientpb.GetSystemReq) (*sliverpb.GetSystem, error)

GetSystem - Attempt to get 'NT AUTHORITY/SYSTEM' access on a remote Windows system

func (*Server) GetVersion

func (rpc *Server) GetVersion(ctx context.Context, _ *commonpb.Empty) (*clientpb.Version, error)

GetVersion - Get the server version

func (*Server) Grep added in v1.6.0

func (rpc *Server) Grep(ctx context.Context, req *sliverpb.GrepReq) (*sliverpb.Grep, error)

Grep - Search a file or directory for text matching a regex

func (*Server) HijackDLL added in v1.4.20

func (rpc *Server) HijackDLL(ctx context.Context, req *clientpb.DllHijackReq) (*clientpb.DllHijack, error)

HijackDLL - RPC call to automatically perform DLL hijacking attacks

func (*Server) Host added in v1.5.0

func (rpc *Server) Host(ctx context.Context, req *clientpb.Host) (*clientpb.Host, error)

Host - Host by ID

func (*Server) HostIOCRm added in v1.5.0

func (rpc *Server) HostIOCRm(ctx context.Context, req *clientpb.IOC) (*commonpb.Empty, error)

HostIOCRm - Remove a host from the database

func (*Server) HostRm added in v1.5.0

func (rpc *Server) HostRm(ctx context.Context, req *clientpb.Host) (*commonpb.Empty, error)

HostRm - Remove a host from the database

func (*Server) Hosts added in v1.5.0

func (rpc *Server) Hosts(ctx context.Context, _ *commonpb.Empty) (*clientpb.AllHosts, error)

Hosts - List all hosts

func (*Server) Ifconfig

func (rpc *Server) Ifconfig(ctx context.Context, req *sliverpb.IfconfigReq) (*sliverpb.Ifconfig, error)

Ifconfig - Get remote interface configurations

func (*Server) Impersonate

func (rpc *Server) Impersonate(ctx context.Context, req *sliverpb.ImpersonateReq) (*sliverpb.Impersonate, error)

Impersonate - Impersonate a remote user

func (*Server) ImplantBuilds

func (rpc *Server) ImplantBuilds(ctx context.Context, _ *commonpb.Empty) (*clientpb.ImplantBuilds, error)

ImplantBuilds - List existing implant builds

func (*Server) ImplantProfiles

func (rpc *Server) ImplantProfiles(ctx context.Context, _ *commonpb.Empty) (*clientpb.ImplantProfiles, error)

ImplantProfiles - List profiles

func (*Server) Kill added in v1.5.0

func (rpc *Server) Kill(ctx context.Context, kill *sliverpb.KillReq) (*commonpb.Empty, error)

Kill - Kill the implant process

func (*Server) KillJob

func (rpc *Server) KillJob(ctx context.Context, kill *clientpb.KillJobReq) (*clientpb.KillJob, error)

KillJob - Kill a server-side job

func (*Server) KillSession

func (rpc *Server) KillSession(ctx context.Context, kill *sliverpb.KillReq) (*commonpb.Empty, error)

KillSession - Kill a session

func (*Server) ListExtensions added in v1.5.0

func (rpc *Server) ListExtensions(ctx context.Context, req *sliverpb.ListExtensionsReq) (*sliverpb.ListExtensions, error)

ListExtensions lists the registered extensions

func (*Server) ListWasmExtensions added in v1.6.0

func (rpc *Server) ListWasmExtensions(ctx context.Context, req *sliverpb.ListWasmExtensionsReq) (*sliverpb.ListWasmExtensions, error)

ListWasmExtensions - List registered wasm extensions

func (*Server) LootAdd added in v1.4.18

func (rpc *Server) LootAdd(ctx context.Context, lootReq *clientpb.Loot) (*clientpb.Loot, error)

LootAdd - Add loot

func (*Server) LootAll added in v1.4.18

func (rpc *Server) LootAll(ctx context.Context, _ *commonpb.Empty) (*clientpb.AllLoot, error)

LootAll - Get a list of all loot

func (*Server) LootContent added in v1.4.18

func (rpc *Server) LootContent(ctx context.Context, lootReq *clientpb.Loot) (*clientpb.Loot, error)

LootContent - Get a list of all loot of a specific type

func (*Server) LootRm added in v1.4.18

func (rpc *Server) LootRm(ctx context.Context, lootReq *clientpb.Loot) (*commonpb.Empty, error)

LootRm - Remove loot

func (*Server) LootUpdate added in v1.4.18

func (rpc *Server) LootUpdate(ctx context.Context, lootReq *clientpb.Loot) (*clientpb.Loot, error)

LootUpdate - Update loot metadata

func (*Server) Ls

func (rpc *Server) Ls(ctx context.Context, req *sliverpb.LsReq) (*sliverpb.Ls, error)

Ls - List a directory

func (*Server) MakeToken

func (rpc *Server) MakeToken(ctx context.Context, req *sliverpb.MakeTokenReq) (*sliverpb.MakeToken, error)

MakeToken - Creates a new logon session to impersonate a user based on its credentials.

func (*Server) MemfilesAdd added in v1.5.40

func (rpc *Server) MemfilesAdd(ctx context.Context, req *sliverpb.MemfilesAddReq) (*sliverpb.MemfilesAdd, error)

MemfilesAdd - Add memfile

func (*Server) MemfilesList added in v1.5.40

func (rpc *Server) MemfilesList(ctx context.Context, req *sliverpb.MemfilesListReq) (*sliverpb.Ls, error)

MemfilesList - List memfiles

func (*Server) MemfilesRm added in v1.5.40

func (rpc *Server) MemfilesRm(ctx context.Context, req *sliverpb.MemfilesRmReq) (*sliverpb.MemfilesRm, error)

MemfilesRm - Close memfile

func (*Server) Migrate

func (rpc *Server) Migrate(ctx context.Context, req *clientpb.MigrateReq) (*sliverpb.Migrate, error)

Migrate - Migrate to a new process on the remote system (Windows only)

func (*Server) Mkdir

func (rpc *Server) Mkdir(ctx context.Context, req *sliverpb.MkdirReq) (*sliverpb.Mkdir, error)

Mkdir - Make a directory

func (*Server) MonitorAddConfig added in v1.6.0

func (rpc *Server) MonitorAddConfig(ctx context.Context, m *clientpb.MonitoringProvider) (*commonpb.Response, error)

func (*Server) MonitorDelConfig added in v1.6.0

func (rpc *Server) MonitorDelConfig(ctx context.Context, m *clientpb.MonitoringProvider) (*commonpb.Response, error)

func (*Server) MonitorListConfig added in v1.6.0

func (rpc *Server) MonitorListConfig(ctx context.Context, _ *commonpb.Empty) (*clientpb.MonitoringProviders, error)

func (*Server) MonitorStart added in v1.4.17

func (rpc *Server) MonitorStart(ctx context.Context, _ *commonpb.Empty) (*commonpb.Response, error)

func (*Server) MonitorStop added in v1.4.17

func (rpc *Server) MonitorStop(ctx context.Context, _ *commonpb.Empty) (*commonpb.Empty, error)

func (*Server) Mount added in v1.6.0

func (rpc *Server) Mount(ctx context.Context, req *sliverpb.MountReq) (*sliverpb.Mount, error)

Mount - Get information on mounted filesystems

func (*Server) Msf

func (rpc *Server) Msf(ctx context.Context, req *clientpb.MSFReq) (*sliverpb.Task, error)

Msf - Helper function to execute MSF payloads on the remote system

func (*Server) MsfRemote

func (rpc *Server) MsfRemote(ctx context.Context, req *clientpb.MSFRemoteReq) (*sliverpb.Task, error)

MsfRemote - Inject an MSF payload into a remote process

func (*Server) Mv added in v1.5.10

func (rpc *Server) Mv(ctx context.Context, req *sliverpb.MvReq) (*sliverpb.Mv, error)

Mv - Move or rename a file

func (*Server) Netstat

func (rpc *Server) Netstat(ctx context.Context, req *sliverpb.NetstatReq) (*sliverpb.Netstat, error)

Netstat - List network connections on the remote system

func (*Server) OpenSession added in v1.5.0

func (rpc *Server) OpenSession(ctx context.Context, openSession *sliverpb.OpenSession) (*sliverpb.OpenSession, error)

OpenSession - Instruct beacon to open a new session on next checkin

func (*Server) Ping

func (rpc *Server) Ping(ctx context.Context, req *sliverpb.Ping) (*sliverpb.Ping, error)

Ping - Try to send a round trip message to the implant

func (*Server) PivotGraph added in v1.5.0

func (rpc *Server) PivotGraph(ctx context.Context, req *commonpb.Empty) (*clientpb.PivotGraph, error)

PivotGraph - Return the server's pivot graph

func (*Server) PivotSessionListeners added in v1.5.0

func (rpc *Server) PivotSessionListeners(ctx context.Context, req *sliverpb.PivotListenersReq) (*sliverpb.PivotListeners, error)

PivotSessionListeners - Get a list of all pivot listeners from an implant

func (*Server) PivotStartListener added in v1.5.0

func (rpc *Server) PivotStartListener(ctx context.Context, req *sliverpb.PivotStartListenerReq) (*sliverpb.PivotListener, error)

PivotStartListener - Instruct the implant to start a pivot listener

func (*Server) PivotStopListener added in v1.5.0

func (rpc *Server) PivotStopListener(ctx context.Context, req *sliverpb.PivotStopListenerReq) (*commonpb.Empty, error)

PivotStopListener - Instruct the implant to stop a pivot listener

func (*Server) Portfwd added in v1.4.12

func (s *Server) Portfwd(ctx context.Context, req *sliverpb.PortfwdReq) (*sliverpb.Portfwd, error)

Portfwd - Open an in-band port forward

func (*Server) ProcessDump

func (rpc *Server) ProcessDump(ctx context.Context, req *sliverpb.ProcessDumpReq) (*sliverpb.ProcessDump, error)

ProcessDump - Dump the memory of a remote process

func (*Server) Ps

func (rpc *Server) Ps(ctx context.Context, req *sliverpb.PsReq) (*sliverpb.Ps, error)

Ps - List the processes on the remote machine

func (*Server) Pwd

func (rpc *Server) Pwd(ctx context.Context, req *sliverpb.PwdReq) (*sliverpb.Pwd, error)

Pwd - Print working directory

func (*Server) Reconfigure added in v1.5.5

func (rpc *Server) Reconfigure(ctx context.Context, req *sliverpb.ReconfigureReq) (*sliverpb.Reconfigure, error)

Reconfigure - Reconfigure a beacon/session

func (*Server) Regenerate

func (rpc *Server) Regenerate(ctx context.Context, req *clientpb.RegenerateReq) (*clientpb.Generate, error)

Regenerate - Regenerate a previously generated implant

func (*Server) RegisterExtension added in v1.5.0

func (rpc *Server) RegisterExtension(ctx context.Context, req *sliverpb.RegisterExtensionReq) (*sliverpb.RegisterExtension, error)

RegisterExtension registers a new extension in the implant

func (*Server) RegisterWasmExtension added in v1.6.0

func (rpc *Server) RegisterWasmExtension(ctx context.Context, req *sliverpb.RegisterWasmExtensionReq) (*sliverpb.RegisterWasmExtension, error)

RegisterWasmExtension - Register a new wasm extension with the implant

func (*Server) RegistryCreateKey added in v1.4.4

func (rpc *Server) RegistryCreateKey(ctx context.Context, req *sliverpb.RegistryCreateKeyReq) (*sliverpb.RegistryCreateKey, error)

RegistryCreateKey - gRPC interface to create a registry key on a session

func (*Server) RegistryDeleteKey added in v1.5.0

func (rpc *Server) RegistryDeleteKey(ctx context.Context, req *sliverpb.RegistryDeleteKeyReq) (*sliverpb.RegistryDeleteKey, error)

RegistryDeleteKey - gRPC interface to delete a registry key on a session

func (*Server) RegistryListSubKeys added in v1.4.21

func (rpc *Server) RegistryListSubKeys(ctx context.Context, req *sliverpb.RegistrySubKeyListReq) (*sliverpb.RegistrySubKeyList, error)

RegistryListSubKeys - gRPC interface to list the sub keys of a registry key

func (*Server) RegistryListValues added in v1.4.21

func (rpc *Server) RegistryListValues(ctx context.Context, req *sliverpb.RegistryListValuesReq) (*sliverpb.RegistryValuesList, error)

RegistryListSubKeys - gRPC interface to list the sub keys of a registry key

func (*Server) RegistryRead added in v1.4.4

func (rpc *Server) RegistryRead(ctx context.Context, req *sliverpb.RegistryReadReq) (*sliverpb.RegistryRead, error)

RegistryRead - gRPC interface to read a registry key from a session

func (*Server) RegistryReadHive added in v1.6.0

func (rpc *Server) RegistryReadHive(ctx context.Context, req *sliverpb.RegistryReadHiveReq) (*sliverpb.RegistryReadHive, error)

RegistryDumpHive - gRPC interface to dump a specific registry hive as a binary file

func (*Server) RegistryWrite added in v1.4.4

func (rpc *Server) RegistryWrite(ctx context.Context, req *sliverpb.RegistryWriteReq) (*sliverpb.RegistryWrite, error)

RegistryWrite - gRPC interface to write to a registry key on a session

func (*Server) RemoveService

func (rpc *Server) RemoveService(ctx context.Context, req *sliverpb.RemoveServiceReq) (*sliverpb.ServiceInfo, error)

RemoveService deletes a service from the remote system

func (*Server) Rename added in v1.5.5

func (rpc *Server) Rename(ctx context.Context, req *clientpb.RenameReq) (*commonpb.Empty, error)

Rename - Rename a beacon/session

func (*Server) RestartJobs added in v1.6.0

func (rpc *Server) RestartJobs(ctx context.Context, restartJobReq *clientpb.RestartJobReq) (*commonpb.Empty, error)

Restart Jobs - Reload jobs

func (*Server) RevToSelf

func (rpc *Server) RevToSelf(ctx context.Context, req *sliverpb.RevToSelfReq) (*sliverpb.RevToSelf, error)

RevToSelf - Revert process context to self

func (*Server) Rm

func (rpc *Server) Rm(ctx context.Context, req *sliverpb.RmReq) (*sliverpb.Rm, error)

Rm - Remove file or directory

func (*Server) RmBeacon added in v1.5.0

func (rpc *Server) RmBeacon(ctx context.Context, req *clientpb.Beacon) (*commonpb.Empty, error)

RmBeacon - Delete a beacon and any related tasks

func (*Server) RunAs

func (rpc *Server) RunAs(ctx context.Context, req *sliverpb.RunAsReq) (*sliverpb.RunAs, error)

RunAs - Run a remote process as a specific user

func (*Server) RunSSHCommand added in v1.4.18

func (rpc *Server) RunSSHCommand(ctx context.Context, req *sliverpb.SSHCommandReq) (*sliverpb.SSHCommand, error)

RunSSHCommand runs a SSH command using the client built into the implant

func (*Server) SaveHTTPC2Profile added in v1.6.0

func (rpc *Server) SaveHTTPC2Profile(ctx context.Context, req *clientpb.HTTPC2ConfigReq) (*commonpb.Empty, error)

Save HTTP C2 Profile

func (*Server) SaveImplantProfile

func (rpc *Server) SaveImplantProfile(ctx context.Context, profile *clientpb.ImplantProfile) (*clientpb.ImplantProfile, error)

SaveImplantProfile - Save a new profile

func (*Server) Screenshot

func (rpc *Server) Screenshot(ctx context.Context, req *sliverpb.ScreenshotReq) (*sliverpb.Screenshot, error)

Screenshot - Take a screenshot of the remote system

func (*Server) ServiceDetail added in v1.6.0

func (rpc *Server) ServiceDetail(ctx context.Context, req *sliverpb.ServiceDetailReq) (*sliverpb.ServiceDetail, error)

func (*Server) Services added in v1.6.0

func (rpc *Server) Services(ctx context.Context, req *sliverpb.ServicesReq) (*sliverpb.Services, error)

Services - List and control services

func (*Server) SetEnv added in v1.4.2

func (rpc *Server) SetEnv(ctx context.Context, req *sliverpb.SetEnvReq) (*sliverpb.SetEnv, error)

SetEnv - Set an environment variable

func (*Server) Shell

func (rpc *Server) Shell(ctx context.Context, req *sliverpb.ShellReq) (*sliverpb.Shell, error)

Shell - Open an interactive shell

func (*Server) ShellcodeEncoder added in v1.5.23

func (rpc *Server) ShellcodeEncoder(ctx context.Context, req *clientpb.ShellcodeEncodeReq) (*clientpb.ShellcodeEncode, error)

ShellcodeEncode - Encode a piece shellcode

func (*Server) ShellcodeEncoderMap added in v1.5.23

func (rpc *Server) ShellcodeEncoderMap(ctx context.Context, _ *commonpb.Empty) (*clientpb.ShellcodeEncoderMap, error)

ShellcodeEncoderMap - Get a map of support shellcode encoders <human readable/enum>

func (*Server) ShellcodeRDI

func (rpc *Server) ShellcodeRDI(ctx context.Context, req *clientpb.ShellcodeRDIReq) (*clientpb.ShellcodeRDI, error)

ShellcodeRDI - Generates a RDI shellcode from a given DLL

func (*Server) Sideload

func (rpc *Server) Sideload(ctx context.Context, req *sliverpb.SideloadReq) (*sliverpb.Sideload, error)

Sideload - Sideload a DLL on the remote system (Windows only)

func (*Server) SocksProxy added in v1.5.0

func (s *Server) SocksProxy(stream rpcpb.SliverRPC_SocksProxyServer) error

Socks - Open an in-band port forward

func (*Server) SpawnDll

func (rpc *Server) SpawnDll(ctx context.Context, req *sliverpb.InvokeSpawnDllReq) (*sliverpb.SpawnDll, error)

SpawnDll - Spawn a DLL on the remote system (Windows only)

func (*Server) StageImplantBuild added in v1.6.0

func (rpc *Server) StageImplantBuild(ctx context.Context, req *clientpb.ImplantStageReq) (*commonpb.Empty, error)

StageImplantBuild - Serve a previously generated build

func (*Server) StartDNSListener

func (rpc *Server) StartDNSListener(ctx context.Context, req *clientpb.DNSListenerReq) (*clientpb.ListenerJob, error)

StartDNSListener - Start a DNS listener TODO: respect request's Host specification

func (*Server) StartHTTPListener

func (rpc *Server) StartHTTPListener(ctx context.Context, req *clientpb.HTTPListenerReq) (*clientpb.ListenerJob, error)

StartHTTPListener - Start an HTTP listener

func (*Server) StartHTTPSListener

func (rpc *Server) StartHTTPSListener(ctx context.Context, req *clientpb.HTTPListenerReq) (*clientpb.ListenerJob, error)

StartHTTPSListener - Start an HTTPS listener

func (*Server) StartMTLSListener

func (rpc *Server) StartMTLSListener(ctx context.Context, req *clientpb.MTLSListenerReq) (*clientpb.ListenerJob, error)

StartMTLSListener - Start an MTLS listener

func (*Server) StartRportFwdListener added in v1.5.27

func (rpc *Server) StartRportFwdListener(ctx context.Context, req *sliverpb.RportFwdStartListenerReq) (*sliverpb.RportFwdListener, error)

StartRportfwdListener - Instruct the implant to start a reverse port forward

func (*Server) StartService

func (rpc *Server) StartService(ctx context.Context, req *sliverpb.StartServiceReq) (*sliverpb.ServiceInfo, error)

StartService creates and starts a Windows service on a remote host

func (*Server) StartServiceByName added in v1.6.0

func (rpc *Server) StartServiceByName(ctx context.Context, req *sliverpb.StartServiceByNameReq) (*sliverpb.ServiceInfo, error)

func (*Server) StartTCPStagerListener

func (rpc *Server) StartTCPStagerListener(ctx context.Context, req *clientpb.StagerListenerReq) (*clientpb.StagerListener, error)

StartTCPStagerListener starts a TCP stager listener

func (*Server) StartWGListener added in v1.4.9

func (rpc *Server) StartWGListener(ctx context.Context, req *clientpb.WGListenerReq) (*clientpb.ListenerJob, error)

StartWGListener - Start a Wireguard listener

func (*Server) StopRportFwdListener added in v1.5.27

func (rpc *Server) StopRportFwdListener(ctx context.Context, req *sliverpb.RportFwdStopListenerReq) (*sliverpb.RportFwdListener, error)

StopRportfwdListener - Instruct the implant to stop a reverse port forward

func (*Server) StopService

func (rpc *Server) StopService(ctx context.Context, req *sliverpb.StopServiceReq) (*sliverpb.ServiceInfo, error)

StopService stops a remote service

func (*Server) Task

func (rpc *Server) Task(ctx context.Context, req *sliverpb.TaskReq) (*sliverpb.Task, error)

Task - Execute shellcode in-memory

func (*Server) Terminate

func (rpc *Server) Terminate(ctx context.Context, req *sliverpb.TerminateReq) (*sliverpb.Terminate, error)

Terminate - Terminate a remote process

func (*Server) TrafficEncoderAdd added in v1.6.0

func (rpc *Server) TrafficEncoderAdd(ctx context.Context, req *clientpb.TrafficEncoder) (*clientpb.TrafficEncoderTests, error)

TrafficEncoderAdd - Add a new traffic encoder, and test for correctness

func (*Server) TrafficEncoderMap added in v1.6.0

func (rpc *Server) TrafficEncoderMap(ctx context.Context, _ *commonpb.Empty) (*clientpb.TrafficEncoderMap, error)

TrafficEncoderMap - Get a map of the server's traffic encoders

func (*Server) TrafficEncoderRm added in v1.6.0

func (rpc *Server) TrafficEncoderRm(ctx context.Context, req *clientpb.TrafficEncoder) (*commonpb.Empty, error)

TrafficEncoderRm - Remove a traffic encoder

func (*Server) TunnelData

func (s *Server) TunnelData(stream rpcpb.SliverRPC_TunnelDataServer) error

TunnelData - Streams tunnel data back and forth from the client<->server<->implant

func (*Server) UnsetEnv added in v1.4.15

func (rpc *Server) UnsetEnv(ctx context.Context, req *sliverpb.UnsetEnvReq) (*sliverpb.UnsetEnv, error)

UnsetEnv - Set an environment variable

func (*Server) UpdateBeaconIntegrityInformation added in v1.6.0

func (rpc *Server) UpdateBeaconIntegrityInformation(ctx context.Context, req *clientpb.BeaconIntegrity) (*commonpb.Empty, error)

UpdateBeaconIntegrityInformation - Update process integrity information for a beacon

func (*Server) Upload

func (rpc *Server) Upload(ctx context.Context, req *sliverpb.UploadReq) (*sliverpb.Upload, error)

Upload - Upload a file from the remote file system

func (*Server) WGListForwarders added in v1.4.12

func (rpc *Server) WGListForwarders(ctx context.Context, req *sliverpb.WGTCPForwardersReq) (*sliverpb.WGTCPForwarders, error)

WGAddForwarder - List wireguard forwarders

func (*Server) WGListSocksServers added in v1.4.12

func (rpc *Server) WGListSocksServers(ctx context.Context, req *sliverpb.WGSocksServersReq) (*sliverpb.WGSocksServers, error)

func (*Server) WGStartPortForward added in v1.4.12

func (rpc *Server) WGStartPortForward(ctx context.Context, req *sliverpb.WGPortForwardStartReq) (*sliverpb.WGPortForward, error)

WGStartPortForward - Start a port forward

func (*Server) WGStartSocks added in v1.4.12

func (rpc *Server) WGStartSocks(ctx context.Context, req *sliverpb.WGSocksStartReq) (*sliverpb.WGSocks, error)

WGAddForwarder - Add a TCP forwarder

func (*Server) WGStopPortForward added in v1.4.12

func (rpc *Server) WGStopPortForward(ctx context.Context, req *sliverpb.WGPortForwardStopReq) (*sliverpb.WGPortForward, error)

WGStopPortForward - Stop a port forward

func (*Server) WGStopSocks added in v1.4.12

func (rpc *Server) WGStopSocks(ctx context.Context, req *sliverpb.WGSocksStopReq) (*sliverpb.WGSocks, error)

WGStopForwarder - Stop a TCP forwarder

func (*Server) Website

func (rpc *Server) Website(ctx context.Context, req *clientpb.Website) (*clientpb.Website, error)

Website - Get one website

func (*Server) WebsiteAddContent

func (rpc *Server) WebsiteAddContent(ctx context.Context, req *clientpb.WebsiteAddContent) (*clientpb.Website, error)

WebsiteAddContent - Add content to a website, the website is created if `name` does not exist

func (*Server) WebsiteRemove

func (rpc *Server) WebsiteRemove(ctx context.Context, req *clientpb.Website) (*commonpb.Empty, error)

WebsiteRemove - Delete an entire website

func (*Server) WebsiteRemoveContent

func (rpc *Server) WebsiteRemoveContent(ctx context.Context, req *clientpb.WebsiteRemoveContent) (*clientpb.Website, error)

WebsiteRemoveContent - Remove specific content from a website

func (*Server) WebsiteUpdateContent added in v1.2.0

func (rpc *Server) WebsiteUpdateContent(ctx context.Context, req *clientpb.WebsiteAddContent) (*clientpb.Website, error)

WebsiteUpdateContent - Update specific content from a website, currently you can only the update Content-type field

func (*Server) Websites

func (rpc *Server) Websites(ctx context.Context, _ *commonpb.Empty) (*clientpb.Websites, error)

Websites - List existing websites

Jump to

Keyboard shortcuts

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