crack

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2025 License: GPL-3.0 Imports: 59 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CRACK_FTP               = "FTP"
	CRACK_SSH               = "SSH"
	CRACK_TELNET            = "TELNET"
	CRACK_HTTPBASIC         = "HTTP"
	CRACK_WMI               = "WMI"
	CRACK_SNMP              = "SNMP"
	CRACK_LDAP              = "LDAP"
	CRACK_SMB               = "SMB"
	CRACK_RTSP              = "RTSP"
	CRACK_RSYNC             = "RSYNC"
	CRACK_SOCKS5            = "SOCKS5"
	CRACK_MSSQL             = "MSSQL"
	CRACK_ORACLE            = "ORACLE"
	CRACK_MQTT              = "MQTT"
	CRACK_MYSQL             = "MYSQL"
	CRACK_RDP               = "RDP"
	CRACK_POSTGRESQL        = "POSTGRESQL"
	CRACK_AMQP              = "AMQP"
	CRACK_VNC               = "VNC"
	CRACK_WINRM             = "WINRM"
	CRACK_REDIS             = "REDIS"
	CRACK_MEMCACHED         = "MEMCACHED"
	CRACK_MONGODB           = "MONGODB"
	CRACK_TOMCAT            = "TOMCAT"
	CRACK_JENKINS           = "JENKINS"
	CRACK_GITLAB            = "GITLAB"
	CRACK_NACOS             = "NACOS"
	CRACK_NEXUS             = "NEXUS"
	CRACK_SVN               = "SVN"
	CRACK_ELASTICSEARCH     = "ELASTICSEARCH"
	CRACK_WEBLOGIC          = "WEBLOGIC"
	CRACK_EXPRESS           = "EXPRESS"
	CRACK_HABASE_REST       = "HBASE_REST_API"
	CRACK_FLASK             = "FLASK"
	CRACK_GIN               = "GIN"
	CRACK_PROMETHEUS        = "PROMETHEUS"
	CRACK_APACHE            = "APACHE"
	CRACK_GRAFANA           = "GRAFANA"
	CRACK_MINIO             = "MINIO"
	CRACK_ACTIVEMQ          = "ACTIVEMQ"
	CRACK_IMAP              = "IMAP"
	CRACK_POP3              = "POP3"
	CRACK_WEBSHELL_SIMPLE   = "WEBSHELL"
	CRACK_WEBSHELL_GODZILLA = "GODZILLA"
	CRACK_WEBSHELL_BEHINDER = "BEHINDER"
)
View Source
const (
	TIME_DELAY_AFTER_WRITE = 300 * time.Millisecond

	// Telnet protocol characters (don't change)
	IAC  = byte(255) // "Interpret As Command"
	DONT = byte(254)
	DO   = byte(253)
	WONT = byte(252)
	WILL = byte(251)
	SB   = byte(250) // Subnegotiation Begin
	SE   = byte(240) // Subnegotiation End

	NULL  = byte(0)
	EOF   = byte(236) // Document End
	SUSP  = byte(237) // Subnegotiation End
	ABORT = byte(238) // Process Stop
	REOR  = byte(239) // Record End
	NOP   = byte(241) // No Operation
	DM    = byte(242) // Data Mark
	BRK   = byte(243) // Break
	IP    = byte(244) // Interrupt process
	AO    = byte(245) // Abort output
	AYT   = byte(246) // Are You There
	EC    = byte(247) // Erase Character
	EL    = byte(248) // Erase Line
	GA    = byte(249) // Go Ahead

	// Telnet protocol options code (don't change)
	// These ones all come from arpa/telnet.h
	BINARY         = byte(0)  // 8-bit data path
	ECHO           = byte(1)  // echo
	RCP            = byte(2)  // prepare to reconnect
	SGA            = byte(3)  // suppress go ahead
	NAMS           = byte(4)  // approximate message size
	STATUS         = byte(5)  // give status
	TM             = byte(6)  // timing mark
	RCTE           = byte(7)  // remote controlled transmission and echo
	NAOL           = byte(8)  // negotiate about output line width
	NAOP           = byte(9)  // negotiate about output page size
	NAOCRD         = byte(10) // negotiate about CR disposition
	NAOHTS         = byte(11) // negotiate about horizontal tabstops
	NAOHTD         = byte(12) // negotiate about horizontal tab disposition
	NAOFFD         = byte(13) // negotiate about formfeed disposition
	NAOVTS         = byte(14) // negotiate about vertical tab stops
	NAOVTD         = byte(15) // negotiate about vertical tab disposition
	NAOLFD         = byte(16) // negotiate about output LF disposition
	XASCII         = byte(17) // extended ascii character set
	LOGOUT         = byte(18) // force logout
	BM             = byte(19) // byte macro
	DET            = byte(20) // data entry terminal
	SUPDUP         = byte(21) // supdup protocol
	SUPDUPOUTPUT   = byte(22) // supdup output
	SNDLOC         = byte(23) // send location
	TTYPE          = byte(24) // terminal type
	EOR            = byte(25) // end or record
	TUID           = byte(26) // TACACS user identification
	OUTMRK         = byte(27) // output marking
	TTYLOC         = byte(28) // terminal location number
	VT3270REGIME   = byte(29) // 3270 regime
	X3PAD          = byte(30) // X.3 PAD
	NAWS           = byte(31) // window size
	TSPEED         = byte(32) // terminal speed
	LFLOW          = byte(33) // remote flow control
	LINEMODE       = byte(34) // Linemode option
	XDISPLOC       = byte(35) // X Display Location
	OLD_ENVIRON    = byte(36) // Old - Environment variables
	AUTHENTICATION = byte(37) // Authenticate
	ENCRYPT        = byte(38) // Encryption option
	NEW_ENVIRON    = byte(39) // New - Environment variables
	// the following ones come from
	// http://www.iana.org/assignments/telnet-options
	// Unfortunately, that document does not assign identifiers
	// to all of them, so we are making them up
	TN3270E             = byte(40)  // TN3270E
	XAUTH               = byte(41)  // XAUTH
	CHARSET             = byte(42)  // CHARSET
	RSP                 = byte(43)  // Telnet Remote Serial Port
	COM_PORT_OPTION     = byte(44)  // Com Port Control Option
	SUPPRESS_LOCAL_ECHO = byte(45)  // Telnet Suppress Local Echo
	TLS                 = byte(46)  // Telnet Start TLS
	KERMIT              = byte(47)  // KERMIT
	SEND_URL            = byte(48)  // SEND-URL
	FORWARD_X           = byte(49)  // FORWARD_X
	PRAGMA_LOGON        = byte(138) // TELOPT PRAGMA LOGON
	SSPI_LOGON          = byte(139) // TELOPT SSPI LOGON
	PRAGMA_HEARTBEAT    = byte(140) // TELOPT PRAGMA HEARTBEAT
	EXOPL               = byte(255) // Extended-Options-List
	NOOPT               = byte(0)
)
View Source
const (
	Closed = iota
	UnauthorizedAccess
	OnlyPassword
	UsernameAndPassword
)
View Source
const (
	MAXX_         = "maxx"
	MAXX_STR      = "MAXX_STR"
	MAXX_NUM      = "MAXX_NUM"
	MAXX_RAND_CMD = "MAXX_RAND_CMD"

	TYP_PATTERN = "pattern"
	TYP_ERROR   = "error"
	TYP_SLEEP   = "sleep"
	TYP_URL     = "url"
)

