Versions in this module Expand all Collapse all v1 v1.0.14 Jul 15, 2024 v1.0.13 Jul 15, 2024 v1.0.12 Jul 15, 2024 v1.0.11 Jul 15, 2024 v1.0.10 Jul 15, 2024 v1.0.9 Jul 15, 2024 v1.0.8 Jul 15, 2024 v1.0.7 Jul 15, 2024 v1.0.6 Jul 15, 2024 v1.0.5 Jul 15, 2024 v1.0.4 Jul 15, 2024 v1.0.3 Jul 15, 2024 v1.0.2 Jul 15, 2024 v1.0.1 Jul 15, 2024 Changes in this version + const PivotTransportName + var Clients = &clients + var ErrDuplicateExternalBuilderName = errors.New("builder name must be unique, this name is already in use") + var ErrDuplicateHosts = errors.New("only one crackstation instance per host") + var ErrImplantTimeout = errors.New("implant timeout") + var ErrInvalidTunnelID = errors.New("invalid tunnel ID") + var ErrUnknownMessageType = errors.New("unknown message type") + var EventBroker = newBroker() + var Jobs = &jobs + var PivotSessions = &sync.Map + var Sessions = &sessions + var SocksTunnels = tcpTunnel + var Tunnels = tunnels + func AddBuilder(builder *clientpb.Builder) error + func AddCrackstation(crack *Crackstation) error + func AllBuilders() []*clientpb.Builder + func AllCrackstations() []*clientpb.Crackstation + func EnvelopeID() int64 + func GetBuilder(builderName string) *clientpb.Builder + func NewTunnelID() uint64 + func NextJobID() int + func RemoveBuilder(builderName string) + func RemoveCrackstation(hostUUID string) + func StartEventAutomation() + type Client struct + ID int + Operator *clientpb.Operator + func NewClient(operatorName string) *Client + func (c *Client) ToProtobuf() *clientpb.Client + type Crackstation struct + Events chan *clientpb.Event + HostUUID string + Station *clientpb.Crackstation + func GetCrackstation(hostUUID string) *Crackstation + func NewCrackstation(station *clientpb.Crackstation) *Crackstation + func (c *Crackstation) GetStatus() *clientpb.CrackstationStatus + func (c *Crackstation) UpdateStatus(status *clientpb.CrackstationStatus) + type Event struct + Beacon *models.Beacon + Client *Client + Data []byte + Err error + EventType string + Job *Job + Session *Session + type ImplantConnection struct + Cleanup func() + ID string + LastMessage time.Time + LastMessageMutex *sync.RWMutex + RemoteAddress string + Resp map[int64]chan *sliverpb.Envelope + RespMutex *sync.RWMutex + Send chan *sliverpb.Envelope + Transport string + func NewImplantConnection(transport string, remoteAddress string) *ImplantConnection + func (c *ImplantConnection) GetLastMessage() time.Time + func (c *ImplantConnection) ReqResend(data []byte) + func (c *ImplantConnection) UpdateLastMessage() + type Job struct + Description string + Domains []string + ID int + JobCtrl chan bool + Name string + PersistentID string + Port uint16 + ProfileName string + Protocol string + func (j *Job) ToProtobuf() *clientpb.Job + type Pivot struct + CipherCtx *cryptography.CipherContext + ID string + ImmediateImplantConn *ImplantConnection + ImplantConn *ImplantConnection + OriginID int64 + Peers []*sliverpb.PivotPeer + func NewPivotSession(chain []*sliverpb.PivotPeer) *Pivot + func (p *Pivot) Start() + type PivotGraphEntry struct + Children map[int64]*PivotGraphEntry + Name string + PeerID int64 + SessionID string + func PivotGraph() []*PivotGraphEntry + func (e *PivotGraphEntry) AllChildren() []*PivotGraphEntry + func (e *PivotGraphEntry) FindEntryByPeerID(peerID int64) *PivotGraphEntry + func (e *PivotGraphEntry) Insert(input *PivotGraphEntry) + func (e *PivotGraphEntry) ToProtobuf() *clientpb.PivotGraphEntry + type Session struct + ActiveC2 string + Arch string + Burned bool + ConfigID string + Connection *ImplantConnection + Extensions []string + Filename string + FirstContact int64 + GID string + Hostname string + ID string + Integrity string + Locale string + Name string + OS string + PID int32 + PeerID int64 + PollTimeout int64 + ProxyURL string + ReconnectInterval int64 + UID string + UUID string + Username string + Version string + func NewSession(implantConn *ImplantConnection) *Session + func (s *Session) IsDead() bool + func (s *Session) LastCheckin() time.Time + func (s *Session) Request(msgType uint32, timeout time.Duration, data []byte) ([]byte, error) + func (s *Session) ToProtobuf() *clientpb.Session + type TcpTunnel struct + Client rpcpb.SliverRPC_SocksProxyServer + FromImplant chan *sliverpb.SocksData + FromImplantSequence uint64 + ID uint64 + SessionID string + ToImplantMux sync.Mutex + ToImplantSequence uint64 + type Tunnel struct + Client rpcpb.SliverRPC_TunnelDataServer + FromImplant chan *sliverpb.TunnelData + FromImplantSequence uint64 + ID uint64 + SessionID string + ToImplant chan []byte + ToImplantSequence uint64 + func NewTunnel(id uint64, sessionID string) *Tunnel + func (t *Tunnel) GetLastMessageTime() time.Time + func (t *Tunnel) SendDataFromImplant(tunnelData *sliverpb.TunnelData)