Documentation ¶
Index ¶
Constants ¶
const ( InvalidCategory category = -1 SimpleShellServerCategory category = 0 SimpleShellClientCategory category = 1 SSLShellServerCategory category = 2 HTTPServeFileCategory category = 3 HTTPServeShellCategory category = 4 ExternalCategory category = 5 ShellTunnelCategory category = 6 )
Variables ¶
var ( SimpleShellServer = internalSupported["SimpleShellServer"] SimpleShellClient = internalSupported["SimpleShellClient"] SSLShellServer = internalSupported["SSLShellServer"] HTTPServeFile = internalSupported["HTTPServeFile"] HTTPServeShell = internalSupported["HTTPServeShell"] ShellTunnel = internalSupported["ShellTunnel"] )
Simplified names in order to keep the old calling convention and allow for quick references in supported C2 functions.
Functions ¶
func CreateFlags ¶ added in v1.0.8
func CreateFlags(implementation Impl)
Call into the c2 impl so that it can create command line flags.
Types ¶
type Impl ¶
type Impl struct { Name string Category category }
Internal representation of a C2 implementation. Each C2 is managed by the framework by the Impl struct type and should be unique.
func AddC2 ¶ added in v1.25.0
Add an external C2 to the supported list. Use this to integrate a new C2 into the framework. This is expected to be called early in the configuration process in order to expose the name of the C2 to the rest of the framework.
func StringToImpl ¶
Return the internal representation of a C2 from a string.
type Interface ¶
An interface used by both reverse shells, bind shells, and stagers.
func GetInstance ¶ added in v1.0.8
Factory pattern for creating c2 interfaces. Note that this is returning an interface, which is a bit anti-Go but it's more or less exactly what we want so.
Directories ¶
Path | Synopsis |
---|---|
The channel package is the container for first-party framework C2 structures and variables, it holds the internal settings for multiple types of C2s.
|
The channel package is the container for first-party framework C2 structures and variables, it holds the internal settings for multiple types of C2s. |
The external C2 module extends the C2 functionality and exposes an interface to allow for an exploit to utilize a channel that is defined in an external repository.
|
The external C2 module extends the C2 functionality and exposes an interface to allow for an exploit to utilize a channel that is defined in an external repository. |
httpservefile c2 spawns an HTTP or HTTPS server and hosts arbitrary user-provided files.
|
httpservefile c2 spawns an HTTP or HTTPS server and hosts arbitrary user-provided files. |
httpservershell is (literally) a combination of HTTPServeFile and (SSLShell || SimpleShellServer).
|
httpservershell is (literally) a combination of HTTPServeFile and (SSLShell || SimpleShellServer). |
shelltunnel is a simple C2 that copies shell traffic between a reverse shell origin and a connectback server.
|
shelltunnel is a simple C2 that copies shell traffic between a reverse shell origin and a connectback server. |
sslshell is a simple c2 that listens for incoming ssl/tls connections in order to establish a reverse shell.
|
sslshell is a simple c2 that listens for incoming ssl/tls connections in order to establish a reverse shell. |