Documentation ¶
Index ¶
Constants ¶
const ( ExecGoModule_SHM_EXECUTE = "w.execgo.execute" ExecGoModule_SHM_RESULT = "w.execgo.result" )
Variables ¶
This section is empty.
Functions ¶
func FprintGen_HostAndProcess ¶
func FprintGen_HostAndProcess() string
A pre-made function for generating Wraith fingerprints based on information about both the host and about the Wraith process. This functions generates fingerprints of varying length. Standard length can be achieved by hashing the output of this function. This function is useful if you don't mind fingerprints changing when Wraith is restarted, but would still like some indication of which Wraith runs on which host. If multiple Wraiths run on one host, this also allows for differentiation between them.
func FprintGen_HostOnly ¶
func FprintGen_HostOnly() string
A pre-made function for generating Wraith fingerprints based on information only about the host. This functions generates fingerprints of varying length. Standard length can be achieved by hashing the output of this function. This function is useful if you don't want Wraith fingerprint to change at all on restart. If multiple Wraiths run on one host, they will both have the same fingerprint.
func FprintGen_Random ¶
func FprintGen_Random() string
A pre-made function for generating Wraith fingerprints which are random and not based on any information whatsoever. Useful if you don't really care about the fingerprints and just need them to uniquely identify a Wraith, but they can change on restart.
Types ¶
type DebugModule ¶
type DebugModule struct {
// contains filtered or unexported fields
}
A basic debug module which logs some events and attempts to use some features of Wraith to make sure they work.
func (*DebugModule) Mainloop ¶
func (m *DebugModule) Mainloop(ctx context.Context, w *libwraith.Wraith)
func (*DebugModule) WraithModuleName ¶
func (m *DebugModule) WraithModuleName() string
Return the name of this module
type ExecGoModule ¶
type ExecGoModule struct {
// contains filtered or unexported fields
}
func (*ExecGoModule) Mainloop ¶
func (m *ExecGoModule) Mainloop(ctx context.Context, w *libwraith.Wraith)
func (*ExecGoModule) WraithModuleName ¶
func (m *ExecGoModule) WraithModuleName() string
type PineconeJWTCommsManagerModule ¶
type PineconeJWTCommsManagerModule struct { OwnPrivKey ed25519.PrivateKey AdminPubKey ed25519.PublicKey ListenTcp bool ListenWs bool UseMulticast bool StaticPeers []string // contains filtered or unexported fields }
A CommsManager module implementation which utilises (optionally) encrypted JWT as a base for its transfer protocol. This allows messages to be signed and verified both by the C2 and by Wraith. Otherwise, this CommsManager lacks any particularly advanced features and is meant as a simple default which does a good job in most usecases.
func (*PineconeJWTCommsManagerModule) Mainloop ¶
func (m *PineconeJWTCommsManagerModule) Mainloop(ctx context.Context, w *libwraith.Wraith)
func (*PineconeJWTCommsManagerModule) WraithModuleName ¶
func (m *PineconeJWTCommsManagerModule) WraithModuleName() string
Return the name of this module as libwraith.MOD_COMMS_MANAGER