Documentation
¶
Index ¶
- Constants
- Variables
- func Execute()
- func GetStdinManager() *stdinManager
- func NewGSSAPIClient(addr string, tname string) *gssapiClient
- func NewStdinManager()
- type AnalysisStats
- type FileModeHook
- type ScanConfig
- func (conf *ScanConfig) AnalyzeResult(res *auth.AuthResult, stats *AnalysisStats) error
- func (conf *ScanConfig) GetAllHostKeys(addr string, options *auth.Options, root *auth.AuthResult, ...)
- func (conf *ScanConfig) GetSession(addr string, options *auth.Options, cached *auth.AuthResult) (root *auth.AuthResult)
- func (conf *ScanConfig) InteractCommand(addr string, data []byte, ses *ssh.Session, sclient *ssh.Client, ...) (bool, error)
- func (conf *ScanConfig) InteractHandler(addr string, options *auth.Options, root *auth.AuthResult) auth.SessionHandler
- func (conf *ScanConfig) InteractRelay(addr string, quit chan bool, shell io.WriteCloser, sclient *ssh.Client, ...)
- func (conf *ScanConfig) InteractShowHelp(addr string)
- func (conf *ScanConfig) IsCheckEnabled(check string) bool
- func (conf *ScanConfig) ScanHost(options *auth.Options, cached *auth.AuthResult) *auth.AuthResult
- func (conf *ScanConfig) ScanTarget(ch chan *auth.Options, wg *sync.WaitGroup, statTargetsDone *atomic.Uint64)
- func (conf *ScanConfig) StartInteract(addr string, options *auth.Options, root *auth.AuthResult) error
- func (conf *ScanConfig) TestSession(addr string, options *auth.Options, root *auth.AuthResult)
- func (conf *ScanConfig) WriteOutput(res *auth.AuthResult)
- type SessionOutputWriter
- type TerminalModeHook
Constants ¶
View Source
const MaxJSONLine = 1024 * 1024 * 16
Variables ¶
View Source
var Checks []sshCheck
View Source
var TestKeyRSASizes = []int{1024, 2048, 4096}
View Source
var Version string
Version is set at link-time
Functions ¶
func Execute ¶
func Execute()
Execute adds all child commands to the root command and sets flags appropriately. This is called by main.main(). It only needs to happen once to the rootCmd.
func GetStdinManager ¶ added in v0.3.3
func GetStdinManager() *stdinManager
func NewGSSAPIClient ¶
func NewStdinManager ¶
func NewStdinManager()
Types ¶
type AnalysisStats ¶
type AnalysisStats struct {
PubKeyHalfAuthLimit map[string]map[uint64]struct{}
InitialStage map[string]map[uint64]struct{}
HostKeyAlgos map[string]map[uint64]struct{}
KexAlgos map[string]map[uint64]struct{}
Versions map[string]map[uint64]struct{}
Ciphers map[string]map[uint64]struct{}
MACs map[string]map[uint64]struct{}
Compressions map[string]map[uint64]struct{}
AuthMethods map[string]map[uint64]struct{}
SessionMethods map[string]map[uint64]struct{}
SessionOutputs map[string]map[uint64]struct{}
HostKeys map[string]map[uint64]struct{}
KeyMap map[string]uint64
KeyMapRev map[uint64]*string
// contains filtered or unexported fields
}
func NewAnalysisStats ¶
func NewAnalysisStats() *AnalysisStats
type FileModeHook ¶
func (*FileModeHook) Levels ¶
func (hook *FileModeHook) Levels() []logrus.Level
type ScanConfig ¶
type ScanConfig struct {
EnabledChecks map[string]struct{}
Logger *logrus.Logger
OutputWriter io.Writer
TestKeyRSA1024 ssh.Signer
TestKeyRSA2048 ssh.Signer
TestKeyRSA4096 ssh.Signer
TestKeyED25519 ssh.Signer
BadKeyCache *badkeys.Cache
// contains filtered or unexported fields
}
func (*ScanConfig) AnalyzeResult ¶
func (conf *ScanConfig) AnalyzeResult(res *auth.AuthResult, stats *AnalysisStats) error
func (*ScanConfig) GetAllHostKeys ¶
func (conf *ScanConfig) GetAllHostKeys(addr string, options *auth.Options, root *auth.AuthResult, cached *auth.AuthResult)
func (*ScanConfig) GetSession ¶
func (conf *ScanConfig) GetSession(addr string, options *auth.Options, cached *auth.AuthResult) (root *auth.AuthResult)
GetSession runs through all potential checks that can lead to a session
func (*ScanConfig) InteractCommand ¶
func (*ScanConfig) InteractHandler ¶
func (conf *ScanConfig) InteractHandler(addr string, options *auth.Options, root *auth.AuthResult) auth.SessionHandler
func (*ScanConfig) InteractRelay ¶
func (conf *ScanConfig) InteractRelay(addr string, quit chan bool, shell io.WriteCloser, sclient *ssh.Client, ses *ssh.Session, state *interactSessionState)
func (*ScanConfig) InteractShowHelp ¶
func (conf *ScanConfig) InteractShowHelp(addr string)
func (*ScanConfig) IsCheckEnabled ¶
func (conf *ScanConfig) IsCheckEnabled(check string) bool
func (*ScanConfig) ScanHost ¶
func (conf *ScanConfig) ScanHost(options *auth.Options, cached *auth.AuthResult) *auth.AuthResult
func (*ScanConfig) ScanTarget ¶
func (*ScanConfig) StartInteract ¶
func (conf *ScanConfig) StartInteract(addr string, options *auth.Options, root *auth.AuthResult) error
func (*ScanConfig) TestSession ¶
func (conf *ScanConfig) TestSession(addr string, options *auth.Options, root *auth.AuthResult)
TestSession tries to gain further access through a SSH session
func (*ScanConfig) WriteOutput ¶
func (conf *ScanConfig) WriteOutput(res *auth.AuthResult)
type SessionOutputWriter ¶
type SessionOutputWriter struct {
// contains filtered or unexported fields
}
func NewSessionOutputWriter ¶
func NewSessionOutputWriter(w io.Writer) *SessionOutputWriter
Source Files
¶
- check_bypass.go
- check_gssapi.go
- check_hostkeys.go
- check_keyboard.go
- check_password.go
- check_pubkey.go
- check_userenum.go
- check_vuln.go
- check_vuln_exec.go
- cmd_analyze.go
- cmd_badkeys.go
- cmd_root.go
- cmd_scan.go
- debug.go
- interact.go
- keys.go
- os_other.go
- output.go
- session.go
- session_vuln_generic_env.go
- session_vuln_gogs.go
- session_vuln_ruckus.go
- session_vuln_softserve.go
- session_vuln_tcp_forward.go
- targets.go
Click to show internal directories.
Click to hide internal directories.