Devkit for easilly building Metasploit-like framework consoles
Project description
SploitKit ![Tweet](https://pypi-camo.freetls.fastly.net/c69b1f52f0dbb9051e38e546f49232a5937f559c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f54776565742d2d6c69676874677265793f6c6f676f3d74776974746572267374796c653d736f6369616c)
Make a Metasploit-like console.
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
Usage
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:
Features
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 throughmain.py
ProjectConsole
: the project console, for limiting the workspace to a single project, invoked through theselect [project]
commandModuleConsole
: the module console, started when a module is invoked through theuse [module]
command
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.
help
,show
,set
) - module: base module-level commands (e.g.
use
,run
,show
) - project: base project-level commands (e.g.
select
,load
,archive
) - recording: recording commands, for managing
.rc
files (record
,replay
) - root: base root-level commands (
help
) - utils: utility commands (
shell
,pydbg
,memory
)
It also holds some base models for its storage:
- users: for user-related data (
User
,Email
,Password
) - systems: for system-related data (
Host
,Port
,Service
) - organization: for organization-related data (
Organization
,Unit
,Employee
) - notes: for linking notes to users, hosts or organizations
No module is provided with the framework as it is case-specific.
Customization
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 theFrameworkConsole
,Console
shall be used to create new subconsoles, to be called by commands from the root console (see an example here for the module-level commands withModuleConsole(Console)
andUse(Command)
)Command
: a new command associated with any or defined consoles using thelevel
attributeModule
: a new module associated to a consoleModel
,BaseModel
,StoreExtension
: respectively for new models, their association tables and store additional methods (e.g.User(Model)
,Email(Model)
,UserEmail(BaseModel)
,UsersStorage(StoreExtension)
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sploitkit-0.5.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5018e852c08750320052bb1e175fba3c3122514a94675a2d3de94b337e131770 |
|
MD5 | 46f431406789e49538eac334bc2931d9 |
|
BLAKE2b-256 | ba215505ca15a18f9298f99cd6254d8df79572c256e5497884e8e8f20945e867 |