This toolkit is aimed to easilly build framework consoles in a Metasploit-like style. It provides a comprehensive interface to define CLI commands, modules and models for its storage database.
pip install sploitkit
From this point,
main.py has the following code:
#!/usr/bin/python3 from sploitkit import FrameworkConsole class MySploitConsole(FrameworkConsole): #TODO: set your console attributes pass if __name__ == '__main__': MySploitConsole( "MySploit", #TODO: configure your console settings ).start()
And you can run it from the terminal:
Sploitkit provides a base set of entities (consoles, commands, modules, models).
Multiple base console levels already exist (for detailed descriptions, see the console section):
FrameworkConsole: the root console, started through
ProjectConsole: the project console, for limiting the workspace to a single project, invoked through the
ModuleConsole: the module console, started when a module is invoked through the
This framework provides more than 20 base commands, distributed in sets of functionalities (for detailed descriptions, see the command section):
- general: commands for every level (e.g.
- module: base module-level commands (e.g.
- project: base project-level commands (e.g.
- recording: recording commands, for managing
- root: base root-level commands (
- utils: utility commands (
It also holds some base models for its storage:
- users: for user-related data (
- systems: for system-related data (
- organization: for organization-related data (
- notes: for linking notes to users, hosts or organizations
No module is provided with the framework as it is case-specific.
Sploitkit defines multiple types of entities for various purposes. The following entities can be subclassed:
Console: a new console for a new level of interaction (e.g.
ProjectConsole) ; the “
root” level is owned by the
Consoleshall be used to create new subconsoles, to be called by commands from the root console (see an example here for the module-level commands with
Command: a new command associated with any or defined consoles using the
Module: a new module associated to a console
StoreExtension: respectively for new models, their association tables and store additional methods (e.g.