Documentation
¶
Index ¶
- Constants
- Variables
- func CheckHTTPC2ConfigErrors(config *clientpb.HTTPC2Config) error
- func GenerateDefaultHTTPC2Config() *clientpb.HTTPC2Config
- func GenerateDefaultHTTPC2Cookies() []*clientpb.HTTPC2Cookie
- func GenerateHTTPC2DefaultPathSegment() []*clientpb.HTTPC2PathSegment
- func GetDatabaseConfigPath() string
- func GetServerConfigPath() string
- func LoadCrackConfig() (*clientpb.CrackConfig, error)
- func SaveCrackConfig(config *clientpb.CrackConfig) error
- type DNSJobConfig
- type DaemonConfig
- type DatabaseConfig
- type HTTPJobConfig
- type HttpDefaultConfig
- type JobConfig
- type LogConfig
- type MTLSJobConfig
- type MultiplayerJobConfig
- type ServerConfig
- type WGJobConfig
- type WatchTowerConfig
Constants ¶
const ( // Sqlite - SQLite protocol Sqlite = "sqlite3" // Postgres - Postgresql protocol Postgres = "postgresql" // MySQL - MySQL protocol MySQL = "mysql" )
const ( DefaultChromeBaseVer = 106 DefaultMacOSVer = "10_15_7" )
Variables ¶
var ( ErrMissingCookies = errors.New("server config must specify at least one cookie") ErrMissingExtensions = errors.New("implant config must specify at least one file extension") ErrMissingFiles = errors.New("implant config must specify at least one files value") ErrMissingPaths = errors.New("implant config must specify at least one paths value") ErrDuplicateC2ProfileName = errors.New("C2 Profile name is already in use") ErrMissingC2ProfileName = errors.New("C2 Profile name is required") ErrC2ProfileNotFound = errors.New("C2 Profile does not exist") ErrUserAgentIllegalCharacters = errors.New("user agent cannot contain the ` character") )
var ( // Pro-tip: You can use ChatGPT to generate this stuff for you! Cookies = []string{ "JSESSIONID", "rememberMe", "authToken", "userId", "userName", "language", "theme", "locale", "currency", "lastVisited", "loggedIn", "userRole", "cartId", "accessToken", "refreshToken", "consent", "notificationPreference", "userSettings", "sessionTimeout", "error", "errorMessage", "successMessage", "infoMessage", "warningMessage", "errorMessageKey", "successMessageKey", "infoMessageKey", "warningMessageKey", "sessionID", "userID", "username", "authToken", "rememberMe", "language", "theme", "locale", "currency", "lastVisit", "loggedIn", "userRole", "cartID", "accessToken", "refreshToken", "consent", "notificationPref", "userSettings", "sessionTimeout", "visitedPages", "favoriteItems", "searchHistory", "basketID", "promoCode", "campaignID", "referrer", "source", "utmCampaign", "utmSource", "utmMedium", "utmContent", "utmTerm", "deviceType", "OSVersion", "browser", "screenResolution", "timezone", "firstVisit", "feedbackGiven", "surveyID", "errorAlerts", "successAlerts", "infoAlerts", "warningAlerts", "darkMode", "emailSubscription", "privacyConsent", "PHPSESSID", "SID", "SSID", "APISID", "csrf-state", "AWSALBCORS", } Files = []string{}/* 109 elements not displayed */ Paths = []string{ "js", "umd", "assets", "bundle", "bundles", "scripts", "script", "javascripts", "javascript", "jscript", "js", "scripts", "assets", "src", "lib", "public", "static", "app", "www", "dist", "frontend", "client", "server", "resources", "jsfiles", "javascript", "jslib", "jslibraries", "jsdir", "jsfolder", "jsfilesdir", "jsfilesfolder", "scriptsdir", "assetsjs", "srcjs", "srcscripts", "libjs", "libscripts", "publicjs", "publicscripts", "staticjs", "staticscripts", "appjs", "appscripts", "distjs", "distscripts", "frontendjs", "frontendscripts", "clientjs", "clientscripts", "serverjs", "resourcesjs", "jsfilesjs", "jsfilesscripts", "javascriptjs", "jslibscripts", "assetsjs", "assetsjsscripts", "assetsjs", "assetsscripts", "srcjs", "srcjsscripts", "srcscripts", "srcscripts", "libjs", "libjsscripts", } )
var ( // ErrInvalidDialect - An invalid dialect was specified ErrInvalidDialect = errors.New("invalid SQL Dialect") )
Functions ¶
func CheckHTTPC2ConfigErrors ¶ added in v1.5.4
func CheckHTTPC2ConfigErrors(config *clientpb.HTTPC2Config) error
CheckHTTPC2ConfigErrors - Get the current HTTP C2 config
func GenerateDefaultHTTPC2Config ¶ added in v1.6.0
func GenerateDefaultHTTPC2Config() *clientpb.HTTPC2Config
func GenerateDefaultHTTPC2Cookies ¶ added in v1.6.0
func GenerateDefaultHTTPC2Cookies() []*clientpb.HTTPC2Cookie
func GenerateHTTPC2DefaultPathSegment ¶ added in v1.6.0
func GenerateHTTPC2DefaultPathSegment() []*clientpb.HTTPC2PathSegment
func GetDatabaseConfigPath ¶
func GetDatabaseConfigPath() string
GetDatabaseConfigPath - File path to config.json
func GetServerConfigPath ¶
func GetServerConfigPath() string
GetServerConfigPath - File path to config.json
func LoadCrackConfig ¶ added in v1.6.0
func LoadCrackConfig() (*clientpb.CrackConfig, error)
LoadCrackConfig - Get config value
func SaveCrackConfig ¶ added in v1.6.0
func SaveCrackConfig(config *clientpb.CrackConfig) error
Save - Save config file to disk
Types ¶
type DNSJobConfig ¶
type DNSJobConfig struct {
Domains []string `json:"domains"`
Canaries bool `json:"canaries"`
Host string `json:"host"`
Port uint16 `json:"port"`
JobID string `json:"job_id"`
EnforceOTP bool `json:"enforce_otp"`
}
DNSJobConfig - Persistent DNS job config
type DaemonConfig ¶
type DaemonConfig struct {
Host string `json:"host"`
Port int `json:"port"`
Tailscale bool `json:"tailscale"`
}
DaemonConfig - Configure daemon mode
type DatabaseConfig ¶
type DatabaseConfig struct {
Dialect string `json:"dialect"`
Database string `json:"database"`
Username string `json:"username"`
Password string `json:"password"`
Host string `json:"host"`
Port uint16 `json:"port"`
Params map[string]string `json:"params"`
MaxIdleConns int `json:"max_idle_conns"`
MaxOpenConns int `json:"max_open_conns"`
LogLevel string `json:"log_level"`
}
DatabaseConfig - Server config
func GetDatabaseConfig ¶
func GetDatabaseConfig() *DatabaseConfig
GetDatabaseConfig - Get config value
func (*DatabaseConfig) DSN ¶
func (c *DatabaseConfig) DSN() (string, error)
DSN - Get the db connections string https://github.com/go-sql-driver/mysql#examples
type HTTPJobConfig ¶
type HTTPJobConfig struct {
Domain string `json:"domain"`
Host string `json:"host"`
Port uint16 `json:"port"`
Secure bool `json:"secure"`
Website string `json:"website"`
Cert []byte `json:"cert"`
Key []byte `json:"key"`
ACME bool `json:"acme"`
JobID string `json:"job_id"`
EnforceOTP bool `json:"enforce_otp"`
LongPollTimeout int64 `json:"long_poll_timeout"`
LongPollJitter int64 `json:"long_poll_jitter"`
RandomizeJARM bool `json:"randomize_jarm"`
}
HTTPJobConfig - Persistent HTTP job config
type HttpDefaultConfig ¶ added in v1.6.0
type HttpDefaultConfig struct {
Headers []models.HttpC2Header `json:"headers"`
}
http server defaults for anonymous requests
type JobConfig ¶
type JobConfig struct {
Multiplayer []*MultiplayerJobConfig `json:"multiplayer"`
MTLS []*MTLSJobConfig `json:"mtls,omitempty"`
WG []*WGJobConfig `json:"wg,omitempty"`
DNS []*DNSJobConfig `json:"dns,omitempty"`
HTTP []*HTTPJobConfig `json:"http,omitempty"`
}
JobConfig - Restart Jobs on Load
type LogConfig ¶
type LogConfig struct {
Level int `json:"level"`
GRPCUnaryPayloads bool `json:"grpc_unary_payloads"`
GRPCStreamPayloads bool `json:"grpc_stream_payloads"`
TLSKeyLogger bool `json:"tls_key_logger"`
}
LogConfig - Server logging config
type MTLSJobConfig ¶
type MTLSJobConfig struct {
Host string `json:"host"`
Port uint16 `json:"port"`
JobID string `json:"job_id"`
}
MTLSJobConfig - Per-type job configs
type MultiplayerJobConfig ¶ added in v1.5.0
type ServerConfig ¶
type ServerConfig struct {
DaemonMode bool `json:"daemon_mode"`
DaemonConfig *DaemonConfig `json:"daemon"`
Logs *LogConfig `json:"logs"`
Watchtower *WatchTowerConfig `json:"watch_tower"`
GoProxy string `json:"go_proxy"`
HTTPDefaults *HttpDefaultConfig `json:"http_default"`
DonutBypass int `json:"donut_bypass"` // 1=skip, 2=abort on fail, 3=continue on fail.
// 'GOOS/GOARCH' -> CC path
CC map[string]string `json:"cc"`
CXX map[string]string `json:"cxx"`
}
ServerConfig - Server config
type WGJobConfig ¶ added in v1.4.9
type WGJobConfig struct {
Port uint16 `json:"port"`
NPort uint16 `json:"nport"`
KeyPort uint16 `json:"key_port"`
JobID string `json:"job_id"`
}
WGJobConfig - Per-type job configs
type WatchTowerConfig ¶ added in v1.4.17
type WatchTowerConfig struct {
VTApiKey string `json:"vt_api_key"`
XForceApiKey string `json:"xforce_api_key"`
XForceApiPassword string `json:"xforce_api_password"`
}
WatchTowerConfig - Watch Tower job config