Variables

View Source
var (
	CrackServiceMap = map[string]CrackTemplate{
		CRACK_FTP: func() Crack {
			return &FtpCracker{}
		},
		CRACK_SSH: func() Crack {
			return &SshCracker{}
		},
		CRACK_TELNET: func() Crack {
			return &TelnetCracker{}
		},
		CRACK_HTTPBASIC: func() Crack {
			return &HttpCracker{}
		},
		CRACK_WMI: func() Crack {
			return &WmiCracker{}
		},
		CRACK_SNMP: func() Crack {
			return &SnmpCracker{}
		},
		CRACK_LDAP: func() Crack {
			return &LdapCracker{}
		},
		CRACK_SMB: func() Crack {
			return &SmbCracker{}
		},
		CRACK_RSYNC: func() Crack {
			return &RsyncCracker{}
		},
		CRACK_SOCKS5: func() Crack {
			return &Socks5Cracker{}
		},
		CRACK_MSSQL: func() Crack {
			return &MssqlCracker{}
		},
		CRACK_ORACLE: func() Crack {
			return &OracleCracker{}
		},
		CRACK_MQTT: func() Crack {
			return &MqttCracker{}
		},
		CRACK_MYSQL: func() Crack {
			return &MysqlCracker{}
		},
		CRACK_RDP: func() Crack {
			return &RdpCracker{}
		},
		CRACK_POSTGRESQL: func() Crack {
			return &PostgresCracker{}
		},
		CRACK_AMQP: func() Crack {
			return &AmqpCracker{}
		},
		CRACK_VNC: func() Crack {
			return &VncCracker{}
		},
		CRACK_WINRM: func() Crack {
			return &WinrmCracker{}
		},
		CRACK_REDIS: func() Crack {
			c := &RedisCracker{}
			c.NoUser_ = true
			return c
		},
		CRACK_MEMCACHED: func() Crack {
			return &MemcachedCracker{}
		},
		CRACK_MONGODB: func() Crack {
			return &MongoCracker{}
		},
		CRACK_TOMCAT: func() Crack {
			return &HttpCracker{}
		},
		CRACK_JENKINS: func() Crack {
			return &HttpCracker{}
		},
		CRACK_GITLAB: func() Crack {
			return &HttpCracker{}
		},
		CRACK_NACOS: func() Crack {
			return &HttpCracker{}
		},
		CRACK_NEXUS: func() Crack {
			return &HttpCracker{}
		},
		CRACK_SVN: func() Crack {
			return &HttpCracker{}
		},
		CRACK_ELASTICSEARCH: func() Crack {
			return &ElasticsearchCracker{}
		},
		CRACK_FLASK: func() Crack {
			return &HttpCracker{}
		},
		CRACK_GIN: func() Crack {
			return &HttpCracker{}
		},
		CRACK_APACHE: func() Crack {
			return &HttpCracker{}
		},
		CRACK_MINIO: func() Crack {
			return &MinioCracker{}
		},
		CRACK_ACTIVEMQ: func() Crack {
			return &HttpCracker{}
		},
		CRACK_IMAP: func() Crack {
			return &ImapCracker{}
		},
		CRACK_POP3: func() Crack {
			return &Pop3Cracker{}
		},
		CRACK_WEBSHELL_SIMPLE: func() Crack {
			c := &SimpleWebshellCrack{}
			c.NoUser_ = true
			return c
		},
		CRACK_WEBSHELL_GODZILLA: func() Crack {
			return &GodzillaCrack{}
		},
		CRACK_WEBSHELL_BEHINDER: func() Crack {
			c := &BehinderCrack{}
			c.NoUser_ = true
			return c
		},
	}
	DefaultPortService = map[int]string{
		21:    CRACK_FTP,
		22:    CRACK_SSH,
		23:    CRACK_TELNET,
		80:    CRACK_HTTPBASIC,
		443:   CRACK_HTTPBASIC,
		135:   CRACK_WMI,
		161:   CRACK_SNMP,
		389:   CRACK_LDAP,
		445:   CRACK_SMB,
		554:   CRACK_RTSP,
		873:   CRACK_RSYNC,
		1080:  CRACK_SOCKS5,
		1433:  CRACK_MSSQL,
		1521:  CRACK_ORACLE,
		1883:  CRACK_MQTT,
		3306:  CRACK_MYSQL,
		3389:  CRACK_RDP,
		5432:  CRACK_POSTGRESQL,
		5672:  CRACK_AMQP,
		5900:  CRACK_VNC,
		5985:  CRACK_WINRM,
		5986:  CRACK_WINRM,
		6379:  CRACK_REDIS,
		11211: CRACK_MEMCACHED,
		27017: CRACK_MONGODB,
		8080:  CRACK_TOMCAT,
		8081:  CRACK_JENKINS,
		8082:  CRACK_NACOS,
		8083:  CRACK_NEXUS,
		3690:  CRACK_SVN,
		8084:  CRACK_GITLAB,
		8443:  CRACK_GITLAB,
	}

	CLASS_WEBSHELL      = "webshell"
	CLASS_REMOTE_ACCESS = "remote access"
	CLASS_OTHER         = "other"
	CLASS_MQ_MIDDLEWARE = "mq/middleware"
	CLASS_DB            = "database"
	CLASS_WEB           = "web server"
	CLASS_TUNNELING     = "tunneling"
	CLASS_FILE_TRANSFER = "file transfer"
	CLASS_EMAIL         = "mail service"
)
View Source
var ERR_CONNECTION = errors.New("connection failed")

