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 GetClientLogsDir ¶
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 ¶
func GetConsoleLogsDir() string
GetConsoleLogsDir - Get the Sliver client console logs dir ~/.sliver-client/logs/console/
func GetExtensionsDir ¶
func GetExtensionsDir() string
GetExtensionsDir - Get the Sliver extension directory: ~/.sliver-client/extensions
func GetInstalledAliasManifests ¶
func GetInstalledAliasManifests() []string
GetInstalledAliasManifests - Returns a list of installed alias manifests
func GetInstalledExtensionManifests ¶
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 ¶
func RefreshArmoryAuthorization(armories []*ArmoryConfig)
func SaveArmoriesConfig ¶
func SaveArmoriesConfig(armories []*ArmoryConfig) error
func SaveSettings ¶
func SaveSettings(settings *ClientSettings) error
SaveSettings - Save the current settings to disk
Types ¶
type ArmoryConfig ¶
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 ¶
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 ¶
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 ¶
func LoadSettings() (*ClientSettings, error)
LoadSettings - Load the client settings from disk
type HTTPC2Config ¶
type HTTPC2Config struct { ImplantConfig HTTPC2ImplantConfig `json:"implant_config"` ServerConfig HTTPC2ServerConfig `json:"server_config"` }
HTTPC2Config - Parent config file struct for implant/server
type HTTPC2ImplantConfig ¶
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"` MaxFiles int `json:"max_files"` MinFiles int `json:"min_files"` MaxPaths int `json:"max_paths"` MinPaths int `json:"min_paths"` // Stager files and paths StagerFileExt string `json:"stager_file_ext"` StagerFiles []string `json:"stager_files"` StagerPaths []string `json:"stager_paths"` // Poll files and paths PollFileExt string `json:"poll_file_ext"` PollFiles []string `json:"poll_files"` PollPaths []string `json:"poll_paths"` // Session files and paths StartSessionFileExt string `json:"start_session_file_ext"` SessionFileExt string `json:"session_file_ext"` SessionFiles []string `json:"session_files"` SessionPaths []string `json:"session_paths"` // Close session files and paths CloseFileExt string `json:"close_file_ext"` CloseFiles []string `json:"close_files"` ClosePaths []string `json:"close_paths"` }
HTTPC2ImplantConfig - Implant configuration options Procedural C2 =============== .txt = rsakey .css = start .php = session
.js = poll
.png = stop .woff = sliver shellcode
type HTTPC2ServerConfig ¶
type HTTPC2ServerConfig struct { RandomVersionHeaders bool `json:"random_version_headers"` Headers []NameValueProbability `json:"headers"` Cookies []string `json:"cookies"` }
HTTPC2ServerConfig - Server configuration options