c2pb

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2024 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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.

View Source
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)

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) Descriptor() ([]byte, []int)

Deprecated: Use Agent.ProtoReflect.Descriptor instead.

func (*Agent) GetIdentifier

func (x *Agent) GetIdentifier() string

func (*Agent) ProtoMessage

func (*Agent) ProtoMessage()

func (*Agent) ProtoReflect

func (x *Agent) ProtoReflect() protoreflect.Message

func (*Agent) Reset

func (x *Agent) Reset()

func (*Agent) String

func (x *Agent) String() string

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) Descriptor() ([]byte, []int)

Deprecated: Use Beacon.ProtoReflect.Descriptor instead.

func (*Beacon) GetAgent

func (x *Beacon) GetAgent() *Agent

func (*Beacon) GetHost

func (x *Beacon) GetHost() *Host

func (*Beacon) GetIdentifier

func (x *Beacon) GetIdentifier() string

func (*Beacon) GetInterval

func (x *Beacon) GetInterval() uint64

func (*Beacon) GetPrincipal

func (x *Beacon) GetPrincipal() string

func (*Beacon) ProtoMessage

func (*Beacon) ProtoMessage()

func (*Beacon) ProtoReflect

func (x *Beacon) ProtoReflect() protoreflect.Message

func (*Beacon) Reset

func (x *Beacon) Reset()

func (*Beacon) String

func (x *Beacon) String() string

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) Descriptor() ([]byte, []int)

Deprecated: Use Host.ProtoReflect.Descriptor instead.

func (*Host) GetIdentifier

func (x *Host) GetIdentifier() string

func (*Host) GetName

func (x *Host) GetName() string

func (*Host) GetPlatform

func (x *Host) GetPlatform() Host_Platform

func (*Host) GetPrimaryIp

func (x *Host) GetPrimaryIp() string

func (*Host) ProtoMessage

func (*Host) ProtoMessage()

func (*Host) ProtoReflect

func (x *Host) ProtoReflect() protoreflect.Message

func (*Host) Reset

func (x *Host) Reset()

func (*Host) String

func (x *Host) String() string

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) 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 (*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) 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 (*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 (*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) Descriptor() ([]byte, []int)

Deprecated: Use Task.ProtoReflect.Descriptor instead.

func (*Task) GetId

func (x *Task) GetId() int64

func (*Task) GetQuestName added in v0.0.5

func (x *Task) GetQuestName() string

func (*Task) GetTome added in v0.0.5

func (x *Task) GetTome() *epb.Tome

func (*Task) ProtoMessage

func (*Task) ProtoMessage()

func (*Task) ProtoReflect

func (x *Task) ProtoReflect() protoreflect.Message

func (*Task) Reset

func (x *Task) Reset()

func (*Task) String

func (x *Task) String() string

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) Descriptor() ([]byte, []int)

Deprecated: Use TaskError.ProtoReflect.Descriptor instead.

func (*TaskError) GetMsg

func (x *TaskError) GetMsg() string

func (*TaskError) ProtoMessage

func (*TaskError) ProtoMessage()

func (*TaskError) ProtoReflect

func (x *TaskError) ProtoReflect() protoreflect.Message

func (*TaskError) Reset

func (x *TaskError) Reset()

func (*TaskError) String

func (x *TaskError) String() string

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) FetchAsset added in v0.0.7

func (UnimplementedC2Server) ReportCredential added in v0.0.7

func (UnimplementedC2Server) ReportFile added in v0.0.5

func (UnimplementedC2Server) ReportProcessList added in v0.0.5

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.

Jump to

Keyboard shortcuts

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