Functions

func RsyncDetect

func RsyncDetect(target string, timeout int) (float64, []string, error)

func RsyncLogin

func RsyncLogin(target, user, passwd string, ver float64, modules []string, timeout int) error

func RsyncUnauth

func RsyncUnauth(target string, ver float64, modules []string, timeout int) error

func SplitUserDomain

func SplitUserDomain(user string) (string, string)

func WMIExec

func WMIExec(target, username, password, hash, domain, clientHostname, binding string, cfgIn *wmiexec.WmiExecConfig) (flag bool, err error)

Types

type ActivemqCracker added in v0.0.3

type ActivemqCracker struct {
	CrackBase
}

func (*ActivemqCracker) Class added in v0.0.3

func (*ActivemqCracker) Class() string

func (*ActivemqCracker) Crack added in v0.0.3

func (f *ActivemqCracker) Crack() (succ bool, err error)

type AmqpCracker

type AmqpCracker struct {
	CrackBase
}

func (*AmqpCracker) Class added in v0.0.3

func (*AmqpCracker) Class() string

func (*AmqpCracker) Crack

func (s *AmqpCracker) Crack() (succ bool, err error)

func (*AmqpCracker) Ping

func (s *AmqpCracker) Ping() (succ bool, err error)

type BehinderCrack added in v0.0.3

