Documentation ¶
Index ¶
- Variables
- func RegisterC2Server(s grpc.ServiceRegistrar, srv C2Server)
- type Agent
- type Beacon
- func (*Beacon) Descriptor() ([]byte, []int)deprecated
- func (x *Beacon) GetAgent() *Agent
- func (x *Beacon) GetHost() *Host
- func (x *Beacon) GetIdentifier() string
- func (x *Beacon) GetInterval() uint64
- func (x *Beacon) GetPrincipal() string
- func (*Beacon) ProtoMessage()
- func (x *Beacon) ProtoReflect() protoreflect.Message
- func (x *Beacon) Reset()
- func (x *Beacon) String() string
- type C2Client
- type C2Server
- type C2_FetchAssetClient
- type C2_FetchAssetServer
- type C2_ReportFileClient
- type C2_ReportFileServer
- type ClaimTasksRequest
- type ClaimTasksResponse
- func (*ClaimTasksResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ClaimTasksResponse) GetTasks() []*Task
- func (*ClaimTasksResponse) ProtoMessage()
- func (x *ClaimTasksResponse) ProtoReflect() protoreflect.Message
- func (x *ClaimTasksResponse) Reset()
- func (x *ClaimTasksResponse) String() string
- type FetchAssetRequest
- type FetchAssetResponse
- func (*FetchAssetResponse) Descriptor() ([]byte, []int)deprecated
- func (x *FetchAssetResponse) GetChunk() []byte
- func (*FetchAssetResponse) ProtoMessage()
- func (x *FetchAssetResponse) ProtoReflect() protoreflect.Message
- func (x *FetchAssetResponse) Reset()
- func (x *FetchAssetResponse) String() string
- type Host
- func (*Host) Descriptor() ([]byte, []int)deprecated
- func (x *Host) GetIdentifier() string
- func (x *Host) GetName() string
- func (x *Host) GetPlatform() Host_Platform
- func (x *Host) GetPrimaryIp() string
- func (*Host) ProtoMessage()
- func (x *Host) ProtoReflect() protoreflect.Message
- func (x *Host) Reset()
- func (x *Host) String() string
- type Host_Platform
- func (Host_Platform) Descriptor() protoreflect.EnumDescriptor
- func (x Host_Platform) Enum() *Host_Platform
- func (Host_Platform) EnumDescriptor() ([]byte, []int)deprecated
- func (p Host_Platform) MarshalGQL(w io.Writer)
- func (x Host_Platform) Number() protoreflect.EnumNumber
- func (p *Host_Platform) Scan(val any) error
- func (x Host_Platform) String() string
- func (Host_Platform) Type() protoreflect.EnumType
- func (p *Host_Platform) UnmarshalGQL(v interface{}) error
- func (p Host_Platform) Value() (driver.Value, error)
- func (Host_Platform) Values() []string
- type ReportCredentialRequest
- func (*ReportCredentialRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ReportCredentialRequest) GetCredential() *epb.Credential
- func (x *ReportCredentialRequest) GetTaskId() int64
- func (*ReportCredentialRequest) ProtoMessage()
- func (x *ReportCredentialRequest) ProtoReflect() protoreflect.Message
- func (x *ReportCredentialRequest) Reset()
- func (x *ReportCredentialRequest) String() string
- type ReportCredentialResponse
- type ReportFileRequest
- func (*ReportFileRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ReportFileRequest) GetChunk() *epb.File
- func (x *ReportFileRequest) GetTaskId() int64
- func (*ReportFileRequest) ProtoMessage()
- func (x *ReportFileRequest) ProtoReflect() protoreflect.Message
- func (x *ReportFileRequest) Reset()
- func (x *ReportFileRequest) String() string
- type ReportFileResponse
- type ReportProcessListRequest
- func (*ReportProcessListRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ReportProcessListRequest) GetList() *epb.ProcessList
- func (x *ReportProcessListRequest) GetTaskId() int64
- func (*ReportProcessListRequest) ProtoMessage()
- func (x *ReportProcessListRequest) ProtoReflect() protoreflect.Message
- func (x *ReportProcessListRequest) Reset()
- func (x *ReportProcessListRequest) String() string
- type ReportProcessListResponse
- type ReportTaskOutputRequest
- func (*ReportTaskOutputRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ReportTaskOutputRequest) GetOutput() *TaskOutput
- func (*ReportTaskOutputRequest) ProtoMessage()
- func (x *ReportTaskOutputRequest) ProtoReflect() protoreflect.Message
- func (x *ReportTaskOutputRequest) Reset()
- func (x *ReportTaskOutputRequest) String() string
- type ReportTaskOutputResponse
- type Task
- type TaskError
- type TaskOutput
- func (*TaskOutput) Descriptor() ([]byte, []int)deprecated
- func (x *TaskOutput) GetError() *TaskError
- func (x *TaskOutput) GetExecFinishedAt() *timestamp.Timestamp
- func (x *TaskOutput) GetExecStartedAt() *timestamp.Timestamp
- func (x *TaskOutput) GetId() int64
- func (x *TaskOutput) GetOutput() string
- func (*TaskOutput) ProtoMessage()
- func (x *TaskOutput) ProtoReflect() protoreflect.Message
- func (x *TaskOutput) Reset()
- func (x *TaskOutput) String() string
- type UnimplementedC2Server
- func (UnimplementedC2Server) ClaimTasks(context.Context, *ClaimTasksRequest) (*ClaimTasksResponse, error)
- func (UnimplementedC2Server) FetchAsset(*FetchAssetRequest, C2_FetchAssetServer) error
- func (UnimplementedC2Server) ReportCredential(context.Context, *ReportCredentialRequest) (*ReportCredentialResponse, error)
- func (UnimplementedC2Server) ReportFile(C2_ReportFileServer) error
- func (UnimplementedC2Server) ReportProcessList(context.Context, *ReportProcessListRequest) (*ReportProcessListResponse, error)
- func (UnimplementedC2Server) ReportTaskOutput(context.Context, *ReportTaskOutputRequest) (*ReportTaskOutputResponse, error)
- type UnsafeC2Server
Constants ¶
This section is empty.
Variables ¶
var ( Host_Platform_name = map[int32]string{ 0: "PLATFORM_UNSPECIFIED", 1: "PLATFORM_WINDOWS", 2: "PLATFORM_LINUX", 3: "PLATFORM_MACOS", 4: "PLATFORM_BSD", } Host_Platform_value = map[string]int32{ "PLATFORM_UNSPECIFIED": 0, "PLATFORM_WINDOWS": 1, "PLATFORM_LINUX": 2, "PLATFORM_MACOS": 3, "PLATFORM_BSD": 4, } )
Enum value maps for Host_Platform.
var C2_ServiceDesc = grpc.ServiceDesc{ ServiceName: "c2.C2", HandlerType: (*C2Server)(nil), Methods: []grpc.MethodDesc{ { MethodName: "ClaimTasks", Handler: _C2_ClaimTasks_Handler, }, { MethodName: "ReportCredential", Handler: _C2_ReportCredential_Handler, }, { MethodName: "ReportProcessList", Handler: _C2_ReportProcessList_Handler, }, { MethodName: "ReportTaskOutput", Handler: _C2_ReportTaskOutput_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "FetchAsset", Handler: _C2_FetchAsset_Handler, ServerStreams: true, }, { StreamName: "ReportFile", Handler: _C2_ReportFile_Handler, ClientStreams: true, }, }, Metadata: "c2.proto", }
C2_ServiceDesc is the grpc.ServiceDesc for C2 service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_c2_proto protoreflect.FileDescriptor
Functions ¶
func RegisterC2Server ¶
func RegisterC2Server(s grpc.ServiceRegistrar, srv C2Server)
Types ¶
type Agent ¶
type Agent struct { Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` // contains filtered or unexported fields }
Agent information to identify the type of beacon.
func (*Agent) Descriptor
deprecated
func (*Agent) GetIdentifier ¶
func (*Agent) ProtoMessage ¶
func (*Agent) ProtoMessage()
func (*Agent) ProtoReflect ¶
func (x *Agent) ProtoReflect() protoreflect.Message
type Beacon ¶
type Beacon struct { Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` Principal string `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"` Host *Host `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"` Agent *Agent `protobuf:"bytes,4,opt,name=agent,proto3" json:"agent,omitempty"` Interval uint64 `protobuf:"varint,5,opt,name=interval,proto3" json:"interval,omitempty"` // Duration until next callback, in seconds. // contains filtered or unexported fields }
Beacon information that is unique to the current running beacon.
func (*Beacon) Descriptor
deprecated
func (*Beacon) GetIdentifier ¶
func (*Beacon) GetInterval ¶
func (*Beacon) GetPrincipal ¶
func (*Beacon) ProtoMessage ¶
func (*Beacon) ProtoMessage()
func (*Beacon) ProtoReflect ¶
func (x *Beacon) ProtoReflect() protoreflect.Message
type C2Client ¶
type C2Client interface { // Contact the server for new tasks to execute. ClaimTasks(ctx context.Context, in *ClaimTasksRequest, opts ...grpc.CallOption) (*ClaimTasksResponse, error) // Fetch an asset from the server, returning one or more chunks of data. // The maximum size of these chunks is determined by the server. // The server should reply with two headers: // - "sha3-256-checksum": A SHA3-256 digest of the entire file contents. // - "file-size": The number of bytes contained by the file. // // If no associated file can be found, a NotFound status error is returned. FetchAsset(ctx context.Context, in *FetchAssetRequest, opts ...grpc.CallOption) (C2_FetchAssetClient, error) // Report a credential from the host to the server. ReportCredential(ctx context.Context, in *ReportCredentialRequest, opts ...grpc.CallOption) (*ReportCredentialResponse, error) // Report a file from the host to the server. // Providing content of the file is optional. If content is provided: // - Hash will automatically be calculated and the provided hash will be ignored. // - Size will automatically be calculated and the provided size will be ignored. // // Content is provided as chunks, the size of which are up to the agent to define (based on memory constraints). // Any existing files at the provided path for the host are replaced. ReportFile(ctx context.Context, opts ...grpc.CallOption) (C2_ReportFileClient, error) // Report the active list of running processes. This list will replace any previously reported // lists for the same host. ReportProcessList(ctx context.Context, in *ReportProcessListRequest, opts ...grpc.CallOption) (*ReportProcessListResponse, error) // Report execution output for a task. ReportTaskOutput(ctx context.Context, in *ReportTaskOutputRequest, opts ...grpc.CallOption) (*ReportTaskOutputResponse, error) }
C2Client is the client API for C2 service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewC2Client ¶
func NewC2Client(cc grpc.ClientConnInterface) C2Client
type C2Server ¶
type C2Server interface { // Contact the server for new tasks to execute. ClaimTasks(context.Context, *ClaimTasksRequest) (*ClaimTasksResponse, error) // Fetch an asset from the server, returning one or more chunks of data. // The maximum size of these chunks is determined by the server. // The server should reply with two headers: // - "sha3-256-checksum": A SHA3-256 digest of the entire file contents. // - "file-size": The number of bytes contained by the file. // // If no associated file can be found, a NotFound status error is returned. FetchAsset(*FetchAssetRequest, C2_FetchAssetServer) error // Report a credential from the host to the server. ReportCredential(context.Context, *ReportCredentialRequest) (*ReportCredentialResponse, error) // Report a file from the host to the server. // Providing content of the file is optional. If content is provided: // - Hash will automatically be calculated and the provided hash will be ignored. // - Size will automatically be calculated and the provided size will be ignored. // // Content is provided as chunks, the size of which are up to the agent to define (based on memory constraints). // Any existing files at the provided path for the host are replaced. ReportFile(C2_ReportFileServer) error // Report the active list of running processes. This list will replace any previously reported // lists for the same host. ReportProcessList(context.Context, *ReportProcessListRequest) (*ReportProcessListResponse, error) // Report execution output for a task. ReportTaskOutput(context.Context, *ReportTaskOutputRequest) (*ReportTaskOutputResponse, error) // contains filtered or unexported methods }
C2Server is the server API for C2 service. All implementations must embed UnimplementedC2Server for forward compatibility
type C2_FetchAssetClient ¶ added in v0.0.7
type C2_FetchAssetClient interface { Recv() (*FetchAssetResponse, error) grpc.ClientStream }
type C2_FetchAssetServer ¶ added in v0.0.7
type C2_FetchAssetServer interface { Send(*FetchAssetResponse) error grpc.ServerStream }
type C2_ReportFileClient ¶ added in v0.0.5
type C2_ReportFileClient interface { Send(*ReportFileRequest) error CloseAndRecv() (*ReportFileResponse, error) grpc.ClientStream }
type C2_ReportFileServer ¶ added in v0.0.5
type C2_ReportFileServer interface { SendAndClose(*ReportFileResponse) error Recv() (*ReportFileRequest, error) grpc.ServerStream }
type ClaimTasksRequest ¶
type ClaimTasksRequest struct { Beacon *Beacon `protobuf:"bytes,1,opt,name=beacon,proto3" json:"beacon,omitempty"` // contains filtered or unexported fields }
RPC Messages
func (*ClaimTasksRequest) Descriptor
deprecated
func (*ClaimTasksRequest) Descriptor() ([]byte, []int)
Deprecated: Use ClaimTasksRequest.ProtoReflect.Descriptor instead.
func (*ClaimTasksRequest) GetBeacon ¶
func (x *ClaimTasksRequest) GetBeacon() *Beacon
func (*ClaimTasksRequest) ProtoMessage ¶
func (*ClaimTasksRequest) ProtoMessage()
func (*ClaimTasksRequest) ProtoReflect ¶
func (x *ClaimTasksRequest) ProtoReflect() protoreflect.Message
func (*ClaimTasksRequest) Reset ¶
func (x *ClaimTasksRequest) Reset()
func (*ClaimTasksRequest) String ¶
func (x *ClaimTasksRequest) String() string
type ClaimTasksResponse ¶
type ClaimTasksResponse struct { Tasks []*Task `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"` // contains filtered or unexported fields }
func (*ClaimTasksResponse) Descriptor
deprecated
func (*ClaimTasksResponse) Descriptor() ([]byte, []int)
Deprecated: Use ClaimTasksResponse.ProtoReflect.Descriptor instead.
func (*ClaimTasksResponse) GetTasks ¶
func (x *ClaimTasksResponse) GetTasks() []*Task
func (*ClaimTasksResponse) ProtoMessage ¶
func (*ClaimTasksResponse) ProtoMessage()
func (*ClaimTasksResponse) ProtoReflect ¶
func (x *ClaimTasksResponse) ProtoReflect() protoreflect.Message
func (*ClaimTasksResponse) Reset ¶
func (x *ClaimTasksResponse) Reset()
func (*ClaimTasksResponse) String ¶
func (x *ClaimTasksResponse) String() string
type FetchAssetRequest ¶ added in v0.0.7
type FetchAssetRequest struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // contains filtered or unexported fields }
func (*FetchAssetRequest) Descriptor
deprecated
added in
v0.0.7
func (*FetchAssetRequest) Descriptor() ([]byte, []int)
Deprecated: Use FetchAssetRequest.ProtoReflect.Descriptor instead.
func (*FetchAssetRequest) GetName ¶ added in v0.0.7
func (x *FetchAssetRequest) GetName() string
func (*FetchAssetRequest) ProtoMessage ¶ added in v0.0.7
func (*FetchAssetRequest) ProtoMessage()
func (*FetchAssetRequest) ProtoReflect ¶ added in v0.0.7
func (x *FetchAssetRequest) ProtoReflect() protoreflect.Message
func (*FetchAssetRequest) Reset ¶ added in v0.0.7
func (x *FetchAssetRequest) Reset()
func (*FetchAssetRequest) String ¶ added in v0.0.7
func (x *FetchAssetRequest) String() string
type FetchAssetResponse ¶ added in v0.0.7
type FetchAssetResponse struct { Chunk []byte `protobuf:"bytes,1,opt,name=chunk,proto3" json:"chunk,omitempty"` // contains filtered or unexported fields }
func (*FetchAssetResponse) Descriptor
deprecated
added in
v0.0.7
func (*FetchAssetResponse) Descriptor() ([]byte, []int)
Deprecated: Use FetchAssetResponse.ProtoReflect.Descriptor instead.
func (*FetchAssetResponse) GetChunk ¶ added in v0.0.7
func (x *FetchAssetResponse) GetChunk() []byte
func (*FetchAssetResponse) ProtoMessage ¶ added in v0.0.7
func (*FetchAssetResponse) ProtoMessage()
func (*FetchAssetResponse) ProtoReflect ¶ added in v0.0.7
func (x *FetchAssetResponse) ProtoReflect() protoreflect.Message
func (*FetchAssetResponse) Reset ¶ added in v0.0.7
func (x *FetchAssetResponse) Reset()
func (*FetchAssetResponse) String ¶ added in v0.0.7
func (x *FetchAssetResponse) String() string
type Host ¶
type Host struct { Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Platform Host_Platform `protobuf:"varint,3,opt,name=platform,proto3,enum=c2.Host_Platform" json:"platform,omitempty"` PrimaryIp string `protobuf:"bytes,4,opt,name=primary_ip,json=primaryIp,proto3" json:"primary_ip,omitempty"` // contains filtered or unexported fields }
Host information for the system a beacon is running on.
func (*Host) Descriptor
deprecated
func (*Host) GetIdentifier ¶
func (*Host) GetPlatform ¶
func (x *Host) GetPlatform() Host_Platform
func (*Host) GetPrimaryIp ¶
func (*Host) ProtoMessage ¶
func (*Host) ProtoMessage()
func (*Host) ProtoReflect ¶
func (x *Host) ProtoReflect() protoreflect.Message
type Host_Platform ¶
type Host_Platform int32
const ( Host_PLATFORM_UNSPECIFIED Host_Platform = 0 Host_PLATFORM_WINDOWS Host_Platform = 1 Host_PLATFORM_LINUX Host_Platform = 2 Host_PLATFORM_MACOS Host_Platform = 3 Host_PLATFORM_BSD Host_Platform = 4 )
func (Host_Platform) Descriptor ¶
func (Host_Platform) Descriptor() protoreflect.EnumDescriptor
func (Host_Platform) Enum ¶
func (x Host_Platform) Enum() *Host_Platform
func (Host_Platform) EnumDescriptor
deprecated
func (Host_Platform) EnumDescriptor() ([]byte, []int)
Deprecated: Use Host_Platform.Descriptor instead.
func (Host_Platform) MarshalGQL ¶ added in v0.0.5
func (p Host_Platform) MarshalGQL(w io.Writer)
MarshalGQL writes a formatted string value for GraphQL.
func (Host_Platform) Number ¶
func (x Host_Platform) Number() protoreflect.EnumNumber
func (*Host_Platform) Scan ¶ added in v0.0.5
func (p *Host_Platform) Scan(val any) error
Scan tells our code how to read the enum into our type.
func (Host_Platform) String ¶
func (x Host_Platform) String() string
func (Host_Platform) Type ¶
func (Host_Platform) Type() protoreflect.EnumType
func (*Host_Platform) UnmarshalGQL ¶ added in v0.0.5
func (p *Host_Platform) UnmarshalGQL(v interface{}) error
UnmarshalGQL parses a GraphQL string representation into the enum.
func (Host_Platform) Value ¶ added in v0.0.5
func (p Host_Platform) Value() (driver.Value, error)
Value provides the DB a string from int.
func (Host_Platform) Values ¶ added in v0.0.5
func (Host_Platform) Values() []string
Values provides list valid values for Enum.
type ReportCredentialRequest ¶ added in v0.0.7
type ReportCredentialRequest struct { TaskId int64 `protobuf:"varint,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` Credential *epb.Credential `protobuf:"bytes,2,opt,name=credential,proto3" json:"credential,omitempty"` // contains filtered or unexported fields }
func (*ReportCredentialRequest) Descriptor
deprecated
added in
v0.0.7
func (*ReportCredentialRequest) Descriptor() ([]byte, []int)
Deprecated: Use ReportCredentialRequest.ProtoReflect.Descriptor instead.
func (*ReportCredentialRequest) GetCredential ¶ added in v0.0.7
func (x *ReportCredentialRequest) GetCredential() *epb.Credential
func (*ReportCredentialRequest) GetTaskId ¶ added in v0.0.7
func (x *ReportCredentialRequest) GetTaskId() int64
func (*ReportCredentialRequest) ProtoMessage ¶ added in v0.0.7
func (*ReportCredentialRequest) ProtoMessage()
func (*ReportCredentialRequest) ProtoReflect ¶ added in v0.0.7
func (x *ReportCredentialRequest) ProtoReflect() protoreflect.Message
func (*ReportCredentialRequest) Reset ¶ added in v0.0.7
func (x *ReportCredentialRequest) Reset()
func (*ReportCredentialRequest) String ¶ added in v0.0.7
func (x *ReportCredentialRequest) String() string
type ReportCredentialResponse ¶ added in v0.0.7
type ReportCredentialResponse struct {
// contains filtered or unexported fields
}
func (*ReportCredentialResponse) Descriptor
deprecated
added in
v0.0.7
func (*ReportCredentialResponse) Descriptor() ([]byte, []int)
Deprecated: Use ReportCredentialResponse.ProtoReflect.Descriptor instead.
func (*ReportCredentialResponse) ProtoMessage ¶ added in v0.0.7
func (*ReportCredentialResponse) ProtoMessage()
func (*ReportCredentialResponse) ProtoReflect ¶ added in v0.0.7
func (x *ReportCredentialResponse) ProtoReflect() protoreflect.Message
func (*ReportCredentialResponse) Reset ¶ added in v0.0.7
func (x *ReportCredentialResponse) Reset()
func (*ReportCredentialResponse) String ¶ added in v0.0.7
func (x *ReportCredentialResponse) String() string
type ReportFileRequest ¶ added in v0.0.5
type ReportFileRequest struct { TaskId int64 `protobuf:"varint,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` Chunk *epb.File `protobuf:"bytes,2,opt,name=chunk,proto3" json:"chunk,omitempty"` // contains filtered or unexported fields }
func (*ReportFileRequest) Descriptor
deprecated
added in
v0.0.5
func (*ReportFileRequest) Descriptor() ([]byte, []int)
Deprecated: Use ReportFileRequest.ProtoReflect.Descriptor instead.
func (*ReportFileRequest) GetChunk ¶ added in v0.0.5
func (x *ReportFileRequest) GetChunk() *epb.File
func (*ReportFileRequest) GetTaskId ¶ added in v0.0.5
func (x *ReportFileRequest) GetTaskId() int64
func (*ReportFileRequest) ProtoMessage ¶ added in v0.0.5
func (*ReportFileRequest) ProtoMessage()
func (*ReportFileRequest) ProtoReflect ¶ added in v0.0.5
func (x *ReportFileRequest) ProtoReflect() protoreflect.Message
func (*ReportFileRequest) Reset ¶ added in v0.0.5
func (x *ReportFileRequest) Reset()
func (*ReportFileRequest) String ¶ added in v0.0.5
func (x *ReportFileRequest) String() string
type ReportFileResponse ¶ added in v0.0.5
type ReportFileResponse struct {
// contains filtered or unexported fields
}
func (*ReportFileResponse) Descriptor
deprecated
added in
v0.0.5
func (*ReportFileResponse) Descriptor() ([]byte, []int)
Deprecated: Use ReportFileResponse.ProtoReflect.Descriptor instead.
func (*ReportFileResponse) ProtoMessage ¶ added in v0.0.5
func (*ReportFileResponse) ProtoMessage()
func (*ReportFileResponse) ProtoReflect ¶ added in v0.0.5
func (x *ReportFileResponse) ProtoReflect() protoreflect.Message
func (*ReportFileResponse) Reset ¶ added in v0.0.5
func (x *ReportFileResponse) Reset()
func (*ReportFileResponse) String ¶ added in v0.0.5
func (x *ReportFileResponse) String() string
type ReportProcessListRequest ¶ added in v0.0.5
type ReportProcessListRequest struct { TaskId int64 `protobuf:"varint,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` List *epb.ProcessList `protobuf:"bytes,2,opt,name=list,proto3" json:"list,omitempty"` // contains filtered or unexported fields }
func (*ReportProcessListRequest) Descriptor
deprecated
added in
v0.0.5
func (*ReportProcessListRequest) Descriptor() ([]byte, []int)
Deprecated: Use ReportProcessListRequest.ProtoReflect.Descriptor instead.
func (*ReportProcessListRequest) GetList ¶ added in v0.0.5
func (x *ReportProcessListRequest) GetList() *epb.ProcessList
func (*ReportProcessListRequest) GetTaskId ¶ added in v0.0.5
func (x *ReportProcessListRequest) GetTaskId() int64
func (*ReportProcessListRequest) ProtoMessage ¶ added in v0.0.5
func (*ReportProcessListRequest) ProtoMessage()
func (*ReportProcessListRequest) ProtoReflect ¶ added in v0.0.5
func (x *ReportProcessListRequest) ProtoReflect() protoreflect.Message
func (*ReportProcessListRequest) Reset ¶ added in v0.0.5
func (x *ReportProcessListRequest) Reset()
func (*ReportProcessListRequest) String ¶ added in v0.0.5
func (x *ReportProcessListRequest) String() string
type ReportProcessListResponse ¶ added in v0.0.5
type ReportProcessListResponse struct {
// contains filtered or unexported fields
}
func (*ReportProcessListResponse) Descriptor
deprecated
added in
v0.0.5
func (*ReportProcessListResponse) Descriptor() ([]byte, []int)
Deprecated: Use ReportProcessListResponse.ProtoReflect.Descriptor instead.
func (*ReportProcessListResponse) ProtoMessage ¶ added in v0.0.5
func (*ReportProcessListResponse) ProtoMessage()
func (*ReportProcessListResponse) ProtoReflect ¶ added in v0.0.5
func (x *ReportProcessListResponse) ProtoReflect() protoreflect.Message
func (*ReportProcessListResponse) Reset ¶ added in v0.0.5
func (x *ReportProcessListResponse) Reset()
func (*ReportProcessListResponse) String ¶ added in v0.0.5
func (x *ReportProcessListResponse) String() string
type ReportTaskOutputRequest ¶
type ReportTaskOutputRequest struct { Output *TaskOutput `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` // contains filtered or unexported fields }
func (*ReportTaskOutputRequest) Descriptor
deprecated
func (*ReportTaskOutputRequest) Descriptor() ([]byte, []int)
Deprecated: Use ReportTaskOutputRequest.ProtoReflect.Descriptor instead.
func (*ReportTaskOutputRequest) GetOutput ¶
func (x *ReportTaskOutputRequest) GetOutput() *TaskOutput
func (*ReportTaskOutputRequest) ProtoMessage ¶
func (*ReportTaskOutputRequest) ProtoMessage()
func (*ReportTaskOutputRequest) ProtoReflect ¶
func (x *ReportTaskOutputRequest) ProtoReflect() protoreflect.Message
func (*ReportTaskOutputRequest) Reset ¶
func (x *ReportTaskOutputRequest) Reset()
func (*ReportTaskOutputRequest) String ¶
func (x *ReportTaskOutputRequest) String() string
type ReportTaskOutputResponse ¶
type ReportTaskOutputResponse struct {
// contains filtered or unexported fields
}
func (*ReportTaskOutputResponse) Descriptor
deprecated
func (*ReportTaskOutputResponse) Descriptor() ([]byte, []int)
Deprecated: Use ReportTaskOutputResponse.ProtoReflect.Descriptor instead.
func (*ReportTaskOutputResponse) ProtoMessage ¶
func (*ReportTaskOutputResponse) ProtoMessage()
func (*ReportTaskOutputResponse) ProtoReflect ¶
func (x *ReportTaskOutputResponse) ProtoReflect() protoreflect.Message
func (*ReportTaskOutputResponse) Reset ¶
func (x *ReportTaskOutputResponse) Reset()
func (*ReportTaskOutputResponse) String ¶
func (x *ReportTaskOutputResponse) String() string
type Task ¶
type Task struct { Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Tome *epb.Tome `protobuf:"bytes,2,opt,name=tome,proto3" json:"tome,omitempty"` QuestName string `protobuf:"bytes,3,opt,name=quest_name,json=questName,proto3" json:"quest_name,omitempty"` // contains filtered or unexported fields }
Task instructions for the beacon to execute.
func (*Task) Descriptor
deprecated
func (*Task) GetQuestName ¶ added in v0.0.5
func (*Task) ProtoMessage ¶
func (*Task) ProtoMessage()
func (*Task) ProtoReflect ¶
func (x *Task) ProtoReflect() protoreflect.Message
type TaskError ¶
type TaskError struct { Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // contains filtered or unexported fields }
TaskError provides information when task execution fails.
func (*TaskError) Descriptor
deprecated
func (*TaskError) ProtoMessage ¶
func (*TaskError) ProtoMessage()
func (*TaskError) ProtoReflect ¶
func (x *TaskError) ProtoReflect() protoreflect.Message
type TaskOutput ¶
type TaskOutput struct { Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Output string `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` Error *TaskError `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` // Indicates the UTC timestamp task execution began, set only in the first message for reporting. ExecStartedAt *timestamp.Timestamp `protobuf:"bytes,4,opt,name=exec_started_at,json=execStartedAt,proto3" json:"exec_started_at,omitempty"` // Indicates the UTC timestamp task execution completed, set only in last message for reporting. ExecFinishedAt *timestamp.Timestamp `protobuf:"bytes,5,opt,name=exec_finished_at,json=execFinishedAt,proto3" json:"exec_finished_at,omitempty"` // contains filtered or unexported fields }
TaskOutput provides information about a running task.
func (*TaskOutput) Descriptor
deprecated
func (*TaskOutput) Descriptor() ([]byte, []int)
Deprecated: Use TaskOutput.ProtoReflect.Descriptor instead.
func (*TaskOutput) GetError ¶
func (x *TaskOutput) GetError() *TaskError
func (*TaskOutput) GetExecFinishedAt ¶
func (x *TaskOutput) GetExecFinishedAt() *timestamp.Timestamp
func (*TaskOutput) GetExecStartedAt ¶
func (x *TaskOutput) GetExecStartedAt() *timestamp.Timestamp
func (*TaskOutput) GetId ¶
func (x *TaskOutput) GetId() int64
func (*TaskOutput) GetOutput ¶
func (x *TaskOutput) GetOutput() string
func (*TaskOutput) ProtoMessage ¶
func (*TaskOutput) ProtoMessage()
func (*TaskOutput) ProtoReflect ¶
func (x *TaskOutput) ProtoReflect() protoreflect.Message
func (*TaskOutput) Reset ¶
func (x *TaskOutput) Reset()
func (*TaskOutput) String ¶
func (x *TaskOutput) String() string
type UnimplementedC2Server ¶
type UnimplementedC2Server struct { }
UnimplementedC2Server must be embedded to have forward compatible implementations.
func (UnimplementedC2Server) ClaimTasks ¶
func (UnimplementedC2Server) ClaimTasks(context.Context, *ClaimTasksRequest) (*ClaimTasksResponse, error)
func (UnimplementedC2Server) FetchAsset ¶ added in v0.0.7
func (UnimplementedC2Server) FetchAsset(*FetchAssetRequest, C2_FetchAssetServer) error
func (UnimplementedC2Server) ReportCredential ¶ added in v0.0.7
func (UnimplementedC2Server) ReportCredential(context.Context, *ReportCredentialRequest) (*ReportCredentialResponse, error)
func (UnimplementedC2Server) ReportFile ¶ added in v0.0.5
func (UnimplementedC2Server) ReportFile(C2_ReportFileServer) error
func (UnimplementedC2Server) ReportProcessList ¶ added in v0.0.5
func (UnimplementedC2Server) ReportProcessList(context.Context, *ReportProcessListRequest) (*ReportProcessListResponse, error)
func (UnimplementedC2Server) ReportTaskOutput ¶
func (UnimplementedC2Server) ReportTaskOutput(context.Context, *ReportTaskOutputRequest) (*ReportTaskOutputResponse, error)
type UnsafeC2Server ¶
type UnsafeC2Server interface {
// contains filtered or unexported methods
}
UnsafeC2Server may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to C2Server will result in compilation errors.