Documentation ¶
Index ¶
- Constants
- Variables
- func AssertRequestName(req *implantpb.Request, expect types.MsgName) error
- func AssertResponse(spite *implantpb.Spite, expect types.MsgName) error
- func AssertStatus(spite *implantpb.Spite) error
- func AssertStatusAndResponse(spite *implantpb.Spite, expect types.MsgName) error
- func InitLogs(debug bool)
- func StartClientListener(port uint16) (*grpc.Server, net.Listener, error)
- type GenericRequest
- type Server
- func (rpc *Server) AddClient(ctx context.Context, req *rootpb.Operator) (*rootpb.Response, error)
- func (s *Server) AddListener(ctx context.Context, req *rootpb.Operator) (*rootpb.Response, error)
- func (rpc *Server) BasicSessionOP(ctx context.Context, req *clientpb.BasicUpdateSession) (*clientpb.Empty, error)
- func (rpc *Server) Broadcast(ctx context.Context, req *clientpb.Event) (*clientpb.Empty, error)
- func (rpc *Server) Cat(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Cd(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Chmod(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Chown(ctx context.Context, req *implantpb.ChownRequest) (*clientpb.Task, error)
- func (rpc *Server) Cp(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Curl(ctx context.Context, req *implantpb.CurlRequest) (*clientpb.Task, error)
- func (rpc *Server) Download(ctx context.Context, req *implantpb.DownloadRequest) (*clientpb.Task, error)
- func (rpc *Server) Env(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Events(_ *clientpb.Empty, stream clientrpc.MaliceRPC_EventsServer) error
- func (rpc *Server) Execute(ctx context.Context, req *implantpb.ExecRequest) (*clientpb.Task, error)
- func (rpc *Server) ExecuteAssembly(ctx context.Context, req *implantpb.ExecuteBinary) (*clientpb.Task, error)
- func (rpc *Server) ExecuteBof(ctx context.Context, req *implantpb.ExecuteBinary) (*clientpb.Task, error)
- func (rpc *Server) ExecuteDll(ctx context.Context, req *implantpb.ExecuteBinary) (*clientpb.Task, error)
- func (rpc *Server) ExecuteExtension(ctx context.Context, req *implantpb.ExecuteExtension) (*clientpb.Task, error)
- func (rpc *Server) ExecutePE(ctx context.Context, req *implantpb.ExecuteBinary) (*clientpb.Task, error)
- func (rpc *Server) ExecutePowershell(ctx context.Context, req *implantpb.ExecuteBinary) (*clientpb.Task, error)
- func (rpc *Server) ExecuteShellcode(ctx context.Context, req *implantpb.ExecuteBinary) (*clientpb.Task, error)
- func (rpc *Server) GetAlivedSessions(ctx context.Context, _ *clientpb.Empty) (*clientpb.Sessions, error)
- func (rpc *Server) GetAllTaskContent(ctx context.Context, req *clientpb.Task) ([]*implantpb.Spite, error)
- func (rpc *Server) GetBasic(ctx context.Context, _ *clientpb.Empty) (*clientpb.Basic, error)
- func (rpc *Server) GetClients(ctx context.Context, req *clientpb.Empty) (*clientpb.Clients, error)
- func (rpc *Server) GetListeners(ctx context.Context, req *clientpb.Empty) (*clientpb.Listeners, error)
- func (rpc *Server) GetSession(ctx context.Context, req *clientpb.SessionRequest) (*clientpb.Session, error)
- func (rpc *Server) GetSessions(ctx context.Context, _ *clientpb.Empty) (*clientpb.Sessions, error)
- func (rpc *Server) GetTaskContent(ctx context.Context, req *clientpb.Task) (*implantpb.Spite, error)
- func (rpc *Server) GetTaskDescs(ctx context.Context, req *clientpb.Session) (*clientpb.TaskDescs, error)
- func (rpc *Server) GetTasks(ctx context.Context, session *clientpb.Session) (*clientpb.Tasks, error)
- func (rpc *Server) Info(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) JobStream(stream listenerrpc.ListenerRPC_JobStreamServer) error
- func (rpc *Server) Kill(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) ListClients(ctx context.Context, req *rootpb.Operator) (*clientpb.Clients, error)
- func (rpc *Server) ListExtensions(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (s *Server) ListListeners(ctx context.Context, req *rootpb.Operator) (*clientpb.Listeners, error)
- func (rpc *Server) ListModules(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) ListPipelines(ctx context.Context, req *lispb.ListenerName) (*lispb.Pipelines, error)
- func (rpc *Server) ListWebsites(ctx context.Context, req *lispb.ListenerName) (*lispb.Websites, error)
- func (rpc *Server) LoadExtension(ctx context.Context, req *implantpb.LoadExtension) (*clientpb.Task, error)
- func (rpc *Server) LoadModule(ctx context.Context, req *implantpb.LoadModule) (*clientpb.Task, error)
- func (rpc *Server) LoginClient(ctx context.Context, req *clientpb.LoginReq) (*clientpb.LoginResp, error)
- func (rpc *Server) Ls(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Mkdir(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Mv(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Netstat(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Ping(ctx context.Context, req *implantpb.Ping) (*implantpb.Empty, error)
- func (rpc *Server) Ps(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Pwd(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Register(ctx context.Context, req *lispb.RegisterSession) (*implantpb.Empty, error)
- func (rpc *Server) RegisterListener(ctx context.Context, req *lispb.RegisterListener) (*implantpb.Empty, error)
- func (rpc *Server) RegisterPipeline(ctx context.Context, req *lispb.Pipeline) (*implantpb.Empty, error)
- func (rpc *Server) RegisterWebsite(ctx context.Context, req *lispb.Website) (*implantpb.Empty, error)
- func (rpc *Server) RemoveClient(ctx context.Context, req *rootpb.Operator) (*rootpb.Response, error)
- func (s *Server) RemoveListener(ctx context.Context, req *rootpb.Operator) (*rootpb.Response, error)
- func (rpc *Server) Rm(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Setenv(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) SpiteStream(stream listenerrpc.ListenerRPC_SpiteStreamServer) error
- func (rpc *Server) StartTcpPipeline(ctx context.Context, req *lispb.Pipeline) (*clientpb.Empty, error)
- func (rpc *Server) StartWebsite(ctx context.Context, req *lispb.Pipeline) (*clientpb.Empty, error)
- func (rpc *Server) StopTcpPipeline(ctx context.Context, req *lispb.TCPPipeline) (*clientpb.Empty, error)
- func (rpc *Server) StopWebsite(ctx context.Context, req *lispb.Website) (*clientpb.Empty, error)
- func (rpc *Server) Sync(ctx context.Context, req *clientpb.Sync) (*clientpb.SyncResp, error)
- func (rpc *Server) SysInfo(ctx context.Context, req *implantpb.SysInfo) (*implantpb.Empty, error)
- func (rpc *Server) Unsetenv(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
- func (rpc *Server) Upload(ctx context.Context, req *implantpb.UploadRequest) (*clientpb.Task, error)
- func (rpc *Server) WaitTaskContent(ctx context.Context, req *clientpb.Task) (*implantpb.Spite, error)
- func (rpc *Server) Website(ctx context.Context, req *lispb.Website) (*lispb.Website, error)
- func (rpc *Server) WebsiteAddContent(ctx context.Context, req *lispb.WebsiteAddContent) (*lispb.Website, error)
- func (rpc *Server) WebsiteRemove(ctx context.Context, req *lispb.Website) (*clientpb.Empty, error)
- func (rpc *Server) WebsiteRemoveContent(ctx context.Context, req *lispb.WebsiteRemoveContent) (*lispb.Website, error)
- func (rpc *Server) WebsiteUpdateContent(ctx context.Context, req *lispb.WebsiteAddContent) (*lispb.Website, error)
- func (rpc *Server) Websites(ctx context.Context, _ *clientpb.Empty) (*lispb.Websites, error)
- func (rpc *Server) Whoami(ctx context.Context, req *implantpb.Request) (*clientpb.Task, error)
Constants ¶
View Source
const ( Transport contextKey = iota Operator )
Variables ¶
View Source
var ( // ErrInvalidSessionID - Invalid Session ID in request ErrInvalidSessionID = status.Error(codes.InvalidArgument, "Invalid session ID") // ErrMissingRequestField - Returned when a request does not contain a implantpb.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") ErrNilStatus = status.Error(codes.InvalidArgument, "Nil status or unknown error") ErrAssertFailure = status.Error(codes.InvalidArgument, "Assert spite type failure") ErrNilResponseBody = status.Error(codes.InvalidArgument, "Must return spite body") // ErrInvalidName - Invalid name ErrInvalidName = status.Error(codes.InvalidArgument, "Invalid session name, alphanumerics and _-. only") ErrNotFoundSession = status.Error(codes.NotFound, "Session ID not found") ErrNotFoundTask = status.Error(codes.NotFound, "Task ID not found") ErrNotFoundListener = status.Error(codes.NotFound, "Listener not found") ErrNotFoundPipeline = status.Error(codes.NotFound, "Pipeline not found") ErrNotFoundClientName = status.Error(codes.NotFound, "Client name not found") ErrNotFoundTaskContent = status.Error(codes.NotFound, "Task content not found") )
Functions ¶
func AssertStatus ¶
func AssertStatusAndResponse ¶
Types ¶
type GenericRequest ¶
func (*GenericRequest) HandlerAsyncResponse ¶
func (*GenericRequest) SetCallback ¶
func (r *GenericRequest) SetCallback(callback func())
type Server ¶
type Server struct { // Magical methods to break backwards compatibility // Here be dragons: https://github.com/grpc/grpc-go/issues/3794 clientrpc.UnimplementedMaliceRPCServer listenerrpc.UnimplementedImplantRPCServer listenerrpc.UnimplementedListenerRPCServer clientrpc.UnimplementedRootRPCServer }
func (*Server) AddListener ¶
func (*Server) BasicSessionOP ¶
func (*Server) Download ¶
func (rpc *Server) Download(ctx context.Context, req *implantpb.DownloadRequest) (*clientpb.Task, error)
Download - Download a file from implant
func (*Server) ExecuteAssembly ¶
func (*Server) ExecuteBof ¶
func (*Server) ExecuteDll ¶
func (*Server) ExecuteExtension ¶
func (*Server) ExecutePowershell ¶
func (*Server) ExecuteShellcode ¶
func (*Server) GetAlivedSessions ¶
func (*Server) GetAllTaskContent ¶
func (*Server) GetClients ¶
func (*Server) GetListeners ¶
func (*Server) GetSession ¶
func (*Server) GetSessions ¶
func (*Server) GetTaskContent ¶
func (*Server) GetTaskDescs ¶
func (*Server) JobStream ¶
func (rpc *Server) JobStream(stream listenerrpc.ListenerRPC_JobStreamServer) error
func (*Server) ListClients ¶
func (*Server) ListExtensions ¶
func (*Server) ListListeners ¶
func (*Server) ListModules ¶
func (*Server) ListPipelines ¶
func (*Server) ListWebsites ¶
func (*Server) LoadExtension ¶
func (*Server) LoadModule ¶
func (*Server) LoginClient ¶
func (*Server) RegisterListener ¶
func (*Server) RegisterPipeline ¶
func (*Server) RegisterWebsite ¶
func (*Server) RemoveClient ¶
func (*Server) RemoveListener ¶
func (*Server) SpiteStream ¶
func (rpc *Server) SpiteStream(stream listenerrpc.ListenerRPC_SpiteStreamServer) error
func (*Server) StartTcpPipeline ¶
func (*Server) StartWebsite ¶
func (*Server) StopTcpPipeline ¶
func (*Server) StopWebsite ¶
func (*Server) Upload ¶
func (rpc *Server) Upload(ctx context.Context, req *implantpb.UploadRequest) (*clientpb.Task, error)
Upload - Upload a file from the remote file system
func (*Server) WaitTaskContent ¶
func (*Server) WebsiteAddContent ¶
func (rpc *Server) WebsiteAddContent(ctx context.Context, req *lispb.WebsiteAddContent) (*lispb.Website, error)
WebsiteAddContent - Add content to a website, the website is created if `name` does not exist
func (*Server) WebsiteRemove ¶
func (*Server) WebsiteRemoveContent ¶
func (rpc *Server) WebsiteRemoveContent(ctx context.Context, req *lispb.WebsiteRemoveContent) (*lispb.Website, error)
WebsiteRemoveContent - Remove specific content from a website
func (*Server) WebsiteUpdateContent ¶
func (rpc *Server) WebsiteUpdateContent(ctx context.Context, req *lispb.WebsiteAddContent) (*lispb.Website, error)
WebsiteUpdateContent - Update specific content from a website, currently you can only the update Content-type field
Click to show internal directories.
Click to hide internal directories.