Get desktop application:
View/edit binary Protocol Buffers messages
CertificateRPC - Calls and responses for Certificate management.
AddCertificate - Add a new CertificateKeyPair to the DB.
Add - Add a new CertificateKeyPair to the DB.
Response
GetCertificate - Ask DB for certificate.
Get a certificate matching fields of this one
RemoveCertificate - Erase a certificate from DB.
Remove certificate
Response
Compiler - Manages all compilation (console & implants) in Wiregost.
CompileConsole - Request to compile a user console.
BuildConsoleRequest - Get Configs of previously built ghosts
(message has no fields)
BuildConsole - Configs of previously built ghosts
(message has no fields)
CompileGhost - Request to compile a ghost implant.
BuildGhostRequest - Get Configs of previously built ghosts
BuildGhost - Configs of previously built ghosts
(message has no fields)
GetGhostProfiles - Returns all saved ghost implants build profiles.
GhostProfilesRequest - Get Configs of previously built ghosts
(message has no fields)
GhostProfiles - Configs of previously built ghosts
Events - The Event system in Wiregost is built around a gRPC server, to which potential event subscribers can connect and register some events. The subscriber is always the client here.
EventPush - A client pushes a new event to the server.
Events - Receive events from the server.
EventsSubscribe - The client subscribes to some types of events.
SubscribeRequest - A client subscribes to some types of events
(message has no fields)
(message has no fields)
EventsUnsubscribe - The client unsubscribes from some types of events.
UnsubscribeRequest - A client unsubscribes from some types of events
(message has no fields)
(message has no fields)
JobRPC - All RPC calls to control jobs.
(no methods)
CertificateKeyPair - Used to store TLS certificates in DB and some calls
Used as response type in: CertificateRPC.GetCertificate
Used as field type in: , , ,
This channel implements RPC stubs
This channel only provides byte streams
ConsoleBuild - A console compilation profile.
Do we send the executable back to the console compiling it ?
Event - Any asynchronous event to be pushed to one or more consoles
Used as request type in: Events.EventPush
Used as response type in: Events.Events
Job Job = 2; Ghost Ghost = 3;
EventType - Events can range from user connect/disconnect, job cancellation, to session registering.
Used in:
GhostConfig - Stores all configuration elements needed to compile an implant.
Used in: ,
If set, restrict to some host
If set, restrict to some user on target
Where to output binary
Job - A background job running in Wiregost
Who has control over this job
Level - Some components in Wiregost will push to the event system through logger hooks, for more granular output of log information, especially for modules.
Used in:
Session - Similarly to Metasploit, a Session object is a general means of interacting with various post-exploitation payloads through a common interface that is not necessarily tied to a network connection. For instance, if an exploit spawns a command shell over the network, the read/write operations end up reading and writing to that shell. These raw functions will be progressively reimplemented by embedders when they need more elaborated logic.
Each session has a Universally Unique UID
Return Name or UUID
The local side of the tunnel
The peer (remote) side of the tunnel
The IP address of this session
Port number
Further description of the session type
A primary log file used for basic session types.
User who owns this session (derived from exploit/transport)
Ownership permissions on the session
Other fields that may be used by embedders
The associated host for this session
Routes are included in a base Session, even if list is empty.
Route permissions
Environment variables for this session.
SessionType - The type of session (default: "unknown")
Used in:
default value
The session is able to run basic commands on a remote shell.
Status - The current status of the session (very important later)
Used in:
Full interaction
Non-networked interaction
Unrecoverable