Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentControl ¶
type AgentControl struct {
Job string `json:"job"`
Command string `json:"command"`
Args string `json:"args,omitempty"`
Result string `json:"result"`
}
AgentControl is a JSON payload to send control messages to the agent (i.e. kill or die)
type AgentInfo ¶
type AgentInfo struct {
Version string `json:"version,omitempty"`
Build string `json:"build,omitempty"`
WaitTime string `json:"waittime,omitempty"`
PaddingMax int `json:"paddingmax,omitempty"`
MaxRetry int `json:"maxretry,omitempty"`
FailedCheckin int `json:"failedcheckin,omitempty"`
Skew int64 `json:"skew,omitempty"`
Proto string `json:"proto,omitempty"`
SysInfo interface{} `json:"sysinfo,omitempty"`
KillDate int64 `json:"killdate,omitempty"`
}
AgentInfo is a JSON payload containing information about the agent and its configuration
type Base ¶
type Base struct {
Version float32 `json:"version"`
ID uuid.UUID `json:"id"`
Type string `json:"type"`
Payload interface{} `json:"payload,omitempty"`
Padding string `json:"padding"`
}
Base is the base JSON Object for HTTP POST payloads
type CmdPayload ¶
type CmdPayload struct {
Command string `json:"executable"`
Args string `json:"args"`
Job string `json:"job"`
}
CmdPayload is the JSON payload for commands to execute on an agent
type CmdResults ¶
type CmdResults struct {
Job string `json:"job"`
Stdout string `json:"stdout"`
Stderr string `json:"stderr"`
Padding string `json:"padding"` // Padding to help evade detection
}
CmdResults is a JSON payload that contains the results of an executed command from an agent
type FileTransfer ¶ added in v0.1.4
type FileTransfer struct {
FileLocation string `json:"dest"`
FileBlob string `json:"blob"`
IsDownload bool `json:"download"`
Job string `json:"job"`
}
FileTransfer is the JSON payload to transfer files between the server and agent
type Module ¶ added in v0.7.0
type Module struct {
Job string `json:"job"`
Command string `json:"command"`
Args []string `json:"args,omitempty"`
Result string `json:"result"`
}
Module is a JSON payload used to send module directives.
type NativeCmd ¶ added in v0.7.0
type NativeCmd struct {
Job string `json:"job"`
Command string `json:"command"`
Args string `json:"args,omitempty"`
}
NativeCmd is a JSON payload to execute commands native inside of Merlin using go instead of executing the binary program on the host (i.e. ls)
type Shellcode ¶ added in v0.6.4
type Shellcode struct {
Method string `json:"method"`
Bytes string `json:"bytes"` // Base64 string of shellcode bytes
Job string `json:"job"`
PID uint32 `json:"pid,omitempty"` // Process ID for remote injection
}
Shellcode is a JSON payload containing shellcode and the method for execution
type SysInfo ¶
type SysInfo struct {
Platform string `json:"platform,omitempty"`
Architecture string `json:"architecture,omitempty"`
UserName string `json:"username,omitempty"`
UserGUID string `json:"userguid,omitempty"`
HostName string `json:"hostname,omitempty"`
Pid int `json:"pid,omitempty"`
Ips []string `json:"ips,omitempty"`
}
SysInfo is a JSON payload containing information about the system where the agent is running