Documentation
¶
Index ¶
- Constants
- Variables
- func GetAliasesDir() string
- func GetClientLogsDir() string
- func GetConfigDir() string
- func GetConfigs() map[string]*ClientConfig
- func GetConsoleLogsDir() string
- func GetExtensionsDir() string
- func GetInstalledAliasManifests() []string
- func GetInstalledExtensionManifests() []string
- func GetRootAppDir() string
- func RefreshArmoryAuthorization(armories []*ArmoryConfig)
- func SaveArmoriesConfig(armories []*ArmoryConfig) error
- func SaveConfig(config *ClientConfig) error
- func SaveSettings(settings *ClientSettings) error
- func Setup(force bool, echo bool)
- type ArmoryConfig
- type ClientConfig
- type ClientSettings
- type HTTPC2Config
- type HTTPC2ImplantConfig
- type HTTPC2ServerConfig
- type NameValueProbability
Constants ¶
const ( ArmoryConfigFileName = "armories.json" DefaultArmoryName = "Default" )
const (
AliasesDirName = "aliases"
)
const (
// ConfigDirName - Directory name containing config files
ConfigDirName = "configs"
)
const (
// ExtensionsDirName - Directory storing the client side extensions
ExtensionsDirName = "extensions"
)
const (
// SliverClientDirName - Directory storing all of the client configs/logs
SliverClientDirName = ".sliver-client"
)
Variables ¶
var ( // DefaultArmoryPublicKey - The default public key for the armory DefaultArmoryPublicKey string // DefaultArmoryRepoURL - The default repo url for the armory DefaultArmoryRepoURL string DefaultArmoryConfig = &ArmoryConfig{ PublicKey: DefaultArmoryPublicKey, RepoURL: DefaultArmoryRepoURL, Name: DefaultArmoryName, Enabled: true, } )
Functions ¶
func GetAliasesDir ¶ added in v1.5.0
func GetAliasesDir() string
GetAliasesDir - Returns the path to the config dir
func GetClientLogsDir ¶ added in v1.6.0
func GetClientLogsDir() string
GetClientLogsDir - Get the Sliver client logs dir ~/.sliver-client/logs/
func GetConfigs ¶
func GetConfigs() map[string]*ClientConfig
GetConfigs - Returns a list of available configs
func GetConsoleLogsDir ¶ added in v1.6.0
func GetConsoleLogsDir() string
GetConsoleLogsDir - Get the Sliver client console logs dir ~/.sliver-client/logs/console/
func GetExtensionsDir ¶ added in v1.5.0
func GetExtensionsDir() string
GetExtensionsDir - Get the Sliver extension directory: ~/.sliver-client/extensions
func GetInstalledAliasManifests ¶ added in v1.5.0
func GetInstalledAliasManifests() []string
GetInstalledAliasManifests - Returns a list of installed alias manifests
func GetInstalledExtensionManifests ¶ added in v1.5.0
func GetInstalledExtensionManifests() []string
GetInstalledExtensionManifests - Returns a list of installed extension manifests
func GetRootAppDir ¶
func GetRootAppDir() string
GetRootAppDir - Get the Sliver app dir ~/.sliver-client/
func RefreshArmoryAuthorization ¶ added in v1.6.0
func RefreshArmoryAuthorization(armories []*ArmoryConfig)
func SaveArmoriesConfig ¶ added in v1.6.0
func SaveArmoriesConfig(armories []*ArmoryConfig) error
func SaveSettings ¶ added in v1.5.0
func SaveSettings(settings *ClientSettings) error
SaveSettings - Save the current settings to disk
Types ¶
type ArmoryConfig ¶ added in v1.5.0
type ArmoryConfig struct {
PublicKey string `json:"public_key"`
RepoURL string `json:"repo_url"`
Authorization string `json:"authorization"`
AuthorizationCmd string `json:"authorization_cmd"`
Name string `json:"name"`
Enabled bool `json:"enabled"`
}
ArmoryConfig - The armory config file
func GetArmoriesConfig ¶ added in v1.5.0
func GetArmoriesConfig() []*ArmoryConfig
GetArmoriesConfig - The parsed armory config file
type ClientConfig ¶
type ClientConfig struct {
Operator string `json:"operator"` // This value is actually ignored for the most part (cert CN is used instead)
LHost string `json:"lhost"`
LPort int `json:"lport"`
Token string `json:"token"`
CACertificate string `json:"ca_certificate"`
PrivateKey string `json:"private_key"`
Certificate string `json:"certificate"`
}
ClientConfig - Client JSON config
func ReadConfig ¶
func ReadConfig(confFilePath string) (*ClientConfig, error)
ReadConfig - Load config into struct
type ClientSettings ¶ added in v1.5.0
type ClientSettings struct {
TableStyle string `json:"tables"`
AutoAdult bool `json:"autoadult"`
BeaconAutoResults bool `json:"beacon_autoresults"`
SmallTermWidth int `json:"small_term_width"`
AlwaysOverflow bool `json:"always_overflow"`
VimMode bool `json:"vim_mode"`
UserConnect bool `json:"user_connect"`
ConsoleLogs bool `json:"console_logs"`
}
ClientSettings - Client JSON config
func LoadSettings ¶ added in v1.5.0
func LoadSettings() (*ClientSettings, error)
LoadSettings - Load the client settings from disk
type HTTPC2Config ¶ added in v1.6.0
type HTTPC2Config struct {
ImplantConfig HTTPC2ImplantConfig `json:"implant_config"`
ServerConfig HTTPC2ServerConfig `json:"server_config"`
}
HTTPC2Config - Parent config file struct for implant/server
type HTTPC2ImplantConfig ¶ added in v1.6.0
type HTTPC2ImplantConfig struct {
UserAgent string `json:"user_agent"`
ChromeBaseVersion int `json:"chrome_base_version"`
MacOSVersion string `json:"macos_version"`
NonceQueryArgChars string `json:"nonce_query_args"`
URLParameters []NameValueProbability `json:"url_parameters"`
Headers []NameValueProbability `json:"headers"`
NonceQueryLength int `json:"nonce_query_length"`
NonceMode string `json:"nonce_mode"`
MaxFileGen int `json:"max_files"`
MinFileGen int `json:"min_files"`
MaxPathGen int `json:"max_paths"`
MinPathGen int `json:"min_paths"`
MaxPathLength int `json:"max_path_length"`
MinPathLength int `json:"min_path_length"`
Extensions []string `json:"extensions"`
Files []string `json:"files"`
Paths []string `json:"paths"`
}
HTTPC2ImplantConfig - Implant configuration options Procedural C2 =============== .txt = rsakey .css = start .php = session
.js = poll
.png = stop .woff = sliver shellcode
type HTTPC2ServerConfig ¶ added in v1.6.0
type HTTPC2ServerConfig struct {
RandomVersionHeaders bool `json:"random_version_headers"`
Headers []NameValueProbability `json:"headers"`
Cookies []string `json:"cookies"`
}
HTTPC2ServerConfig - Server configuration options