type BehinderCrack struct {
	CrackBase
}

func (*BehinderCrack) Class added in v0.0.3

func (*BehinderCrack) Class() string

func (*BehinderCrack) Crack added in v0.0.3

func (b *BehinderCrack) Crack() (succ bool, err error)

type Client

type Client struct {
	Addr         string
	UserName     string
	Password     string
	LastResponse string
	ServerType   int
	Timeout      time.Duration
	// contains filtered or unexported fields
}

func NewClient

func NewClient(addr string, username, password string, timeout time.Duration) (*Client, error)

func (*Client) Clear

func (c *Client) Clear()

func (*Client) Connect

func (c *Client) Connect() error

func (*Client) Login

func (c *Client) Login() error

type Crack

type Crack interface {
	Ping() (bool, error)
	Crack() (bool, error)
	NoUser() bool
	Class() string
	SetTarget(target string)
	SetIpPort(ip, port string)
	SetService(service string)
	SetTimeout(timeout int)
	SetAuth(user, pass string)
	SetProxy(proxy string)
	EnableVerbose()
}

type CrackBase

type CrackBase struct {
	Service, Target, Ip, Port, User, Pass, Proxy string // user can be use as other property, such as key/name/account
	Timeout                                      int
	Verbose, NoUser_                             bool
}

func (*CrackBase) Class added in v0.0.3

func (c *CrackBase) Class() string

func (*CrackBase) Crack added in v0.0.3

func (*CrackBase) Crack() (bool, error)

default implementation: Crack

func (*CrackBase) EnableVerbose added in v0.0.5

func (c *CrackBase) EnableVerbose()

func (*CrackBase) NoUser added in v0.0.2

func (c *CrackBase) NoUser() bool

func (*CrackBase) Ping added in v0.0.3

func (*CrackBase) Ping() (bool, error)

default implementation: Ping

func (*CrackBase) SetAuth

func (c *CrackBase) SetAuth(user, pass string)

func (*CrackBase) SetIpPort

func (c *CrackBase) SetIpPort(ip, port string)

func (*CrackBase) SetProxy added in v0.0.2

func (c *CrackBase) SetProxy(proxy string)

func (*CrackBase) SetService

func (c *CrackBase) SetService(service string)

func (*CrackBase) SetTarget

func (c *CrackBase) SetTarget(target string)

func (*CrackBase) SetTimeout

func (c *CrackBase) SetTimeout(timeout int)

type CrackTemplate

type CrackTemplate func() Crack

type ElasticsearchCracker

type ElasticsearchCracker struct {
	CrackBase
}

func (*ElasticsearchCracker) Class added in v0.0.3

func (*ElasticsearchCracker) Class() string

func (*ElasticsearchCracker) Crack

func (s *ElasticsearchCracker) Crack() (succ bool, err error)

func (*ElasticsearchCracker) Ping

func (s *ElasticsearchCracker) Ping() (succ bool, err error)

type FormLoginCracker added in v0.0.5

type FormLoginCracker struct {
	CrackBase
}

func (*FormLoginCracker) Class added in v0.0.5

func (*FormLoginCracker) Class() string

func (*FormLoginCracker) Crack added in v0.0.5

func (f *FormLoginCracker) Crack() (succ bool, err error)

to be implemented

type FtpCracker

type FtpCracker struct {
	CrackBase
}

func (*FtpCracker) Class added in v0.0.3

func (*FtpCracker) Class() string

func (*FtpCracker) Crack

func (f *FtpCracker) Crack() (succ bool, err error)

func (*FtpCracker) Ping

func (f *FtpCracker) Ping() (succ bool, err error)

