Documentation ¶
Index ¶
- Variables
- type ExportDirectory
- type GenericRequest
- type GenericResponse
- type Server
- func (rpc *Server) Backdoor(ctx context.Context, req *sliverpb.BackdoorReq) (*sliverpb.Backdoor, error)
- func (rpc *Server) Canaries(ctx context.Context, _ *commonpb.Empty) (*clientpb.Canaries, error)
- func (rpc *Server) Cd(ctx context.Context, req *sliverpb.CdReq) (*sliverpb.Pwd, error)
- func (s *Server) CloseTunnel(ctx context.Context, req *sliverpb.Tunnel) (*commonpb.Empty, error)
- func (s *Server) CreateTunnel(ctx context.Context, req *sliverpb.Tunnel) (*sliverpb.Tunnel, error)
- func (rpc *Server) DeleteImplantBuild(ctx context.Context, req *clientpb.DeleteReq) (*commonpb.Empty, error)
- func (rpc *Server) DeleteImplantProfile(ctx context.Context, req *clientpb.DeleteReq) (*commonpb.Empty, error)
- func (rpc *Server) Download(ctx context.Context, req *sliverpb.DownloadReq) (*sliverpb.Download, error)
- func (s *Server) Events(_ *commonpb.Empty, stream rpcpb.SliverRPC_EventsServer) error
- func (rpc *Server) Execute(ctx context.Context, req *sliverpb.ExecuteReq) (*sliverpb.Execute, error)
- func (rpc *Server) ExecuteAssembly(ctx context.Context, req *sliverpb.ExecuteAssemblyReq) (*sliverpb.ExecuteAssembly, error)
- func (rpc *Server) ExecuteToken(ctx context.Context, req *sliverpb.ExecuteTokenReq) (*sliverpb.Execute, error)
- func (rpc *Server) Generate(ctx context.Context, req *clientpb.GenerateReq) (*clientpb.Generate, error)
- func (rpc *Server) GenerateUniqueIP(ctx context.Context, _ *commonpb.Empty) (*clientpb.UniqueWGIP, error)
- func (rpc *Server) GenericHandler(req GenericRequest, resp proto.Message) error
- func (rpc *Server) GetEnv(ctx context.Context, req *sliverpb.EnvReq) (*sliverpb.EnvInfo, error)
- func (rpc *Server) GetJobs(ctx context.Context, _ *commonpb.Empty) (*clientpb.Jobs, error)
- func (s *Server) GetOperators(ctx context.Context, _ *commonpb.Empty) (*clientpb.Operators, error)
- func (rpc *Server) GetSessions(ctx context.Context, _ *commonpb.Empty) (*clientpb.Sessions, error)
- func (rpc *Server) GetSystem(ctx context.Context, req *clientpb.GetSystemReq) (*sliverpb.GetSystem, error)
- func (rpc *Server) GetVersion(ctx context.Context, _ *commonpb.Empty) (*clientpb.Version, error)
- func (rpc *Server) Ifconfig(ctx context.Context, req *sliverpb.IfconfigReq) (*sliverpb.Ifconfig, error)
- func (rpc *Server) Impersonate(ctx context.Context, req *sliverpb.ImpersonateReq) (*sliverpb.Impersonate, error)
- func (rpc *Server) ImplantBuilds(ctx context.Context, _ *commonpb.Empty) (*clientpb.ImplantBuilds, error)
- func (rpc *Server) ImplantProfiles(ctx context.Context, _ *commonpb.Empty) (*clientpb.ImplantProfiles, error)
- func (rpc *Server) KillJob(ctx context.Context, kill *clientpb.KillJobReq) (*clientpb.KillJob, error)
- func (rpc *Server) KillSession(ctx context.Context, kill *sliverpb.KillSessionReq) (*commonpb.Empty, error)
- func (rpc *Server) ListPivots(ctx context.Context, req *sliverpb.PivotListReq) (*sliverpb.PivotList, error)
- func (rpc *Server) Ls(ctx context.Context, req *sliverpb.LsReq) (*sliverpb.Ls, error)
- func (rpc *Server) MakeToken(ctx context.Context, req *sliverpb.MakeTokenReq) (*sliverpb.MakeToken, error)
- func (rpc *Server) Migrate(ctx context.Context, req *clientpb.MigrateReq) (*sliverpb.Migrate, error)
- func (rpc *Server) Mkdir(ctx context.Context, req *sliverpb.MkdirReq) (*sliverpb.Mkdir, error)
- func (rpc *Server) Msf(ctx context.Context, req *clientpb.MSFReq) (*commonpb.Empty, error)
- func (rpc *Server) MsfRemote(ctx context.Context, req *clientpb.MSFRemoteReq) (*commonpb.Empty, error)
- func (rpc *Server) MsfStage(ctx context.Context, req *clientpb.MsfStagerReq) (*clientpb.MsfStager, error)
- func (rpc *Server) NamedPipes(ctx context.Context, req *sliverpb.NamedPipesReq) (*sliverpb.NamedPipes, error)
- func (rpc *Server) Netstat(ctx context.Context, req *sliverpb.NetstatReq) (*sliverpb.Netstat, error)
- func (rpc *Server) Ping(ctx context.Context, req *sliverpb.Ping) (*sliverpb.Ping, error)
- func (rpc *Server) ProcessDump(ctx context.Context, req *sliverpb.ProcessDumpReq) (*sliverpb.ProcessDump, error)
- func (rpc *Server) Ps(ctx context.Context, req *sliverpb.PsReq) (*sliverpb.Ps, error)
- func (rpc *Server) Pwd(ctx context.Context, req *sliverpb.PwdReq) (*sliverpb.Pwd, error)
- func (rpc *Server) Regenerate(ctx context.Context, req *clientpb.RegenerateReq) (*clientpb.Generate, error)
- func (rpc *Server) RegistryCreateKey(ctx context.Context, req *sliverpb.RegistryCreateKeyReq) (*sliverpb.RegistryCreateKey, error)
- func (rpc *Server) RegistryRead(ctx context.Context, req *sliverpb.RegistryReadReq) (*sliverpb.RegistryRead, error)
- func (rpc *Server) RegistryWrite(ctx context.Context, req *sliverpb.RegistryWriteReq) (*sliverpb.RegistryWrite, error)
- func (rpc *Server) RemoveService(ctx context.Context, req *sliverpb.RemoveServiceReq) (*sliverpb.ServiceInfo, error)
- func (rpc *Server) RevToSelf(ctx context.Context, req *sliverpb.RevToSelfReq) (*sliverpb.RevToSelf, error)
- func (rpc *Server) Rm(ctx context.Context, req *sliverpb.RmReq) (*sliverpb.Rm, error)
- func (rpc *Server) RunAs(ctx context.Context, req *sliverpb.RunAsReq) (*sliverpb.RunAs, error)
- func (rpc *Server) SaveImplantProfile(ctx context.Context, profile *clientpb.ImplantProfile) (*clientpb.ImplantProfile, error)
- func (rpc *Server) Screenshot(ctx context.Context, req *sliverpb.ScreenshotReq) (*sliverpb.Screenshot, error)
- func (rpc *Server) SetEnv(ctx context.Context, req *sliverpb.SetEnvReq) (*sliverpb.SetEnv, error)
- func (s *Server) Shell(ctx context.Context, req *sliverpb.ShellReq) (*sliverpb.Shell, error)
- func (rpc *Server) ShellcodeRDI(ctx context.Context, req *clientpb.ShellcodeRDIReq) (*clientpb.ShellcodeRDI, error)
- func (rpc *Server) Sideload(ctx context.Context, req *sliverpb.SideloadReq) (*sliverpb.Sideload, error)
- func (rpc *Server) SpawnDll(ctx context.Context, req *sliverpb.InvokeSpawnDllReq) (*sliverpb.SpawnDll, error)
- func (rpc *Server) StartDNSListener(ctx context.Context, req *clientpb.DNSListenerReq) (*clientpb.DNSListener, error)
- func (rpc *Server) StartHTTPListener(ctx context.Context, req *clientpb.HTTPListenerReq) (*clientpb.HTTPListener, error)
- func (rpc *Server) StartHTTPSListener(ctx context.Context, req *clientpb.HTTPListenerReq) (*clientpb.HTTPListener, error)
- func (rpc *Server) StartHTTPStagerListener(ctx context.Context, req *clientpb.StagerListenerReq) (*clientpb.StagerListener, error)
- func (rpc *Server) StartMTLSListener(ctx context.Context, req *clientpb.MTLSListenerReq) (*clientpb.MTLSListener, error)
- func (rpc *Server) StartService(ctx context.Context, req *sliverpb.StartServiceReq) (*sliverpb.ServiceInfo, error)
- func (rpc *Server) StartTCPStagerListener(ctx context.Context, req *clientpb.StagerListenerReq) (*clientpb.StagerListener, error)
- func (rpc *Server) StartWGListener(ctx context.Context, req *clientpb.WGListenerReq) (*clientpb.WGListener, error)
- func (rpc *Server) StopService(ctx context.Context, req *sliverpb.StopServiceReq) (*sliverpb.ServiceInfo, error)
- func (rpc *Server) TCPListener(ctx context.Context, req *sliverpb.TCPPivotReq) (*sliverpb.TCPPivot, error)
- func (rpc *Server) Task(ctx context.Context, req *sliverpb.TaskReq) (*sliverpb.Task, error)
- func (rpc *Server) Terminate(ctx context.Context, req *sliverpb.TerminateReq) (*sliverpb.Terminate, error)
- func (s *Server) TunnelData(stream rpcpb.SliverRPC_TunnelDataServer) error
- func (rpc *Server) UpdateSession(ctx context.Context, update *clientpb.UpdateSession) (*clientpb.Session, error)
- func (rpc *Server) Upload(ctx context.Context, req *sliverpb.UploadReq) (*sliverpb.Upload, error)
- func (rpc *Server) Website(ctx context.Context, req *clientpb.Website) (*clientpb.Website, error)
- func (rpc *Server) WebsiteAddContent(ctx context.Context, req *clientpb.WebsiteAddContent) (*clientpb.Website, error)
- func (rpc *Server) WebsiteRemove(ctx context.Context, req *clientpb.Website) (*commonpb.Empty, error)
- func (rpc *Server) WebsiteRemoveContent(ctx context.Context, req *clientpb.WebsiteRemoveContent) (*clientpb.Website, error)
- func (rpc *Server) WebsiteUpdateContent(ctx context.Context, req *clientpb.WebsiteAddContent) (*clientpb.Website, error)
- func (rpc *Server) Websites(ctx context.Context, _ *commonpb.Empty) (*clientpb.Websites, error)
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidSessionID - Invalid Session ID in request ErrInvalidSessionID = errors.New("Invalid session ID") // ErrMissingRequestField - Returned when a request does not contain a commonpb.Request ErrMissingRequestField = errors.New("Missing session request field") )
var ( // ErrInvalidPort - Invalid TCP port number ErrInvalidPort = errors.New("Invalid listener port") )
var ( // ErrTunnelInitFailure - Returned when a tunnel cannot be initialized ErrTunnelInitFailure = errors.New("Failed to initialize tunnel") )
Functions ¶
This section is empty.
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() GetRequest() *commonpb.Request }
GenericRequest - Generic request interface to use with generic handlers
type GenericResponse ¶
GenericResponse - Generic response interface to use with generic handlers
type Server ¶
type Server struct{}
Server - gRPC server
func (*Server) Backdoor ¶
func (rpc *Server) Backdoor(ctx context.Context, req *sliverpb.BackdoorReq) (*sliverpb.Backdoor, error)
Backdoor - Inject a sliver payload in a file on the remote system
func (*Server) CloseTunnel ¶
CloseTunnel - Client requests we close a tunnel
func (*Server) CreateTunnel ¶
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) 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) 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) ExecuteToken ¶ added in v1.3.0
func (rpc *Server) ExecuteToken(ctx context.Context, req *sliverpb.ExecuteTokenReq) (*sliverpb.Execute, error)
ExecuteToken - Execute a remote process with 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) 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) GenericHandler ¶
func (rpc *Server) GenericHandler(req GenericRequest, resp proto.Message) error
GenericHandler - Pass the request to the Sliver/Session
func (*Server) GetOperators ¶
GetOperators - Get a list of operators
func (*Server) GetSessions ¶
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 ¶
GetVersion - Get the server version
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) 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.KillSessionReq) (*commonpb.Empty, error)
KillSession - Kill a session
func (*Server) ListPivots ¶ added in v1.4.9
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) 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) MsfRemote ¶
func (rpc *Server) MsfRemote(ctx context.Context, req *clientpb.MSFRemoteReq) (*commonpb.Empty, 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) NamedPipes ¶
func (rpc *Server) NamedPipes(ctx context.Context, req *sliverpb.NamedPipesReq) (*sliverpb.NamedPipes, error)
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) ProcessDump ¶
func (rpc *Server) ProcessDump(ctx context.Context, req *sliverpb.ProcessDumpReq) (*sliverpb.ProcessDump, error)
ProcessDump - Dump the memory of a remote process
func (*Server) Regenerate ¶
func (rpc *Server) Regenerate(ctx context.Context, req *clientpb.RegenerateReq) (*clientpb.Generate, error)
Regenerate - Regenerate a previously generated implant
func (*Server) RegistryCreateKey ¶ added in v1.4.4
func (rpc *Server) RegistryCreateKey(ctx context.Context, req *sliverpb.RegistryCreateKeyReq) (*sliverpb.RegistryCreateKey, error)
func (*Server) RegistryRead ¶ added in v1.4.4
func (rpc *Server) RegistryRead(ctx context.Context, req *sliverpb.RegistryReadReq) (*sliverpb.RegistryRead, error)
func (*Server) RegistryWrite ¶ added in v1.4.4
func (rpc *Server) RegistryWrite(ctx context.Context, req *sliverpb.RegistryWriteReq) (*sliverpb.RegistryWrite, error)
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) RevToSelf ¶
func (rpc *Server) RevToSelf(ctx context.Context, req *sliverpb.RevToSelfReq) (*sliverpb.RevToSelf, error)
RevToSelf - Revert process context to self
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) 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) 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) StartDNSListener ¶
func (rpc *Server) StartDNSListener(ctx context.Context, req *clientpb.DNSListenerReq) (*clientpb.DNSListener, 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.HTTPListener, error)
StartHTTPListener - Start an HTTP listener
func (*Server) StartHTTPSListener ¶
func (rpc *Server) StartHTTPSListener(ctx context.Context, req *clientpb.HTTPListenerReq) (*clientpb.HTTPListener, error)
StartHTTPSListener - Start an HTTPS listener
func (*Server) StartHTTPStagerListener ¶
func (rpc *Server) StartHTTPStagerListener(ctx context.Context, req *clientpb.StagerListenerReq) (*clientpb.StagerListener, error)
StartHTTPStagerListener starts a HTTP(S) stager listener
func (*Server) StartMTLSListener ¶
func (rpc *Server) StartMTLSListener(ctx context.Context, req *clientpb.MTLSListenerReq) (*clientpb.MTLSListener, error)
StartMTLSListener - Start an MTLS listener
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) 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.WGListener, error)
StartWGListener - Start a Wireguard listener
func (*Server) StopService ¶
func (rpc *Server) StopService(ctx context.Context, req *sliverpb.StopServiceReq) (*sliverpb.ServiceInfo, error)
StopService stops a remote service
func (*Server) TCPListener ¶
func (*Server) Terminate ¶
func (rpc *Server) Terminate(ctx context.Context, req *sliverpb.TerminateReq) (*sliverpb.Terminate, error)
Terminate - Terminate a remote process
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) UpdateSession ¶
func (rpc *Server) UpdateSession(ctx context.Context, update *clientpb.UpdateSession) (*clientpb.Session, error)
UpdateSession - Update a session
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
Source Files ¶
- rpc-backdoor.go
- rpc-env.go
- rpc-events.go
- rpc-execute.go
- rpc-filesystem.go
- rpc-generate.go
- rpc-jobs.go
- rpc-msf.go
- rpc-net.go
- rpc-operators.go
- rpc-ping.go
- rpc-pivots.go
- rpc-priv.go
- rpc-process.go
- rpc-registry.go
- rpc-screenshot.go
- rpc-service.go
- rpc-sessions.go
- rpc-shell.go
- rpc-stager.go
- rpc-tasks.go
- rpc-tunnel.go
- rpc-website.go
- rpc.go