Documentation ¶
Index ¶
- type CheckInMessage
- type CheckInMessageResponse
- type CheckInStruct
- type Defaultconfig
- type DirectoryEntries
- type EkeKeyExchangeMessage
- type EkeKeyExchangeMessageResponse
- type FileChunk
- type FileChunkResponse
- type FileData
- type FileDownloadChunkMessage
- type FileDownloadInitialMessage
- type FileDownloadInitialMessageResponse
- type FileRegisterRequest
- type FileRegisterResponse
- type FileUploadChunkMessage
- type FileUploadChunkMessageResponse
- type FileUploadParams
- type Job
- type Message
- type NestedApfellTaskResponse
- type PermissionJSON
- type Response
- type RmFiles
- type ServerResponse
- type Slackconfig
- type SocksMsg
- type Task
- type TaskRequestMessage
- type TaskRequestMessageResponse
- type TaskResponseMessage
- type TaskResponseMessageResponse
- type TaskStub
- type ThreadMsg
- type UserOutput
- type Websocketconfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CheckInMessage ¶
type CheckInMessage struct { Action string `json:"action"` IP string `json:"ip"` OS string `json:"os"` User string `json:"user"` Host string `json:"host"` Pid int `json:"pid"` UUID string `json:"uuid"` Architecture string `json:"architecture"` Domain string `json:"domain"` IntegrityLevel int `json:"integrity_level"` ExternalIP string `json:"external_ip"` EncryptionKey string `json:"encryption_key"` DecryptionKey string `json:"decryption_key"` }
Struct definition for CheckIn messages
type CheckInMessageResponse ¶
type CheckInStruct ¶
type CheckInStruct struct { User string `json:"user"` Host string `json:"host"` Pid int `json:"pid"` IP string `json:"ip"` UUID string `json:"uuid"` IntegrityLevel int `json:"integrity_level"` }
CheckInStruct used for Checkin messages to Apfell
type Defaultconfig ¶
type Defaultconfig struct { KEYX string `json:"keyx"` Key string `json:"key"` BaseURL string `json:"baseurl"` PostURI string `json:"post_uri"` GetURI string `json:"get_uri"` QueryPathName string `json:"query_path_name"` ProxyURL string `json:"proxy_url"` ProxyUser string `json:"proxy_user"` ProxyPass string `json:"proxy_pass"` UserAgent string `json:"useragent"` Sleep int `json:"sleep"` HostHeader string `json:"hostheader"` Jitter int `json:"jitter"` }
Defaultconfig - C2 Profile configuration for the default profile
type DirectoryEntries ¶
type DirectoryEntries struct { Files []FileData `json:"files"` IsFile bool `json:"is_file"` Permissions PermissionJSON `json:"permissions"` Filename string `json:"name"` ParentPath string `json:"parent_path"` Success bool `json:"success"` FileSize int64 `json:"size"` LastModified string `json:"modify_time"` LastAccess string `json:"access_time"` }
type EkeKeyExchangeMessage ¶
type FileChunk ¶
type FileChunk struct { ChunkNumber int `json:"chunk_num"` ChunkData string `json:"chunk_data"` FileID string `json:"file_id"` }
FileChunk used to send a file download chunk to apfell
type FileChunkResponse ¶
type FileChunkResponse struct {
Status string `json:"status"`
}
FileChunkResponse used to handle the FileChunk response from Apfell
type FileDownloadInitialMessage ¶
type FileDownloadInitialMessage struct { NumChunks int `json:"total_chunks"` TaskID string `json:"task_id"` FullPath string `json:"full_path"` IsScreenshot bool `json:"is_screenshot"` }
Struct definitions for file downloads and uploads
type FileRegisterRequest ¶
FileRegisterRequest used to register a file download
type FileRegisterResponse ¶
FileRegisterResponse used for holding the response after file registration
type FileUploadChunkMessage ¶
type FileUploadParams ¶
type FileUploadParams struct { FileID string `json:"file_id"` RemotePath string `json:"remote_path"` }
FileUploadParams - handle parameters for the file upload response
type Job ¶
func (*Job) MonitorStop ¶
func (j *Job) MonitorStop()
MonitorStop tells the job that it needs to wait for a kill signal. The individual module is required to listen for the job.Stop variable to be > 0, and take requisite actions to tear-down.
type Message ¶
type Message struct { Tag string `json:"tag"` Client bool `json:"client"` Data string `json:"data"` }
Message - struct definition for external C2 messages
type NestedApfellTaskResponse ¶
type NestedApfellTaskResponse struct { Status string `json:"status"` Timestamp string `json:"timestamp"` Command string `json:"command"` Params string `json:"params"` AttackID int `json:"attack_id"` Callback int `json:"callback"` Operator string `json:"operator"` }
NestedApfellTaskResponse used to hold the task response field
type PermissionJSON ¶
type PermissionJSON struct {
Permissions string `json:"permissions"`
}
type ServerResponse ¶
type Slackconfig ¶
type Slackconfig struct { KEYX string `json:"keyx"` Key string `json:"key"` Sleep int `json:"sleep"` Jitter int `json:"jitter"` ApiKey string `json:"apikey"` ChannelID string `json:"channelid"` }
Slackconfig - C2 Profile configuration for the slack profile
type Task ¶
type TaskRequestMessage ¶
type TaskRequestMessage struct { Action string `json:"action"` TaskingSize int `json:"tasking_size"` Delegates []*json.RawMessage `json:"delegates"` }
type TaskRequestMessageResponse ¶
type TaskRequestMessageResponse struct { Action string `json:"action"` Tasks []Task `json:"tasks"` Delegates []*json.RawMessage `json:"delegates"` Socks []SocksMsg `json:"socks"` }
type TaskResponseMessage ¶
type TaskResponseMessage struct { Action string `json:"action"` Responses []json.RawMessage `json:"responses"` Delegates []json.RawMessage `json:"delegates"` Socks []SocksMsg `json:"socks"` }
Struct definitions for TaskResponse Messages
type TaskResponseMessageResponse ¶
type TaskResponseMessageResponse struct { Action string `json:"action"` Responses []json.RawMessage `json:"responses"` Delegates []json.RawMessage `json:"delegates"` }
type TaskStub ¶
type TaskStub struct { Command string `json:"command"` Params string `json:"params"` ID string `json:"id"` }
TaskStub to post list of currently processing tasks.
type UserOutput ¶
type UserOutput struct {
Output []byte `json:"user_output"`
}
type Websocketconfig ¶
type Websocketconfig struct { KEYX string `json:"keyx"` Key string `json:"key"` BaseURL string `json:"baseurl"` UserAgent string `json:"useragent"` Sleep int `json:"sleep"` HostHeader string `json:"hostheader"` Jitter int `json:"jitter"` Endpoint string `json:"endpoint"` }
Websocketconfig - C2 Profile configuration for the websocket profile