type GodzillaCrack added in v0.0.3

type GodzillaCrack struct {
	CrackBase
}

func (*GodzillaCrack) Class added in v0.0.3

func (*GodzillaCrack) Class() string

func (*GodzillaCrack) Crack added in v0.0.3

func (g *GodzillaCrack) Crack() (succ bool, err error)

type HttpCracker

type HttpCracker struct {
	CrackBase
}

func (*HttpCracker) Class added in v0.0.3

func (*HttpCracker) Class() string

func (*HttpCracker) Crack

func (h *HttpCracker) Crack() (succ bool, err error)

func (*HttpCracker) Ping

func (h *HttpCracker) Ping() (succ bool, err error)

type ImapCracker added in v0.0.3

type ImapCracker struct {
	CrackBase
}

func (*ImapCracker) Class added in v0.0.3

func (*ImapCracker) Class() string

func (*ImapCracker) Crack added in v0.0.3

func (f *ImapCracker) Crack() (succ bool, err error)

func (*ImapCracker) Ping added in v0.0.3

func (f *ImapCracker) Ping() (succ bool, err error)

type LdapCracker

type LdapCracker struct {
	CrackBase
}

func (*LdapCracker) Class added in v0.0.3

func (*LdapCracker) Class() string

func (*LdapCracker) Crack

func (l *LdapCracker) Crack() (succ bool, err error)

func (*LdapCracker) Ping

func (l *LdapCracker) Ping() (succ bool, err error)

type MemcachedCracker

type MemcachedCracker struct {
	CrackBase
}

func (*MemcachedCracker) Class added in v0.0.3

func (*MemcachedCracker) Class() string

func (*MemcachedCracker) Crack

func (r *MemcachedCracker) Crack() (succ bool, err error)

func (*MemcachedCracker) Ping

func (r *MemcachedCracker) Ping() (succ bool, err error)

type MinioCracker

type MinioCracker struct {
	CrackBase
}

func (*MinioCracker) Class added in v0.0.3

func (*MinioCracker) Class() string

func (*MinioCracker) Crack

func (m *MinioCracker) Crack() (succ bool, err error)

type MongoCracker

type MongoCracker struct {
	CrackBase
}

func (*MongoCracker) Class added in v0.0.3

func (*MongoCracker) Class() string

func (*MongoCracker) Crack

func (r *MongoCracker) Crack() (succ bool, err error)

type MqttCracker

type MqttCracker struct {
	CrackBase
}

func (*MqttCracker) Class added in v0.0.3

func (*MqttCracker) Class() string

func (*MqttCracker) Crack

func (s *MqttCracker) Crack() (succ bool, err error)

func (*MqttCracker) Ping

func (s *MqttCracker) Ping() (succ bool, err error)

type MssqlCracker

type MssqlCracker struct {
	CrackBase
}

func (*MssqlCracker) Class added in v0.0.3

func (*MssqlCracker) Class() string

func (*MssqlCracker) Crack

func (s *MssqlCracker) Crack() (succ bool, err error)

func (*MssqlCracker) Ping

func (s *MssqlCracker) Ping() (succ bool, err error)

type MysqlCracker

type MysqlCracker struct {
	CrackBase
}

func (*MysqlCracker) Class added in v0.0.3

func (*MysqlCracker) Class() string

func (*MysqlCracker) Crack

func (s *MysqlCracker) Crack() (succ bool, err error)

type NoLogger

type NoLogger struct {
}

func (NoLogger) Debugf

func (NoLogger) Debugf(format string, v ...any)

func (NoLogger) Errorf

func (NoLogger) Errorf(format string, v ...any)

func (NoLogger) Warnf

func (NoLogger) Warnf(format string, v ...any)

type OracleCracker

type OracleCracker struct {
	CrackBase
	ServiceName string
}

func (*OracleCracker) Class added in v0.0.3

func (*OracleCracker) Class() string

func (*OracleCracker) Crack

func (s *OracleCracker) Crack() (succ bool, err error)

type Pop3Cracker added in v0.0.3

type Pop3Cracker struct {
	CrackBase
}

fixme: Service probe before ping maybe, if the dest tcp server is not pop3 server, the Ping or Crack will block forever I will be back later

func (*Pop3Cracker) Class added in v0.0.3

func (*Pop3Cracker) Class() string

func (*Pop3Cracker) Crack added in v0.0.3

func (f *Pop3Cracker) Crack() (succ bool, err error)

func (*Pop3Cracker) Ping added in v0.0.3

