Get desktop application:
View/edit binary Protocol Buffers messages
ModuleRPC - A little RPC service providing methods for module objects, with which they can track and synchronise state between their stack version and the server's. All other elements that the modules will need, per type, will be registered by them. Here, the client is the Wiregost's server Module Manager, and the RPC server is the stack binary with all up-to-date compiled modules.
Stack - This RPC service provides client consoles with methods to query, setup and use modules in Wiregost.
ClearRequest - Clears all modules from the user's stack
User authentication, needed to dispatch
EditRequest - Edit one of the module files
User authentication, needed to dispatch
PopRequest - Pop one or more modules from the user stack
Pop all modules from stack
User authentication, needed to dispatch
Sends next module on stack: empty if none left
PushRequest - Push one or more modules onto the user stack
User authentication, needed to dispatch
ReloadRequest - Recompile and reload the module stack.
User authentication, needed to dispatch
Module commands
Stack commands
Command - A module may expose various subcommands, for triggering different functions.
Used in: ,
Command name
Description
Some commands trigger exploits, themselves requiring to action payloads.
Info - This structure is shared by all modules, independently of their type.
Used as response type in: ModuleRPC.GetInfo, Stack.GetInfo
Used as field type in:
Base information
Module Name
Type of module
Path to module in modules directory
A description for this module
Additional notes
Any reference useful to the user
Module authors
Other credits
A list of operating systems on which the module can be run
Supported architecture
Implementation language of the module
Does the module requires administrator privileges to be run ?
A CVE,EDB, CWE, etc. reference identifier.
Used in:
InfoRequest - Request the module's metadata information only
Used as request type in: ModuleRPC.GetInfo, Stack.GetInfo
Module Path
User authentication, needed to dispatch
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: ,
Log - A log message sent by a module back to a console. The Manager will, in-between, log it to files if needed. The ideal would be to pass a logrus.Entry like object.
Client passes its ID for mapping the console to modules being used.
Module - A module object, with properties and options
Used in: , ,
Module metadata information
The module can run different actions, with different commands
All options for this module. Send a list with them, for retrieving order.
ModuleLog - Used by the module event stream client to identify itself during the stream setup
Client passes its ID for mapping the console to modules being used.
What level of logging is desired
Option - An option used by the module
Used as response type in: ModuleRPC.SetOption, Stack.SetOption
Used as field type in: ,
Option name
Options can be classified according to user preferences
Option value, is always a string and converted later if needed
Is this option required ? If yes it should already have a value
Sometimes the option value is used as a flag in a command line, so it might have a different form.
A description for this option.
Used as response type in: ModuleRPC.GetOptions, Stack.GetOptions
All options for this module. Send a list with them, for retrieving order.
OptionsRequest - Get all options of a module
Used as request type in: ModuleRPC.GetOptions, Stack.GetOptions
Used as response type in: ModuleRPC.RunModule, Stack.RunModule
used when parsing profiles
RunRequest - Run the one of the functions of the module
Used as request type in: ModuleRPC.RunModule, Stack.RunModule
Uniquely identify the request, so that any further module output is redirected to the good console
Module Path
The precise action to trigger
Any option or argument need, such as profile name
User authentication, needed to dispatch
User authentication, needed to dispatch
SetOptionRequest - Set an option for the module
Used as request type in: ModuleRPC.SetOption, Stack.SetOption
User authentication, needed to dispatch
Module Types
Used in:
Just in case
Used as response type in: ModuleRPC.UseModule, Stack.UseModule
UseRequest - Load a module onto the stack
Used as request type in: ModuleRPC.UseModule, Stack.UseModule
User authentication, needed to dispatch