assets

package
v1.0.12 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2024 License: GPL-3.0 Imports: 12 Imported by: 0

README

Assets

Documentation

Index

Constants

View Source
const (
	ArmoryConfigFileName = "armories.json"
	DefaultArmoryName    = "Default"
)
View Source
const (
	AliasesDirName = "aliases"
)
View Source
const (
	// ConfigDirName - Directory name containing config files
	ConfigDirName = "configs"
)
View Source
const (
	// ExtensionsDirName - Directory storing the client side extensions
	ExtensionsDirName = "extensions"
)
View Source
const (
	// SliverClientDirName - Directory storing all of the client configs/logs
	SliverClientDirName = ".sliver-client"
)

Variables

View Source
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

func GetAliasesDir() string

GetAliasesDir - Returns the path to the config dir

func GetClientLogsDir

func GetClientLogsDir() string

GetClientLogsDir - Get the Sliver client logs dir ~/.sliver-client/logs/

func GetConfigDir

func GetConfigDir() string

GetConfigDir - Returns the path to the config dir

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 SaveConfig

func SaveConfig(config *ClientConfig) error

SaveConfig - Save a config to disk

func SaveSettings

func SaveSettings(settings *ClientSettings) error

SaveSettings - Save the current settings to disk

func Setup

func Setup(force bool, echo bool)

Setup - Extract or create local assets

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

type NameValueProbability

type NameValueProbability struct {
	Name        string `json:"name"`
	Value       string `json:"value"`
	Probability int    `json:"probability"`
	Methods     []string
}

Jump to

Keyboard shortcuts

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