rpc

package
v1.0.12 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2024 License: GPL-3.0 Imports: 58 Imported by: 0

README

RPC

This package contains the RPC APIs. The RPC APIs are responsible for the majority of the server-side logic and are invoked either locally by the server console or remotely via a client binary connected via the transport package.

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 = errors.New("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

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

func Encrypt

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

func PortInUse

func PortInUse(newPort uint32) error

func RemoveBuildByName

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

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

func (*LogStream) Write

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

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

BuilderRegister - Register a new builder with the server

func (*Server) BuilderTrigger

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

BuilderTrigger - Trigger a builder event

func (*Server) Builders

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

Builders - Get a list of all builders

func (*Server) CallExtension

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

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

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

Chmod - Change permission on a file or directory

func (*Server) Chown

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

Chown - Change owner on a file or directory

func (*Server) Chtimes

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

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

ClientLogData - Send client console log data

func (*Server) CloseSession

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

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

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

Cp - Copy a file to another location

func (*Server) CrackFileChunkDownload

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

func (*Server) CrackFileChunkUpload

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

func (*Server) CrackFileComplete

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

func (*Server) CrackFileCreate

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

func (*Server) CrackFileDelete

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

func (*Server) CrackFilesList

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

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

func (*Server) CrackTaskUpdate

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

func (*Server) CrackstationBenchmark

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

func (*Server) CrackstationRegister

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

func (*Server) CrackstationTrigger

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

func (*Server) Crackstations

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

func (*Server) CreateSocks

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

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

func (*Server) CredsAdd

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

func (*Server) CredsRm

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

func (*Server) CredsSniffHashType

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

func (*Server) CredsUpdate

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

func (*Server) CurrentTokenOwner

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

CurrentTokenOwner - Retrieve the thread token's owner

func (*Server) DeleteImplantBuild

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

DeleteImplantBuild - Delete an implant build

func (*Server) DeleteImplantProfile

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

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

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

Generate - Generate a new implant

func (*Server) GenerateExternalGetBuildConfig

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

GenerateExternalGetImplantConfig - Get an implant config for external builder

func (*Server) GenerateExternalSaveBuild

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

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

GenerateStage - Generate a new stage

func (*Server) GenerateUniqueIP

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

GenerateUniqueIP - Wrapper around generate.GenerateUniqueIP

func (*Server) GenerateWGClientConfig

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

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

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

GetBeaconTaskContent - Get the content of a specific task

func (*Server) GetBeaconTasks

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

GetBeaconTasks - Get a list of tasks for a specific beacon

func (*Server) GetBeacons

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

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

func (*Server) GetCompiler

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

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

func (*Server) GetCredsByHashType

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

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

GetC2ProfileByName - Retrieve C2 Profile by name

func (*Server) GetHTTPC2Profiles

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

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

func (*Server) GetPrivs

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

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

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

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

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

Host - Host by ID

func (*Server) HostIOCRm

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

HostIOCRm - Remove a host from the database

func (*Server) HostRm

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

HostRm - Remove a host from the database

func (*Server) Hosts

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

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

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

ListExtensions lists the registered extensions

func (*Server) ListWasmExtensions

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

ListWasmExtensions - List registered wasm extensions

func (*Server) LootAdd

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

LootAdd - Add loot

func (*Server) LootAll

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

LootAll - Get a list of all loot

func (*Server) LootContent

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

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

LootRm - Remove loot

func (*Server) LootUpdate

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

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

MemfilesAdd - Add memfile

func (*Server) MemfilesList

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

MemfilesList - List memfiles

func (*Server) MemfilesRm

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

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

func (*Server) MonitorDelConfig

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

func (*Server) MonitorListConfig

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

func (*Server) MonitorStart

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

func (*Server) MonitorStop

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

func (*Server) Mount

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) MsfStage

func (rpc *Server) MsfStage(ctx context.Context, req *clientpb.MsfStagerReq) (*clientpb.MsfStager, error)

MsfStage - Generate a MSF compatible stage

func (*Server) Mv

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

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

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

PivotGraph - Return the server's pivot graph

func (*Server) PivotSessionListeners

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

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

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

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

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

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

RegisterExtension registers a new extension in the implant

func (*Server) RegisterWasmExtension

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

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

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

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

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

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

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

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

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

Rename - Rename a beacon/session

func (*Server) RestartJobs

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

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

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

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

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

func (*Server) Services

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

Services - List and control services

func (*Server) SetEnv

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

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

ShellcodeEncode - Encode a piece shellcode

func (*Server) ShellcodeEncoderMap

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

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.InvokeSpwnDllReq) (*sliverpb.SpawnDll, error)

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

func (*Server) StageImplantBuild

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

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

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

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

StartWGListener - Start a Wireguard listener

func (*Server) StopRportFwdListener

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

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

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

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

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

UnsetEnv - Set an environment variable

func (*Server) UpdateBeaconIntegrityInformation

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

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

WGAddForwarder - List wireguard forwarders

func (*Server) WGListSocksServers

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

func (*Server) WGStartPortForward

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

WGStartPortForward - Start a port forward

func (*Server) WGStartSocks

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

WGAddForwarder - Add a TCP forwarder

func (*Server) WGStopPortForward

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

WGStopPortForward - Stop a port forward

func (*Server) WGStopSocks

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

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