Documentation
¶
Index ¶
- Variables
- func RegisterMerlinServer(s grpc.ServiceRegistrar, srv MerlinServer)
- type AgentCMD
- type AgentInfo
- func (*AgentInfo) Descriptor() ([]byte, []int)deprecated
- func (x *AgentInfo) GetAlive() bool
- func (x *AgentInfo) GetAuthenticated() bool
- func (x *AgentInfo) GetBuild() *Build
- func (x *AgentInfo) GetComms() *Comms
- func (x *AgentInfo) GetGroups() []string
- func (x *AgentInfo) GetHost() *Host
- func (x *AgentInfo) GetID() string
- func (x *AgentInfo) GetInitialCheckin() string
- func (x *AgentInfo) GetLastCheckin() string
- func (x *AgentInfo) GetLinks() []string
- func (x *AgentInfo) GetListener() string
- func (x *AgentInfo) GetNote() string
- func (x *AgentInfo) GetProcess() *Process
- func (x *AgentInfo) GetStatus() string
- func (*AgentInfo) ProtoMessage()
- func (x *AgentInfo) ProtoReflect() protoreflect.Message
- func (x *AgentInfo) Reset()
- func (x *AgentInfo) String() string
- type Build
- type Comms
- func (*Comms) Descriptor() ([]byte, []int)deprecated
- func (x *Comms) GetFailed() int32
- func (x *Comms) GetJA3() string
- func (x *Comms) GetKillDate() int64
- func (x *Comms) GetPadding() int32
- func (x *Comms) GetProtocol() string
- func (x *Comms) GetRetry() int32
- func (x *Comms) GetSkew() int64
- func (x *Comms) GetWait() string
- func (*Comms) ProtoMessage()
- func (x *Comms) ProtoReflect() protoreflect.Message
- func (x *Comms) Reset()
- func (x *Comms) String() string
- type Group
- type GroupMember
- func (*GroupMember) Descriptor() ([]byte, []int)deprecated
- func (x *GroupMember) GetGroup() string
- func (x *GroupMember) GetMembers() []string
- func (*GroupMember) ProtoMessage()
- func (x *GroupMember) ProtoReflect() protoreflect.Message
- func (x *GroupMember) Reset()
- func (x *GroupMember) String() string
- type GroupMembers
- type Host
- func (*Host) Descriptor() ([]byte, []int)deprecated
- func (x *Host) GetArchitecture() string
- func (x *Host) GetIPs() []string
- func (x *Host) GetName() string
- func (x *Host) GetPlatform() string
- func (*Host) ProtoMessage()
- func (x *Host) ProtoReflect() protoreflect.Message
- func (x *Host) Reset()
- func (x *Host) String() string
- type ID
- type Job
- func (*Job) Descriptor() ([]byte, []int)deprecated
- func (x *Job) GetAgentID() string
- func (x *Job) GetCommand() string
- func (x *Job) GetCompleted() string
- func (x *Job) GetCreated() string
- func (x *Job) GetID() string
- func (x *Job) GetSent() string
- func (x *Job) GetStatus() string
- func (*Job) ProtoMessage()
- func (x *Job) ProtoReflect() protoreflect.Message
- func (x *Job) Reset()
- func (x *Job) String() string
- type Jobs
- type Login
- type MerlinClient
- type MerlinServer
- type Merlin_ListenClient
- type Merlin_ListenServer
- type Message
- func (*Message) Descriptor() ([]byte, []int)deprecated
- func (x *Message) GetError() bool
- func (x *Message) GetLevel() MessageLevel
- func (x *Message) GetMessage() string
- func (x *Message) GetTimestamp() string
- func (*Message) ProtoMessage()
- func (x *Message) ProtoReflect() protoreflect.Message
- func (x *Message) Reset()
- func (x *Message) String() string
- type MessageLevel
- func (MessageLevel) Descriptor() protoreflect.EnumDescriptor
- func (x MessageLevel) Enum() *MessageLevel
- func (MessageLevel) EnumDescriptor() ([]byte, []int)deprecated
- func (x MessageLevel) Number() protoreflect.EnumNumber
- func (x MessageLevel) String() string
- func (MessageLevel) Type() protoreflect.EnumType
- type Messages
- type Module
- func (*Module) Descriptor() ([]byte, []int)deprecated
- func (x *Module) GetAgent() string
- func (x *Module) GetArch() string
- func (x *Module) GetAuthor() []string
- func (x *Module) GetCommands() []string
- func (x *Module) GetCredits() []string
- func (x *Module) GetDescription() string
- func (x *Module) GetExtended() bool
- func (x *Module) GetID() string
- func (x *Module) GetLang() string
- func (x *Module) GetName() string
- func (x *Module) GetNotes() string
- func (x *Module) GetOptions() []*ModuleOption
- func (x *Module) GetPath() []string
- func (x *Module) GetPlatform() string
- func (x *Module) GetPriv() bool
- func (x *Module) GetSourceLocal() []string
- func (x *Module) GetSourceRemote() string
- func (*Module) ProtoMessage()
- func (x *Module) ProtoReflect() protoreflect.Message
- func (x *Module) Reset()
- func (x *Module) String() string
- type ModuleOption
- func (*ModuleOption) Descriptor() ([]byte, []int)deprecated
- func (x *ModuleOption) GetDescription() string
- func (x *ModuleOption) GetFlag() string
- func (x *ModuleOption) GetName() string
- func (x *ModuleOption) GetRequired() bool
- func (x *ModuleOption) GetValue() string
- func (*ModuleOption) ProtoMessage()
- func (x *ModuleOption) ProtoReflect() protoreflect.Message
- func (x *ModuleOption) Reset()
- func (x *ModuleOption) String() string
- type ModuleRun
- func (*ModuleRun) Descriptor() ([]byte, []int)deprecated
- func (x *ModuleRun) GetAgent() string
- func (x *ModuleRun) GetCommands() []string
- func (x *ModuleRun) GetExtended() bool
- func (x *ModuleRun) GetName() string
- func (x *ModuleRun) GetOptions() []*ModuleOption
- func (x *ModuleRun) GetPlatform() string
- func (*ModuleRun) ProtoMessage()
- func (x *ModuleRun) ProtoReflect() protoreflect.Message
- func (x *ModuleRun) Reset()
- func (x *ModuleRun) String() string
- type Options
- type Process
- func (*Process) Descriptor() ([]byte, []int)deprecated
- func (x *Process) GetDomain() string
- func (x *Process) GetID() int32
- func (x *Process) GetIntegrityLevel() int32
- func (x *Process) GetName() string
- func (x *Process) GetUserGUID() string
- func (x *Process) GetUsername() string
- func (*Process) ProtoMessage()
- func (x *Process) ProtoReflect() protoreflect.Message
- func (x *Process) Reset()
- func (x *Process) String() string
- type Slice
- type String
- type TableData
- type TableRows
- type UnimplementedMerlinServer
- func (UnimplementedMerlinServer) Any(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) CD(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) CMD(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) CheckIn(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) ClearJobs(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) ClearJobsCreated(context.Context, *emptypb.Empty) (*Message, error)
- func (UnimplementedMerlinServer) Connect(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) CreateListener(context.Context, *Options) (*Message, error)
- func (UnimplementedMerlinServer) Download(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) ENV(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) ExecuteAssembly(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) ExecutePE(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) ExecuteShellcode(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Exit(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) GetAgent(context.Context, *ID) (*AgentInfo, error)
- func (UnimplementedMerlinServer) GetAgentActiveJobs(context.Context, *ID) (*Jobs, error)
- func (UnimplementedMerlinServer) GetAgentJobs(context.Context, *ID) (*Jobs, error)
- func (UnimplementedMerlinServer) GetAgentLinks(context.Context, *ID) (*Slice, error)
- func (UnimplementedMerlinServer) GetAgentRows(context.Context, *emptypb.Empty) (*TableData, error)
- func (UnimplementedMerlinServer) GetAgentStatus(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) GetAgents(context.Context, *emptypb.Empty) (*Slice, error)
- func (UnimplementedMerlinServer) GetAllActiveJobs(context.Context, *emptypb.Empty) (*Jobs, error)
- func (UnimplementedMerlinServer) GetAllJobs(context.Context, *emptypb.Empty) (*Jobs, error)
- func (UnimplementedMerlinServer) GetListenerDefaultOptions(context.Context, *String) (*Options, error)
- func (UnimplementedMerlinServer) GetListenerIDs(context.Context, *emptypb.Empty) (*Slice, error)
- func (UnimplementedMerlinServer) GetListenerOptions(context.Context, *ID) (*Options, error)
- func (UnimplementedMerlinServer) GetListenerStatus(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) GetListenerTypes(context.Context, *emptypb.Empty) (*Slice, error)
- func (UnimplementedMerlinServer) GetListeners(context.Context, *emptypb.Empty) (*TableData, error)
- func (UnimplementedMerlinServer) GetModule(context.Context, *String) (*Module, error)
- func (UnimplementedMerlinServer) GetModuleList(context.Context, *emptypb.Empty) (*Slice, error)
- func (UnimplementedMerlinServer) GroupAdd(context.Context, *Group) (*Message, error)
- func (UnimplementedMerlinServer) GroupList(context.Context, *ID) (*Slice, error)
- func (UnimplementedMerlinServer) GroupListAll(context.Context, *emptypb.Empty) (*GroupMembers, error)
- func (UnimplementedMerlinServer) GroupRemove(context.Context, *Group) (*Message, error)
- func (UnimplementedMerlinServer) Groups(context.Context, *emptypb.Empty) (*Slice, error)
- func (UnimplementedMerlinServer) IFConfig(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) InvokeAssembly(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) JA3(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) KillDate(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) KillProcess(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) LS(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) LinkAgent(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) ListAssemblies(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) Listen(*ID, Merlin_ListenServer) error
- func (UnimplementedMerlinServer) Listener(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) LoadAssembly(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) LoadCLR(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) MEMFD(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) MaxRetry(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Memory(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Netstat(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Note(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Nslookup(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) PS(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) PWD(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) Padding(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Parrot(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Pipes(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) RM(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Reconnect(context.Context, *ID) (*ID, error)
- func (UnimplementedMerlinServer) Register(context.Context, *emptypb.Empty) (*ID, error)
- func (UnimplementedMerlinServer) Remove(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) RemoveListener(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) RestartListener(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) RunAs(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) RunModule(context.Context, *ModuleRun) (*Messages, error)
- func (UnimplementedMerlinServer) SSH(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) SecureDelete(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Servers(context.Context, *emptypb.Empty) (*Slice, error)
- func (UnimplementedMerlinServer) SetListenerOption(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) SharpGen(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Skew(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Sleep(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Socks(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) StartListener(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) StopListener(context.Context, *ID) (*Message, error)
- func (UnimplementedMerlinServer) Token(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Touch(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) UnlinkAgent(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Upload(context.Context, *AgentCMD) (*Message, error)
- func (UnimplementedMerlinServer) Uptime(context.Context, *ID) (*Message, error)
- type UnsafeMerlinServer
Constants ¶
This section is empty.
Variables ¶
var ( MessageLevel_name = map[int32]string{ 0: "UNDEFINED", 1: "INFO", 2: "NOTE", 3: "WARN", 4: "DEBUG", 5: "SUCCESS", 6: "PLAIN", } MessageLevel_value = map[string]int32{ "UNDEFINED": 0, "INFO": 1, "NOTE": 2, "WARN": 3, "DEBUG": 4, "SUCCESS": 5, "PLAIN": 6, } )
Enum value maps for MessageLevel.
var File_pkg_rpc_rpc_proto protoreflect.FileDescriptor
var Merlin_ServiceDesc = grpc.ServiceDesc{ ServiceName: "rpc.Merlin", HandlerType: (*MerlinServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Reconnect", Handler: _Merlin_Reconnect_Handler, }, { MethodName: "Register", Handler: _Merlin_Register_Handler, }, { MethodName: "Any", Handler: _Merlin_Any_Handler, }, { MethodName: "CD", Handler: _Merlin_CD_Handler, }, { MethodName: "CheckIn", Handler: _Merlin_CheckIn_Handler, }, { MethodName: "ClearJobs", Handler: _Merlin_ClearJobs_Handler, }, { MethodName: "ClearJobsCreated", Handler: _Merlin_ClearJobsCreated_Handler, }, { MethodName: "CMD", Handler: _Merlin_CMD_Handler, }, { MethodName: "Connect", Handler: _Merlin_Connect_Handler, }, { MethodName: "Download", Handler: _Merlin_Download_Handler, }, { MethodName: "ENV", Handler: _Merlin_ENV_Handler, }, { MethodName: "ExecuteAssembly", Handler: _Merlin_ExecuteAssembly_Handler, }, { MethodName: "ExecutePE", Handler: _Merlin_ExecutePE_Handler, }, { MethodName: "ExecuteShellcode", Handler: _Merlin_ExecuteShellcode_Handler, }, { MethodName: "Exit", Handler: _Merlin_Exit_Handler, }, { MethodName: "IFConfig", Handler: _Merlin_IFConfig_Handler, }, { MethodName: "InvokeAssembly", Handler: _Merlin_InvokeAssembly_Handler, }, { MethodName: "JA3", Handler: _Merlin_JA3_Handler, }, { MethodName: "KillDate", Handler: _Merlin_KillDate_Handler, }, { MethodName: "KillProcess", Handler: _Merlin_KillProcess_Handler, }, { MethodName: "LinkAgent", Handler: _Merlin_LinkAgent_Handler, }, { MethodName: "ListAssemblies", Handler: _Merlin_ListAssemblies_Handler, }, { MethodName: "Listener", Handler: _Merlin_Listener_Handler, }, { MethodName: "LoadAssembly", Handler: _Merlin_LoadAssembly_Handler, }, { MethodName: "LoadCLR", Handler: _Merlin_LoadCLR_Handler, }, { MethodName: "LS", Handler: _Merlin_LS_Handler, }, { MethodName: "MaxRetry", Handler: _Merlin_MaxRetry_Handler, }, { MethodName: "Memory", Handler: _Merlin_Memory_Handler, }, { MethodName: "MEMFD", Handler: _Merlin_MEMFD_Handler, }, { MethodName: "Netstat", Handler: _Merlin_Netstat_Handler, }, { MethodName: "Note", Handler: _Merlin_Note_Handler, }, { MethodName: "Nslookup", Handler: _Merlin_Nslookup_Handler, }, { MethodName: "Padding", Handler: _Merlin_Padding_Handler, }, { MethodName: "Parrot", Handler: _Merlin_Parrot_Handler, }, { MethodName: "Pipes", Handler: _Merlin_Pipes_Handler, }, { MethodName: "PS", Handler: _Merlin_PS_Handler, }, { MethodName: "PWD", Handler: _Merlin_PWD_Handler, }, { MethodName: "RM", Handler: _Merlin_RM_Handler, }, { MethodName: "RunAs", Handler: _Merlin_RunAs_Handler, }, { MethodName: "SecureDelete", Handler: _Merlin_SecureDelete_Handler, }, { MethodName: "SharpGen", Handler: _Merlin_SharpGen_Handler, }, { MethodName: "Skew", Handler: _Merlin_Skew_Handler, }, { MethodName: "Sleep", Handler: _Merlin_Sleep_Handler, }, { MethodName: "Socks", Handler: _Merlin_Socks_Handler, }, { MethodName: "SSH", Handler: _Merlin_SSH_Handler, }, { MethodName: "Token", Handler: _Merlin_Token_Handler, }, { MethodName: "Touch", Handler: _Merlin_Touch_Handler, }, { MethodName: "UnlinkAgent", Handler: _Merlin_UnlinkAgent_Handler, }, { MethodName: "Upload", Handler: _Merlin_Upload_Handler, }, { MethodName: "Uptime", Handler: _Merlin_Uptime_Handler, }, { MethodName: "Groups", Handler: _Merlin_Groups_Handler, }, { MethodName: "GroupAdd", Handler: _Merlin_GroupAdd_Handler, }, { MethodName: "GroupList", Handler: _Merlin_GroupList_Handler, }, { MethodName: "GroupListAll", Handler: _Merlin_GroupListAll_Handler, }, { MethodName: "GroupRemove", Handler: _Merlin_GroupRemove_Handler, }, { MethodName: "GetAgent", Handler: _Merlin_GetAgent_Handler, }, { MethodName: "GetAgents", Handler: _Merlin_GetAgents_Handler, }, { MethodName: "GetAgentLinks", Handler: _Merlin_GetAgentLinks_Handler, }, { MethodName: "GetAgentStatus", Handler: _Merlin_GetAgentStatus_Handler, }, { MethodName: "GetAgentRows", Handler: _Merlin_GetAgentRows_Handler, }, { MethodName: "Remove", Handler: _Merlin_Remove_Handler, }, { MethodName: "GetAllJobs", Handler: _Merlin_GetAllJobs_Handler, }, { MethodName: "GetAllActiveJobs", Handler: _Merlin_GetAllActiveJobs_Handler, }, { MethodName: "GetAgentJobs", Handler: _Merlin_GetAgentJobs_Handler, }, { MethodName: "GetAgentActiveJobs", Handler: _Merlin_GetAgentActiveJobs_Handler, }, { MethodName: "CreateListener", Handler: _Merlin_CreateListener_Handler, }, { MethodName: "GetListenerIDs", Handler: _Merlin_GetListenerIDs_Handler, }, { MethodName: "GetListeners", Handler: _Merlin_GetListeners_Handler, }, { MethodName: "GetListenerOptions", Handler: _Merlin_GetListenerOptions_Handler, }, { MethodName: "GetListenerDefaultOptions", Handler: _Merlin_GetListenerDefaultOptions_Handler, }, { MethodName: "GetListenerTypes", Handler: _Merlin_GetListenerTypes_Handler, }, { MethodName: "GetListenerStatus", Handler: _Merlin_GetListenerStatus_Handler, }, { MethodName: "RemoveListener", Handler: _Merlin_RemoveListener_Handler, }, { MethodName: "RestartListener", Handler: _Merlin_RestartListener_Handler, }, { MethodName: "SetListenerOption", Handler: _Merlin_SetListenerOption_Handler, }, { MethodName: "StartListener", Handler: _Merlin_StartListener_Handler, }, { MethodName: "StopListener", Handler: _Merlin_StopListener_Handler, }, { MethodName: "Servers", Handler: _Merlin_Servers_Handler, }, { MethodName: "GetModule", Handler: _Merlin_GetModule_Handler, }, { MethodName: "GetModuleList", Handler: _Merlin_GetModuleList_Handler, }, { MethodName: "RunModule", Handler: _Merlin_RunModule_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "Listen", Handler: _Merlin_Listen_Handler, ServerStreams: true, }, }, Metadata: "pkg/rpc/rpc.proto", }
Merlin_ServiceDesc is the grpc.ServiceDesc for Merlin service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterMerlinServer ¶
func RegisterMerlinServer(s grpc.ServiceRegistrar, srv MerlinServer)
Types ¶
type AgentCMD ¶
type AgentCMD struct { ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` Arguments []string `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"` // contains filtered or unexported fields }
func (*AgentCMD) Descriptor
deprecated
func (*AgentCMD) GetArguments ¶
func (*AgentCMD) ProtoMessage ¶
func (*AgentCMD) ProtoMessage()
func (*AgentCMD) ProtoReflect ¶
func (x *AgentCMD) ProtoReflect() protoreflect.Message
type AgentInfo ¶
type AgentInfo struct { ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` Alive bool `protobuf:"varint,2,opt,name=Alive,proto3" json:"Alive,omitempty"` Authenticated bool `protobuf:"varint,3,opt,name=Authenticated,proto3" json:"Authenticated,omitempty"` Build *Build `protobuf:"bytes,4,opt,name=Build,proto3" json:"Build,omitempty"` Host *Host `protobuf:"bytes,5,opt,name=Host,proto3" json:"Host,omitempty"` Process *Process `protobuf:"bytes,6,opt,name=Process,proto3" json:"Process,omitempty"` Comms *Comms `protobuf:"bytes,7,opt,name=Comms,proto3" json:"Comms,omitempty"` InitialCheckin string `protobuf:"bytes,8,opt,name=InitialCheckin,proto3" json:"InitialCheckin,omitempty"` LastCheckin string `protobuf:"bytes,9,opt,name=LastCheckin,proto3" json:"LastCheckin,omitempty"` Links []string `protobuf:"bytes,10,rep,name=Links,proto3" json:"Links,omitempty"` Listener string `protobuf:"bytes,11,opt,name=Listener,proto3" json:"Listener,omitempty"` Note string `protobuf:"bytes,12,opt,name=Note,proto3" json:"Note,omitempty"` Status string `protobuf:"bytes,13,opt,name=Status,proto3" json:"Status,omitempty"` Groups []string `protobuf:"bytes,14,rep,name=Groups,proto3" json:"Groups,omitempty"` // contains filtered or unexported fields }
func (*AgentInfo) Descriptor
deprecated
func (*AgentInfo) GetAuthenticated ¶
func (*AgentInfo) GetInitialCheckin ¶
func (*AgentInfo) GetLastCheckin ¶
func (*AgentInfo) GetListener ¶
func (*AgentInfo) GetProcess ¶
func (*AgentInfo) ProtoMessage ¶
func (*AgentInfo) ProtoMessage()
func (*AgentInfo) ProtoReflect ¶
func (x *AgentInfo) ProtoReflect() protoreflect.Message
type Build ¶
type Build struct { Build string `protobuf:"bytes,1,opt,name=Build,proto3" json:"Build,omitempty"` Version string `protobuf:"bytes,2,opt,name=Version,proto3" json:"Version,omitempty"` // contains filtered or unexported fields }
func (*Build) Descriptor
deprecated
func (*Build) GetVersion ¶
func (*Build) ProtoMessage ¶
func (*Build) ProtoMessage()
func (*Build) ProtoReflect ¶
func (x *Build) ProtoReflect() protoreflect.Message
type Comms ¶
type Comms struct { Failed int32 `protobuf:"varint,1,opt,name=Failed,proto3" json:"Failed,omitempty"` JA3 string `protobuf:"bytes,2,opt,name=JA3,proto3" json:"JA3,omitempty"` KillDate int64 `protobuf:"varint,3,opt,name=KillDate,proto3" json:"KillDate,omitempty"` Padding int32 `protobuf:"varint,4,opt,name=Padding,proto3" json:"Padding,omitempty"` Protocol string `protobuf:"bytes,5,opt,name=Protocol,proto3" json:"Protocol,omitempty"` Retry int32 `protobuf:"varint,6,opt,name=Retry,proto3" json:"Retry,omitempty"` Skew int64 `protobuf:"varint,7,opt,name=Skew,proto3" json:"Skew,omitempty"` Wait string `protobuf:"bytes,8,opt,name=Wait,proto3" json:"Wait,omitempty"` // contains filtered or unexported fields }
func (*Comms) Descriptor
deprecated
func (*Comms) GetKillDate ¶
func (*Comms) GetPadding ¶
func (*Comms) GetProtocol ¶
func (*Comms) ProtoMessage ¶
func (*Comms) ProtoMessage()
func (*Comms) ProtoReflect ¶
func (x *Comms) ProtoReflect() protoreflect.Message
type Group ¶
type Group struct { Group string `protobuf:"bytes,1,opt,name=Group,proto3" json:"Group,omitempty"` AgentID string `protobuf:"bytes,2,opt,name=AgentID,proto3" json:"AgentID,omitempty"` // contains filtered or unexported fields }
func (*Group) Descriptor
deprecated
func (*Group) GetAgentID ¶
func (*Group) ProtoMessage ¶
func (*Group) ProtoMessage()
func (*Group) ProtoReflect ¶
func (x *Group) ProtoReflect() protoreflect.Message
type GroupMember ¶
type GroupMember struct { Group string `protobuf:"bytes,1,opt,name=Group,proto3" json:"Group,omitempty"` Members []string `protobuf:"bytes,2,rep,name=Members,proto3" json:"Members,omitempty"` // contains filtered or unexported fields }
func (*GroupMember) Descriptor
deprecated
func (*GroupMember) Descriptor() ([]byte, []int)
Deprecated: Use GroupMember.ProtoReflect.Descriptor instead.
func (*GroupMember) GetGroup ¶
func (x *GroupMember) GetGroup() string
func (*GroupMember) GetMembers ¶
func (x *GroupMember) GetMembers() []string
func (*GroupMember) ProtoMessage ¶
func (*GroupMember) ProtoMessage()
func (*GroupMember) ProtoReflect ¶
func (x *GroupMember) ProtoReflect() protoreflect.Message
func (*GroupMember) Reset ¶
func (x *GroupMember) Reset()
func (*GroupMember) String ¶
func (x *GroupMember) String() string
type GroupMembers ¶
type GroupMembers struct { Members []*GroupMember `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` // contains filtered or unexported fields }
func (*GroupMembers) Descriptor
deprecated
func (*GroupMembers) Descriptor() ([]byte, []int)
Deprecated: Use GroupMembers.ProtoReflect.Descriptor instead.
func (*GroupMembers) GetMembers ¶
func (x *GroupMembers) GetMembers() []*GroupMember
func (*GroupMembers) ProtoMessage ¶
func (*GroupMembers) ProtoMessage()
func (*GroupMembers) ProtoReflect ¶
func (x *GroupMembers) ProtoReflect() protoreflect.Message
func (*GroupMembers) Reset ¶
func (x *GroupMembers) Reset()
func (*GroupMembers) String ¶
func (x *GroupMembers) String() string
type Host ¶
type Host struct { Architecture string `protobuf:"bytes,1,opt,name=Architecture,proto3" json:"Architecture,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"` IPs []string `protobuf:"bytes,4,rep,name=IPs,proto3" json:"IPs,omitempty"` // contains filtered or unexported fields }
func (*Host) Descriptor
deprecated
func (*Host) GetArchitecture ¶
func (*Host) GetPlatform ¶
func (*Host) ProtoMessage ¶
func (*Host) ProtoMessage()
func (*Host) ProtoReflect ¶
func (x *Host) ProtoReflect() protoreflect.Message
type ID ¶
type ID struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // contains filtered or unexported fields }
func (*ID) Descriptor
deprecated
func (*ID) ProtoMessage ¶
func (*ID) ProtoMessage()
func (*ID) ProtoReflect ¶
func (x *ID) ProtoReflect() protoreflect.Message
type Job ¶
type Job struct { ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` AgentID string `protobuf:"bytes,2,opt,name=AgentID,proto3" json:"AgentID,omitempty"` Command string `protobuf:"bytes,3,opt,name=Command,proto3" json:"Command,omitempty"` Created string `protobuf:"bytes,4,opt,name=Created,proto3" json:"Created,omitempty"` Completed string `protobuf:"bytes,5,opt,name=Completed,proto3" json:"Completed,omitempty"` Status string `protobuf:"bytes,6,opt,name=Status,proto3" json:"Status,omitempty"` Sent string `protobuf:"bytes,7,opt,name=Sent,proto3" json:"Sent,omitempty"` // contains filtered or unexported fields }
func (*Job) Descriptor
deprecated
func (*Job) GetAgentID ¶
func (*Job) GetCommand ¶
func (*Job) GetCompleted ¶
func (*Job) GetCreated ¶
func (*Job) ProtoMessage ¶
func (*Job) ProtoMessage()
func (*Job) ProtoReflect ¶
func (x *Job) ProtoReflect() protoreflect.Message
type Jobs ¶
type Jobs struct { Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` // contains filtered or unexported fields }
func (*Jobs) Descriptor
deprecated
func (*Jobs) ProtoMessage ¶
func (*Jobs) ProtoMessage()
func (*Jobs) ProtoReflect ¶
func (x *Jobs) ProtoReflect() protoreflect.Message
type Login ¶ added in v1.1.0
type Login struct { Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` // contains filtered or unexported fields }
func (*Login) Descriptor
deprecated
added in
v1.1.0
func (*Login) GetPassword ¶ added in v1.1.0
func (*Login) GetUsername ¶ added in v1.1.0
func (*Login) ProtoMessage ¶ added in v1.1.0
func (*Login) ProtoMessage()
func (*Login) ProtoReflect ¶ added in v1.1.0
func (x *Login) ProtoReflect() protoreflect.Message
type MerlinClient ¶
type MerlinClient interface { Reconnect(ctx context.Context, in *ID, opts ...grpc.CallOption) (*ID, error) Register(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ID, error) Listen(ctx context.Context, in *ID, opts ...grpc.CallOption) (Merlin_ListenClient, error) // Agent Commands Any(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) CD(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) CheckIn(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) ClearJobs(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) ClearJobsCreated(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Message, error) CMD(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Connect(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Download(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) ENV(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) ExecuteAssembly(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) ExecutePE(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) ExecuteShellcode(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Exit(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) IFConfig(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) InvokeAssembly(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) JA3(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) KillDate(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) KillProcess(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) LinkAgent(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) ListAssemblies(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) Listener(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) LoadAssembly(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) LoadCLR(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) LS(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) MaxRetry(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Memory(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) MEMFD(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Netstat(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Note(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Nslookup(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Padding(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Parrot(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Pipes(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) PS(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) PWD(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) RM(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) RunAs(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) SecureDelete(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) SharpGen(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Skew(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Sleep(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Socks(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) SSH(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Token(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Touch(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) UnlinkAgent(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Upload(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) Uptime(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) // Agent Service Groups(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Slice, error) GroupAdd(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Message, error) GroupList(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Slice, error) GroupListAll(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GroupMembers, error) GroupRemove(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Message, error) GetAgent(ctx context.Context, in *ID, opts ...grpc.CallOption) (*AgentInfo, error) GetAgents(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Slice, error) GetAgentLinks(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Slice, error) GetAgentStatus(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) GetAgentRows(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TableData, error) Remove(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) // Job Service GetAllJobs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Jobs, error) GetAllActiveJobs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Jobs, error) GetAgentJobs(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Jobs, error) GetAgentActiveJobs(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Jobs, error) // Listener CreateListener(ctx context.Context, in *Options, opts ...grpc.CallOption) (*Message, error) GetListenerIDs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Slice, error) GetListeners(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TableData, error) GetListenerOptions(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Options, error) GetListenerDefaultOptions(ctx context.Context, in *String, opts ...grpc.CallOption) (*Options, error) GetListenerTypes(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Slice, error) GetListenerStatus(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) RemoveListener(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) RestartListener(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) SetListenerOption(ctx context.Context, in *AgentCMD, opts ...grpc.CallOption) (*Message, error) StartListener(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) StopListener(ctx context.Context, in *ID, opts ...grpc.CallOption) (*Message, error) Servers(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Slice, error) GetModule(ctx context.Context, in *String, opts ...grpc.CallOption) (*Module, error) GetModuleList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Slice, error) RunModule(ctx context.Context, in *ModuleRun, opts ...grpc.CallOption) (*Messages, error) }
MerlinClient is the client API for Merlin 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 NewMerlinClient ¶
func NewMerlinClient(cc grpc.ClientConnInterface) MerlinClient
type MerlinServer ¶
type MerlinServer interface { Reconnect(context.Context, *ID) (*ID, error) Register(context.Context, *emptypb.Empty) (*ID, error) Listen(*ID, Merlin_ListenServer) error // Agent Commands Any(context.Context, *AgentCMD) (*Message, error) CD(context.Context, *AgentCMD) (*Message, error) CheckIn(context.Context, *ID) (*Message, error) ClearJobs(context.Context, *ID) (*Message, error) ClearJobsCreated(context.Context, *emptypb.Empty) (*Message, error) CMD(context.Context, *AgentCMD) (*Message, error) Connect(context.Context, *AgentCMD) (*Message, error) Download(context.Context, *AgentCMD) (*Message, error) ENV(context.Context, *AgentCMD) (*Message, error) ExecuteAssembly(context.Context, *AgentCMD) (*Message, error) ExecutePE(context.Context, *AgentCMD) (*Message, error) ExecuteShellcode(context.Context, *AgentCMD) (*Message, error) Exit(context.Context, *ID) (*Message, error) IFConfig(context.Context, *ID) (*Message, error) InvokeAssembly(context.Context, *AgentCMD) (*Message, error) JA3(context.Context, *AgentCMD) (*Message, error) KillDate(context.Context, *AgentCMD) (*Message, error) KillProcess(context.Context, *AgentCMD) (*Message, error) LinkAgent(context.Context, *AgentCMD) (*Message, error) ListAssemblies(context.Context, *ID) (*Message, error) Listener(context.Context, *AgentCMD) (*Message, error) LoadAssembly(context.Context, *AgentCMD) (*Message, error) LoadCLR(context.Context, *AgentCMD) (*Message, error) LS(context.Context, *AgentCMD) (*Message, error) MaxRetry(context.Context, *AgentCMD) (*Message, error) Memory(context.Context, *AgentCMD) (*Message, error) MEMFD(context.Context, *AgentCMD) (*Message, error) Netstat(context.Context, *AgentCMD) (*Message, error) Note(context.Context, *AgentCMD) (*Message, error) Nslookup(context.Context, *AgentCMD) (*Message, error) Padding(context.Context, *AgentCMD) (*Message, error) Parrot(context.Context, *AgentCMD) (*Message, error) Pipes(context.Context, *ID) (*Message, error) PS(context.Context, *ID) (*Message, error) PWD(context.Context, *ID) (*Message, error) RM(context.Context, *AgentCMD) (*Message, error) RunAs(context.Context, *AgentCMD) (*Message, error) SecureDelete(context.Context, *AgentCMD) (*Message, error) SharpGen(context.Context, *AgentCMD) (*Message, error) Skew(context.Context, *AgentCMD) (*Message, error) Sleep(context.Context, *AgentCMD) (*Message, error) Socks(context.Context, *AgentCMD) (*Message, error) SSH(context.Context, *AgentCMD) (*Message, error) Token(context.Context, *AgentCMD) (*Message, error) Touch(context.Context, *AgentCMD) (*Message, error) UnlinkAgent(context.Context, *AgentCMD) (*Message, error) Upload(context.Context, *AgentCMD) (*Message, error) Uptime(context.Context, *ID) (*Message, error) // Agent Service Groups(context.Context, *emptypb.Empty) (*Slice, error) GroupAdd(context.Context, *Group) (*Message, error) GroupList(context.Context, *ID) (*Slice, error) GroupListAll(context.Context, *emptypb.Empty) (*GroupMembers, error) GroupRemove(context.Context, *Group) (*Message, error) GetAgent(context.Context, *ID) (*AgentInfo, error) GetAgents(context.Context, *emptypb.Empty) (*Slice, error) GetAgentLinks(context.Context, *ID) (*Slice, error) GetAgentStatus(context.Context, *ID) (*Message, error) GetAgentRows(context.Context, *emptypb.Empty) (*TableData, error) Remove(context.Context, *ID) (*Message, error) // Job Service GetAllJobs(context.Context, *emptypb.Empty) (*Jobs, error) GetAllActiveJobs(context.Context, *emptypb.Empty) (*Jobs, error) GetAgentJobs(context.Context, *ID) (*Jobs, error) GetAgentActiveJobs(context.Context, *ID) (*Jobs, error) // Listener CreateListener(context.Context, *Options) (*Message, error) GetListenerIDs(context.Context, *emptypb.Empty) (*Slice, error) GetListeners(context.Context, *emptypb.Empty) (*TableData, error) GetListenerOptions(context.Context, *ID) (*Options, error) GetListenerDefaultOptions(context.Context, *String) (*Options, error) GetListenerTypes(context.Context, *emptypb.Empty) (*Slice, error) GetListenerStatus(context.Context, *ID) (*Message, error) RemoveListener(context.Context, *ID) (*Message, error) RestartListener(context.Context, *ID) (*Message, error) SetListenerOption(context.Context, *AgentCMD) (*Message, error) StartListener(context.Context, *ID) (*Message, error) StopListener(context.Context, *ID) (*Message, error) Servers(context.Context, *emptypb.Empty) (*Slice, error) GetModule(context.Context, *String) (*Module, error) GetModuleList(context.Context, *emptypb.Empty) (*Slice, error) RunModule(context.Context, *ModuleRun) (*Messages, error) // contains filtered or unexported methods }
MerlinServer is the server API for Merlin service. All implementations must embed UnimplementedMerlinServer for forward compatibility
type Merlin_ListenClient ¶
type Merlin_ListenClient interface { Recv() (*Message, error) grpc.ClientStream }
type Merlin_ListenServer ¶
type Merlin_ListenServer interface { Send(*Message) error grpc.ServerStream }
type Message ¶
type Message struct { Level MessageLevel `protobuf:"varint,1,opt,name=level,proto3,enum=rpc.MessageLevel" json:"level,omitempty"` Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` Timestamp string `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Error bool `protobuf:"varint,4,opt,name=error,proto3" json:"error,omitempty"` // contains filtered or unexported fields }
func (*Message) Descriptor
deprecated
func (*Message) GetLevel ¶
func (x *Message) GetLevel() MessageLevel
func (*Message) GetMessage ¶
func (*Message) GetTimestamp ¶
func (*Message) ProtoMessage ¶
func (*Message) ProtoMessage()
func (*Message) ProtoReflect ¶
func (x *Message) ProtoReflect() protoreflect.Message
type MessageLevel ¶
type MessageLevel int32
const ( MessageLevel_UNDEFINED MessageLevel = 0 MessageLevel_INFO MessageLevel = 1 MessageLevel_NOTE MessageLevel = 2 MessageLevel_WARN MessageLevel = 3 MessageLevel_DEBUG MessageLevel = 4 MessageLevel_SUCCESS MessageLevel = 5 MessageLevel_PLAIN MessageLevel = 6 )
func (MessageLevel) Descriptor ¶
func (MessageLevel) Descriptor() protoreflect.EnumDescriptor
func (MessageLevel) Enum ¶
func (x MessageLevel) Enum() *MessageLevel
func (MessageLevel) EnumDescriptor
deprecated
func (MessageLevel) EnumDescriptor() ([]byte, []int)
Deprecated: Use MessageLevel.Descriptor instead.
func (MessageLevel) Number ¶
func (x MessageLevel) Number() protoreflect.EnumNumber
func (MessageLevel) String ¶
func (x MessageLevel) String() string
func (MessageLevel) Type ¶
func (MessageLevel) Type() protoreflect.EnumType
type Messages ¶
type Messages struct { Messages []*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` // contains filtered or unexported fields }
func (*Messages) Descriptor
deprecated
func (*Messages) GetMessages ¶
func (*Messages) ProtoMessage ¶
func (*Messages) ProtoMessage()
func (*Messages) ProtoReflect ¶
func (x *Messages) ProtoReflect() protoreflect.Message
type Module ¶
type Module struct { ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` Agent string `protobuf:"bytes,2,opt,name=Agent,proto3" json:"Agent,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` Extended bool `protobuf:"varint,4,opt,name=Extended,proto3" json:"Extended,omitempty"` Author []string `protobuf:"bytes,5,rep,name=Author,proto3" json:"Author,omitempty"` Credits []string `protobuf:"bytes,6,rep,name=Credits,proto3" json:"Credits,omitempty"` Path []string `protobuf:"bytes,7,rep,name=Path,proto3" json:"Path,omitempty"` Platform string `protobuf:"bytes,8,opt,name=Platform,proto3" json:"Platform,omitempty"` Arch string `protobuf:"bytes,9,opt,name=Arch,proto3" json:"Arch,omitempty"` Lang string `protobuf:"bytes,10,opt,name=Lang,proto3" json:"Lang,omitempty"` Priv bool `protobuf:"varint,11,opt,name=Priv,proto3" json:"Priv,omitempty"` Description string `protobuf:"bytes,12,opt,name=Description,proto3" json:"Description,omitempty"` Notes string `protobuf:"bytes,13,opt,name=Notes,proto3" json:"Notes,omitempty"` Commands []string `protobuf:"bytes,14,rep,name=Commands,proto3" json:"Commands,omitempty"` SourceRemote string `protobuf:"bytes,15,opt,name=SourceRemote,proto3" json:"SourceRemote,omitempty"` SourceLocal []string `protobuf:"bytes,16,rep,name=SourceLocal,proto3" json:"SourceLocal,omitempty"` Options []*ModuleOption `protobuf:"bytes,17,rep,name=Options,proto3" json:"Options,omitempty"` // contains filtered or unexported fields }
func (*Module) Descriptor
deprecated
func (*Module) GetCommands ¶
func (*Module) GetCredits ¶
func (*Module) GetDescription ¶
func (*Module) GetExtended ¶
func (*Module) GetOptions ¶
func (x *Module) GetOptions() []*ModuleOption
func (*Module) GetPlatform ¶
func (*Module) GetSourceLocal ¶
func (*Module) GetSourceRemote ¶
func (*Module) ProtoMessage ¶
func (*Module) ProtoMessage()
func (*Module) ProtoReflect ¶
func (x *Module) ProtoReflect() protoreflect.Message
type ModuleOption ¶
type ModuleOption struct { Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` Value string `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` Required bool `protobuf:"varint,3,opt,name=Required,proto3" json:"Required,omitempty"` Flag string `protobuf:"bytes,4,opt,name=Flag,proto3" json:"Flag,omitempty"` Description string `protobuf:"bytes,5,opt,name=Description,proto3" json:"Description,omitempty"` // contains filtered or unexported fields }
func (*ModuleOption) Descriptor
deprecated
func (*ModuleOption) Descriptor() ([]byte, []int)
Deprecated: Use ModuleOption.ProtoReflect.Descriptor instead.
func (*ModuleOption) GetDescription ¶
func (x *ModuleOption) GetDescription() string
func (*ModuleOption) GetFlag ¶
func (x *ModuleOption) GetFlag() string
func (*ModuleOption) GetName ¶
func (x *ModuleOption) GetName() string
func (*ModuleOption) GetRequired ¶
func (x *ModuleOption) GetRequired() bool
func (*ModuleOption) GetValue ¶
func (x *ModuleOption) GetValue() string
func (*ModuleOption) ProtoMessage ¶
func (*ModuleOption) ProtoMessage()
func (*ModuleOption) ProtoReflect ¶
func (x *ModuleOption) ProtoReflect() protoreflect.Message
func (*ModuleOption) Reset ¶
func (x *ModuleOption) Reset()
func (*ModuleOption) String ¶
func (x *ModuleOption) String() string
type ModuleRun ¶
type ModuleRun struct { Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` Agent string `protobuf:"bytes,2,opt,name=Agent,proto3" json:"Agent,omitempty"` Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"` Options []*ModuleOption `protobuf:"bytes,4,rep,name=Options,proto3" json:"Options,omitempty"` Extended bool `protobuf:"varint,5,opt,name=Extended,proto3" json:"Extended,omitempty"` Commands []string `protobuf:"bytes,6,rep,name=Commands,proto3" json:"Commands,omitempty"` // contains filtered or unexported fields }
func (*ModuleRun) Descriptor
deprecated
func (*ModuleRun) GetCommands ¶
func (*ModuleRun) GetExtended ¶
func (*ModuleRun) GetOptions ¶
func (x *ModuleRun) GetOptions() []*ModuleOption
func (*ModuleRun) GetPlatform ¶
func (*ModuleRun) ProtoMessage ¶
func (*ModuleRun) ProtoMessage()
func (*ModuleRun) ProtoReflect ¶
func (x *ModuleRun) ProtoReflect() protoreflect.Message
type Options ¶
type Options struct { Options map[string]string `` /* 155-byte string literal not displayed */ // contains filtered or unexported fields }
func (*Options) Descriptor
deprecated
func (*Options) GetOptions ¶
func (*Options) ProtoMessage ¶
func (*Options) ProtoMessage()
func (*Options) ProtoReflect ¶
func (x *Options) ProtoReflect() protoreflect.Message
type Process ¶
type Process struct { ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` IntegrityLevel int32 `protobuf:"varint,2,opt,name=IntegrityLevel,proto3" json:"IntegrityLevel,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` UserGUID string `protobuf:"bytes,4,opt,name=UserGUID,proto3" json:"UserGUID,omitempty"` Username string `protobuf:"bytes,5,opt,name=Username,proto3" json:"Username,omitempty"` Domain string `protobuf:"bytes,6,opt,name=Domain,proto3" json:"Domain,omitempty"` // contains filtered or unexported fields }
func (*Process) Descriptor
deprecated
func (*Process) GetIntegrityLevel ¶
func (*Process) GetUserGUID ¶
func (*Process) GetUsername ¶
func (*Process) ProtoMessage ¶
func (*Process) ProtoMessage()
func (*Process) ProtoReflect ¶
func (x *Process) ProtoReflect() protoreflect.Message
type Slice ¶
type Slice struct { Data []string `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` // contains filtered or unexported fields }
func (*Slice) Descriptor
deprecated
func (*Slice) ProtoMessage ¶
func (*Slice) ProtoMessage()
func (*Slice) ProtoReflect ¶
func (x *Slice) ProtoReflect() protoreflect.Message
type String ¶
type String struct { Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // contains filtered or unexported fields }
func (*String) Descriptor
deprecated
func (*String) ProtoMessage ¶
func (*String) ProtoMessage()
func (*String) ProtoReflect ¶
func (x *String) ProtoReflect() protoreflect.Message
type TableData ¶
type TableData struct { Header []string `protobuf:"bytes,1,rep,name=header,proto3" json:"header,omitempty"` // A list of lists of strings Rows []*TableRows `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"` // contains filtered or unexported fields }
func (*TableData) Descriptor
deprecated
func (*TableData) ProtoMessage ¶
func (*TableData) ProtoMessage()
func (*TableData) ProtoReflect ¶
func (x *TableData) ProtoReflect() protoreflect.Message
type TableRows ¶
type TableRows struct { // A list/slice of strings Row []string `protobuf:"bytes,1,rep,name=row,proto3" json:"row,omitempty"` // contains filtered or unexported fields }
func (*TableRows) Descriptor
deprecated
func (*TableRows) ProtoMessage ¶
func (*TableRows) ProtoMessage()
func (*TableRows) ProtoReflect ¶
func (x *TableRows) ProtoReflect() protoreflect.Message
type UnimplementedMerlinServer ¶
type UnimplementedMerlinServer struct { }
UnimplementedMerlinServer must be embedded to have forward compatible implementations.
func (UnimplementedMerlinServer) ClearJobsCreated ¶
func (UnimplementedMerlinServer) CreateListener ¶
func (UnimplementedMerlinServer) ExecuteAssembly ¶
func (UnimplementedMerlinServer) ExecuteShellcode ¶
func (UnimplementedMerlinServer) GetAgentActiveJobs ¶
func (UnimplementedMerlinServer) GetAgentJobs ¶
func (UnimplementedMerlinServer) GetAgentLinks ¶
func (UnimplementedMerlinServer) GetAgentRows ¶
func (UnimplementedMerlinServer) GetAgentStatus ¶
func (UnimplementedMerlinServer) GetAllActiveJobs ¶
func (UnimplementedMerlinServer) GetAllJobs ¶
func (UnimplementedMerlinServer) GetListenerDefaultOptions ¶
func (UnimplementedMerlinServer) GetListenerIDs ¶
func (UnimplementedMerlinServer) GetListenerOptions ¶
func (UnimplementedMerlinServer) GetListenerStatus ¶
func (UnimplementedMerlinServer) GetListenerTypes ¶
func (UnimplementedMerlinServer) GetListeners ¶
func (UnimplementedMerlinServer) GetModuleList ¶
func (UnimplementedMerlinServer) GroupListAll ¶
func (UnimplementedMerlinServer) GroupListAll(context.Context, *emptypb.Empty) (*GroupMembers, error)
func (UnimplementedMerlinServer) GroupRemove ¶
func (UnimplementedMerlinServer) InvokeAssembly ¶
func (UnimplementedMerlinServer) KillProcess ¶
func (UnimplementedMerlinServer) ListAssemblies ¶
func (UnimplementedMerlinServer) Listen ¶
func (UnimplementedMerlinServer) Listen(*ID, Merlin_ListenServer) error
func (UnimplementedMerlinServer) LoadAssembly ¶
func (UnimplementedMerlinServer) RemoveListener ¶
func (UnimplementedMerlinServer) RestartListener ¶
func (UnimplementedMerlinServer) SecureDelete ¶
func (UnimplementedMerlinServer) SetListenerOption ¶
func (UnimplementedMerlinServer) StartListener ¶
func (UnimplementedMerlinServer) StopListener ¶
func (UnimplementedMerlinServer) UnlinkAgent ¶
type UnsafeMerlinServer ¶
type UnsafeMerlinServer interface {
// contains filtered or unexported methods
}
UnsafeMerlinServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to MerlinServer will result in compilation errors.