Documentation ¶
Index ¶
- Constants
- func GenerateOperatorToken() string
- type Beacon
- type BeaconTask
- type CanaryDomain
- type Certificate
- type DNSCanary
- type ExtensionData
- type Host
- type IOC
- type ImplantBuild
- type ImplantC2
- type ImplantConfig
- type ImplantProfile
- type KeyValue
- type Loot
- type Operator
- type WGKeys
- type WGPeer
- type WebContent
- type Website
Constants ¶
const ( PENDING = "pending" SENT = "sent" COMPLETED = "completed" CANCELED = "canceled" )
BeaconTask - Represents a host machine
Variables ¶
This section is empty.
Functions ¶
func GenerateOperatorToken ¶
func GenerateOperatorToken() string
GenerateOperatorToken - Generate a new operator auth token
Types ¶
type Beacon ¶
type Beacon struct { CreatedAt time.Time `gorm:"->;<-:create;"` ID uuid.UUID `gorm:"type:uuid;"` Name string Hostname string UUID uuid.UUID `gorm:"type:uuid;"` // Host UUID Username string UID string GID string OS string Arch string Transport string RemoteAddress string PID int32 Filename string LastCheckin time.Time Version string ReconnectInterval int64 ActiveC2 string ProxyURL string Locale string ImplantBuildID uuid.UUID `gorm:"type:uuid;"` Interval int64 Jitter int64 NextCheckin int64 Tasks []BeaconTask }
Beacon - Represents a host machine
func (*Beacon) BeforeCreate ¶
BeforeCreate - GORM hook
func (*Beacon) ToProtobuf ¶
type BeaconTask ¶
type BeaconTask struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` EnvelopeID int64 `gorm:"uniqueIndex"` BeaconID uuid.UUID `gorm:"type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` State string SentAt time.Time CompletedAt time.Time Description string Request []byte // *sliverpb.Envelope Response []byte // *sliverpb.Envelope }
func (*BeaconTask) BeforeCreate ¶
func (b *BeaconTask) BeforeCreate(tx *gorm.DB) (err error)
BeforeCreate - GORM hook
func (*BeaconTask) ToProtobuf ¶
func (b *BeaconTask) ToProtobuf(content bool) *clientpb.BeaconTask
type CanaryDomain ¶
type CanaryDomain struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` ImplantConfigID uuid.UUID CreatedAt time.Time `gorm:"->;<-:create;"` Domain string }
CanaryDomain - Canary domain, belongs to ImplantConfig
func (*CanaryDomain) BeforeCreate ¶
func (c *CanaryDomain) BeforeCreate(tx *gorm.DB) (err error)
BeforeCreate - GORM hook
type Certificate ¶
type Certificate struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` CommonName string CAType string KeyType string CertificatePEM string PrivateKeyPEM string }
Certificate - Certificate database model
func (*Certificate) BeforeCreate ¶
func (c *Certificate) BeforeCreate(tx *gorm.DB) (err error)
BeforeCreate - GORM hook to automatically set values
type DNSCanary ¶
type DNSCanary struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` ImplantName string Domain string Triggered bool FirstTrigger time.Time LatestTrigger time.Time Count uint32 }
DNSCanary - Colletions of content to serve from HTTP(S)
func (*DNSCanary) BeforeCreate ¶
BeforeCreate - GORM hook
func (*DNSCanary) ToProtobuf ¶
ToProtobuf - Converts to protobuf object
type ExtensionData ¶
type ExtensionData struct { gorm.Model ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` HostID uuid.UUID `gorm:"type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` Name string Output string }
ExtensionData - Represents an indicator of compromise, generally a file we've uploaded to a remote system.
func (*ExtensionData) BeforeCreate ¶
func (e *ExtensionData) BeforeCreate(tx *gorm.DB) (err error)
BeforeCreate - GORM hook
type Host ¶
type Host struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` HostUUID uuid.UUID `gorm:"type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` Hostname string OSVersion string // Verbore OS version Locale string // Detected language code IOCs []IOC ExtensionData []ExtensionData }
Host - Represents a host machine
func (*Host) BeforeCreate ¶
BeforeCreate - GORM hook
func (*Host) ToProtobuf ¶
type IOC ¶
type IOC struct { gorm.Model ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` HostID uuid.UUID `gorm:"type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` Path string FileHash string }
IOC - Represents an indicator of compromise, generally a file we've uploaded to a remote system.
func (*IOC) BeforeCreate ¶
BeforeCreate - GORM hook
func (*IOC) ToProtobuf ¶
type ImplantBuild ¶
type ImplantBuild struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` Name string `gorm:"unique;"` // Checksums stores of the implant binary MD5 string SHA1 string SHA256 string // Burned indicates whether the implant // has been seen on threat intel platforms Burned bool ImplantConfig ImplantConfig }
ImplantBuild - Represents an implant
func (*ImplantBuild) BeforeCreate ¶
func (ib *ImplantBuild) BeforeCreate(tx *gorm.DB) (err error)
BeforeCreate - GORM hook
type ImplantC2 ¶
type ImplantC2 struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` ImplantConfigID uuid.UUID CreatedAt time.Time `gorm:"->;<-:create;"` Priority uint32 URL string Options string }
ImplantC2 - C2 struct
func (*ImplantC2) BeforeCreate ¶
BeforeCreate - GORM hook
func (*ImplantC2) ToProtobuf ¶
ToProtobuf - Convert to protobuf version
type ImplantConfig ¶
type ImplantConfig struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` ImplantBuildID uuid.UUID ImplantProfileID uuid.UUID CreatedAt time.Time `gorm:"->;<-:create;"` // Go GOOS string GOARCH string TemplateName string IsBeacon bool BeaconInterval int64 BeaconJitter int64 // ECC ECCPublicKey string ECCPublicKeyDigest string ECCPrivateKey string ECCPublicKeySignature string ECCServerPublicKey string MinisignServerPublicKey string // MTLS MtlsCACert string MtlsCert string MtlsKey string Debug bool DebugFile string Evasion bool ObfuscateSymbols bool ReconnectInterval int64 MaxConnectionErrors uint32 ConnectionStrategy string // WireGuard WGImplantPrivKey string WGServerPubKey string WGPeerTunIP string WGKeyExchangePort uint32 WGTcpCommsPort uint32 C2 []ImplantC2 MTLSc2Enabled bool WGc2Enabled bool HTTPc2Enabled bool DNSc2Enabled bool CanaryDomains []CanaryDomain NamePipec2Enabled bool TCPPivotc2Enabled bool // Limits LimitDomainJoined bool LimitHostname string LimitUsername string LimitDatetime string LimitFileExists string LimitLocale string // Output Format Format clientpb.OutputFormat // For IsSharedLib bool IsService bool IsShellcode bool RunAtLoad bool FileName string }
ImplantConfig - An implant build configuration
func (*ImplantConfig) BeforeCreate ¶
func (ic *ImplantConfig) BeforeCreate(tx *gorm.DB) (err error)
BeforeCreate - GORM hook
func (*ImplantConfig) CanaryDomainsList ¶
func (ic *ImplantConfig) CanaryDomainsList() []string
CanaryDomainsList - Get string slice of canary domains
func (*ImplantConfig) ToProtobuf ¶
func (ic *ImplantConfig) ToProtobuf() *clientpb.ImplantConfig
ToProtobuf - Convert ImplantConfig to protobuf equiv
type ImplantProfile ¶
type ImplantProfile struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` Name string `gorm:"unique;"` ImplantConfig *ImplantConfig }
ImplantProfile - An implant build configuration
func (*ImplantProfile) BeforeCreate ¶
func (ip *ImplantProfile) BeforeCreate(tx *gorm.DB) (err error)
BeforeCreate - GORM hook
type KeyValue ¶
type KeyValue struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` Key string `gorm:"unique;"` Value string }
KeyValue - Represents an implant
type Loot ¶
type Loot struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` Type int FileType int CredentialType int Name string OriginHost uuid.UUID `gorm:"type:uuid;"` }
Loot - Represents a piece of loot
type Operator ¶
type Operator struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` Name string Token string `gorm:"uniqueIndex"` }
Operator - Colletions of content to serve from HTTP(S)
type WGKeys ¶
type WGKeys struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` PrivKey string PubKey string }
WGKeys - WGKeys database model
type WGPeer ¶
type WGPeer struct { // gorm.Model ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` PrivKey string PubKey string TunIP string }
WGPeer- WGPeer database model
type WebContent ¶
type WebContent struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` WebsiteID uuid.UUID `gorm:"type:uuid;"` Path string `gorm:"primaryKey"` Size int ContentType string }
WebContent - One piece of content mapped to a path
func (*WebContent) BeforeCreate ¶
func (wc *WebContent) BeforeCreate(tx *gorm.DB) (err error)
BeforeCreate - GORM hook to automatically set values
func (*WebContent) ToProtobuf ¶
func (wc *WebContent) ToProtobuf(content []byte) *clientpb.WebContent
ToProtobuf - Converts to protobuf object
type Website ¶
type Website struct { ID uuid.UUID `gorm:"primaryKey;->;<-:create;type:uuid;"` CreatedAt time.Time `gorm:"->;<-:create;"` Name string `gorm:"unique;"` // Website Name WebContents []WebContent }
Website - Colletions of content to serve from HTTP(S)
func (*Website) BeforeCreate ¶
BeforeCreate - GORM hook
func (*Website) ToProtobuf ¶
ToProtobuf - Converts to protobuf object