cuckoo

package
v0.0.0-...-1cd5659 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2017 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cuckoo

type Cuckoo struct {
	URL    string
	Client *http.Client
}

func New

func New(URL string, verifySSL bool) (*Cuckoo, error)

func (*Cuckoo) DeleteTask

func (c *Cuckoo) DeleteTask(id int) error

func (*Cuckoo) GetFileInfoByID

func (c *Cuckoo) GetFileInfoByID(id string) (*FilesViewSample, error)

func (*Cuckoo) GetFileInfoByMD5

func (c *Cuckoo) GetFileInfoByMD5(md5 string) (*FilesViewSample, error)

func (*Cuckoo) GetStatus

func (c *Cuckoo) GetStatus() (*Status, error)

func (*Cuckoo) NewTask

func (c *Cuckoo) NewTask(fileBytes []byte, fileName string, params map[string]string) (int, error)

submitTask submits a new task to the cuckoo api.

func (*Cuckoo) TaskReport

func (c *Cuckoo) TaskReport(id int) (*TasksReport, error)

func (*Cuckoo) TaskStatus

func (c *Cuckoo) TaskStatus(id int) (string, error)

type FilesView

type FilesView struct {
	Sample *FilesViewSample `json:"sample"`
}

type FilesViewSample

type FilesViewSample struct {
	SHA1     string `json:"sha1"`
	FileType string `json:"file_type"`
	FileSize int    `json:"file_size"`
	CRC32    string `json:"crc32"`
	SSDeep   string `json:"ssdeep"`
	SHA256   string `json:"sha256"`
	SHA512   string `json:"sha512"`
	Id       int    `json:"id"`
	MD5      string `json:"md5"`
}

type Status

type Status struct {
	Tasks     *StatusTasks     `json:"tasks"`
	Diskspace *StatusDiskspace `json:"diskspace"`
}

type StatusDiskspace

type StatusDiskspace struct {
	Analyses *StatusSamples `json:"analyses"`
}

type StatusSamples

type StatusSamples struct {
	Total int `json:"total"`
	Free  int `json:"free"`
	Used  int `json:"used"`
}

type StatusTasks

type StatusTasks struct {
	Running int `json:"running"`
	Pending int `json:"pending"`
}

type TasksCreateResp

type TasksCreateResp struct {
	TaskID int `json:"task_id"`
}

type TasksReport

type TasksReport struct {
	Info       *TasksReportInfo        `json:"info"`
	Signatures []*TasksReportSignature `json;"signatures"`
	Behavior   *TasksReportBehavior    `json:"behavior"`
}

type TasksReportBehavior

type TasksReportBehavior struct {
	Processes []*TasksReportBhvPcs   `json:"processes"`
	Summary   *TasksReportBhvSummary `json:"summary"`
}

type TasksReportBhvPcs

type TasksReportBhvPcs struct {
	Name      string                   `json:"process_name"`
	Id        int                      `json:"process_id"`
	ParentId  int                      `json:"parent_id"`
	FirstSeen float64                  `json:"first_seen"`
	Calls     []*TasksReportBhvPcsCall `json:"calls"`
}

type TasksReportBhvPcsCall

type TasksReportBhvPcsCall struct {
	Category  string          `json:"category"`
	Status    int             `json:"status"`
	Return    string          `json:"return"`
	Timestamp string          `json:"timestamp"`
	ThreadId  string          `json:"thread_id"`
	Repeated  int             `json:"repeated"`
	Api       string          `json:"api"`
	Arguments json.RawMessage `json:"arguments"`
	Id        int             `json:"id"`
}

type TasksReportBhvPcsCallArg

type TasksReportBhvPcsCallArg struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type TasksReportBhvSummary

type TasksReportBhvSummary struct {
	Files   []string `json:"files"`
	Keys    []string `json:"keys"`
	Mutexes []string `json:"mutexes"`
}

type TasksReportInfo

type TasksReportInfo struct {
	Started string          `json:"started"`
	Ended   string          `json:"ended"`
	Id      int             `json:"id"`
	Machine json.RawMessage `json:"machine"` //can be TasksReportInfoMachine OR string
}

type TasksReportInfoMachine

type TasksReportInfoMachine struct {
	Name string `json:"name"`
}

type TasksReportSignature

type TasksReportSignature struct {
	Severity    int    `json:"severity"`
	Description string `json:"description"`
	Name        string `json:"name"`
}

type TasksViewResp

type TasksViewResp struct {
	Message string         `json:"message"`
	Task    *TasksViewTask `json:"task"`
}

type TasksViewTask

type TasksViewTask struct {
	Status string `json:"status"`
}

Jump to

Keyboard shortcuts

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