func (f *Pop3Cracker) Ping() (succ bool, err error)

type PostgresCracker

type PostgresCracker struct {
	CrackBase
	DBName string
}

func (*PostgresCracker) Class added in v0.0.3

func (*PostgresCracker) Class() string

func (*PostgresCracker) Crack

func (f *PostgresCracker) Crack() (succ bool, err error)

type RdpCracker

type RdpCracker struct {
	CrackBase
}

func (*RdpCracker) Class added in v0.0.3

func (*RdpCracker) Class() string

func (*RdpCracker) Crack

func (f *RdpCracker) Crack() (succ bool, err error)

type RedisCracker

type RedisCracker struct {
	CrackBase
}

func (*RedisCracker) Class added in v0.0.3

func (*RedisCracker) Class() string

func (*RedisCracker) Crack

func (r *RedisCracker) Crack() (succ bool, err error)

func (*RedisCracker) Ping

func (r *RedisCracker) Ping() (succ bool, err error)

type RsyncCracker

type RsyncCracker struct {
	CrackBase
}

func (*RsyncCracker) Class added in v0.0.3

func (*RsyncCracker) Class() string

func (*RsyncCracker) Crack

func (s *RsyncCracker) Crack() (succ bool, err error)

func (*RsyncCracker) Ping

func (s *RsyncCracker) Ping() (succ bool, err error)

type SimpleWebshellCrack added in v0.0.2

type SimpleWebshellCrack struct {
	CrackBase
}

func (*SimpleWebshellCrack) Class added in v0.0.3

func (*SimpleWebshellCrack) Class() string

func (*SimpleWebshellCrack) Crack added in v0.0.2

func (o *SimpleWebshellCrack) Crack() (succ bool, err error)

type SmbCracker

type SmbCracker struct {
	CrackBase
}

func (*SmbCracker) Class added in v0.0.3

func (*SmbCracker) Class() string

func (*SmbCracker) Crack

func (s *SmbCracker) Crack() (succ bool, err error)

func (*SmbCracker) Ping

func (s *SmbCracker) Ping() (succ bool, err error)

type SnmpCracker

type SnmpCracker struct {
	CrackBase
}

func (*SnmpCracker) Class added in v0.0.3

func (*SnmpCracker) Class() string

func (*SnmpCracker) Crack

func (s *SnmpCracker) Crack() (succ bool, err error)

func (*SnmpCracker) Ping

func (s *SnmpCracker) Ping() (succ bool, err error)

type Socks5Cracker

type Socks5Cracker struct {
	CrackBase
}

func (*Socks5Cracker) Class added in v0.0.3

func (*Socks5Cracker) Class() string

func (*Socks5Cracker) Crack

func (s *Socks5Cracker) Crack() (succ bool, err error)

func (*Socks5Cracker) Ping

func (s *Socks5Cracker) Ping() (succ bool, err error)

type SshCracker

type SshCracker struct {
	CrackBase
}

func (*SshCracker) Class added in v0.0.3

func (*SshCracker) Class() string

func (*SshCracker) Crack

func (f *SshCracker) Crack() (succ bool, err error)

func (*SshCracker) Ping

func (s *SshCracker) Ping() (succ bool, err error)

type TelnetCracker

type TelnetCracker struct {
	CrackBase
}

func (*TelnetCracker) Class added in v0.0.3

func (*TelnetCracker) Class() string

func (*TelnetCracker) Crack

func (t *TelnetCracker) Crack() (succ bool, err error)

func (*TelnetCracker) Ping

func (t *TelnetCracker) Ping() (succ bool, err error)

type VncCracker

type VncCracker struct {
	CrackBase
}

func (*VncCracker) Class added in v0.0.3

func (*VncCracker) Class() string

func (*VncCracker) Crack

func (v *VncCracker) Crack() (succ bool, err error)

func (*VncCracker) Ping

func (v *VncCracker) Ping() (succ bool, err error)

type WinrmCracker

type WinrmCracker struct {
	CrackBase
}

func (*WinrmCracker) Class added in v0.0.3

func (*WinrmCracker) Class() string

func (*WinrmCracker) Crack

func (w *WinrmCracker) Crack() (succ bool, err error)

type WmiCracker

type WmiCracker struct {
	CrackBase
}

func (*WmiCracker) Class added in v0.0.3

func (*WmiCracker) Class() string

func (*WmiCracker) Crack

func (t *WmiCracker) Crack() (succ bool, err error)

Jump to

Keyboard shortcuts

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