{ "info": { "author": "Alexandre D'Hondt", "author_email": "alexandre.dhondt@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "[![PyPi](https://img.shields.io/pypi/v/sploitkit.svg)](https://pypi.python.org/pypi/sploitkit/)\n[![Read The Docs](https://readthedocs.org/projects/sploitkit/badge/?version=latest)](https://sploitkit.readthedocs.io/en/latest/?badge=latest)\n[![Known Vulnerabilities](https://snyk.io/test/github/dhondta/sploitkit/badge.svg?targetFile=requirements.txt)](https://snyk.io/test/github/dhondta/sploitkit?targetFile=requirements.txt)\n[![Requirements Status](https://requires.io/github/dhondta/sploitkit/requirements.svg?branch=master)](https://requires.io/github/dhondta/sploitkit/requirements/?branch=master)\n[![Python Versions](https://img.shields.io/pypi/pyversions/sploitkit.svg)](https://pypi.python.org/pypi/sploitkit/)\n[![License](https://img.shields.io/pypi/l/sploitkit.svg)](https://pypi.python.org/pypi/sploitkit/)\n[![Beerpay](https://img.shields.io/beerpay/hashdog/scrapfy-chrome-extension.svg)](https://beerpay.io/dhondta/sploitkit)\n[![Donate](https://img.shields.io/badge/donate-paypal-orange.svg)](https://www.paypal.me/dhondta)\n\n\n# SploitKit\n\nThis 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.\n\n## Quick Start\n\n### Setup\n\n```\npip install sploitkit\n```\n\n### Create a project\n\n```sh\n$ sploitkit-new my-sploit\n$ cd my-sploit\n$ gedit main.py\n```\n\n### Usage\n\nFrom this point, `main.py` has the following code:\n\n```python\n#!/usr/bin/python3\nfrom sploitkit import FrameworkConsole\n\n\nclass MySploitConsole(FrameworkConsole):\n # set your console items here\n pass\n\n\nif __name__ == '__main__':\n MySploitConsole(\n \"MySploit\",\n # configure your console settings here\n ).start()\n```\n\nAnd you can run it from the terminal:\n\n![](docs/img/my-sploit-start.png)\n\n### Base features\n\nSploitkit provides a base set of entities (consoles, commands, modules, models).\n\nMultiple base console levels already exist (for detailed descriptions, see [the console section](../console/index.html)):\n\n- [`FrameworkConsole`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/core/console.py): the root console, started through `main.py`\n- [`ProjectConsole`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/project.py): the project console, for limiting the workspace to a single project, invoked through the `select [project]` command\n- [`ModuleConsole`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/module.py): the module console, started when a module is invoked through the `use [module]` command\n\nThis framework provides more than 20 base commands, distributed in sets of functionalities (for detailed descriptions, see [the command section](../command/index.html)):\n\n- [*general*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/general.py): commands for every level (e.g. `help`, `show`, `set`)\n- [*module*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/module.py): base module-level commands (e.g. `use`, `run`, `show`)\n- [*project*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/project.py): base project-level commands (e.g. `select`, `load`, `archive`)\n- [*recording*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/recording.py): recording commands, for managing `.rc` files (`record`, `replay`)\n- [*root*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/root.py): base root-level commands (`help`)\n- [*utils*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/utils.py): utility commands (`shell`, `pydbg`, `memory`)\n\nIt also holds some base models for its storage:\n\n- [*users*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/models/notes.py): for user-related data (`User`, `Email`, `Password`)\n- [*systems*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/models/systems.py): for system-related data (`Host`, `Port`, `Service`)\n- [*organization*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/models/organization.py): for organization-related data (`Organization`, `Unit`, `Employee`)\n- [*notes*](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/models/notes.py): for linking notes to users, hosts or organizations\n\nNo module is provided with the framework as it is case-specific.\n\n### Customization\n\nSploitkit defines multiple types of entities for various purposes. The following entities can be subclassed:\n\n- [`Console`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/core/console.py): a new console for a new level of interaction (e.g. [`ProjectConsole`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/project.py)) ; the \"`root`\" level is owned by the [`FrameworkConsole`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/core/console.py), [`Console`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/core/console.py) shall be used to create new subconsoles, to be called by commands from the root console (see an example [here](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/module.py) for the module-level commands with [`ModuleConsole(Console)` and `Use(Command)`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/commands/module.py))\n- [`Command`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/core/command.py): a new command associated with any or defined consoles using the `level` attribute\n- [`Module`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/core/module.py): a new module associated to a console\n- [`Model`, `BaseModel`, `StoreExtension`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/core/model.py): respectively for new models, their association tables and store additional methods (e.g. [`User(Model)`, `Email(Model)`, `UserEmail(BaseModel)`, `UsersStorage(StoreExtension)`](https://github.com/dhondta/sploitkit/blob/master/sploitkit/base/models/users.py))", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dhondta/sploitkit", "keywords": "CLI,tool", "license": "AGPLv3", "maintainer": "", "maintainer_email": "", "name": "sploitkit", "package_url": "https://pypi.org/project/sploitkit/", "platform": "", "project_url": "https://pypi.org/project/sploitkit/", "project_urls": { "Homepage": "https://github.com/dhondta/sploitkit" }, "release_url": "https://pypi.org/project/sploitkit/0.2.4/", "requires_dist": null, "requires_python": ">=3.4,<4", "summary": "A toolkit for easilly building Metasploit-like consoles with project management relying on prompt_toolkit", "version": "0.2.4" }, "last_serial": 5831355, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2a92c7c879fe6020b0d758e50f41768e", "sha256": "f848cd97dede233222a24b9b52ba7e111132045aba4513642781e54d68cdb39a" }, "downloads": -1, "filename": "sploitkit-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2a92c7c879fe6020b0d758e50f41768e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,<4", "size": 33467, "upload_time": "2019-04-29T05:51:58", "url": "https://files.pythonhosted.org/packages/9a/83/71007c833df767fd87eee1ba67b80e4119c2b67add15263a0b2f25ed7a7e/sploitkit-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "408469ba4fe8b2e9009e3fe6aa170df5", "sha256": "a1106f8162f0520d1df74194674ee75b9c81ce1f8e4baca1fc0e25e764db3fcb" }, "downloads": -1, "filename": "sploitkit-0.1.1.tar.gz", "has_sig": false, "md5_digest": "408469ba4fe8b2e9009e3fe6aa170df5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,<4", "size": 33579, "upload_time": "2019-04-29T06:00:15", "url": "https://files.pythonhosted.org/packages/88/86/c5f74b5d66bc3b98580b5cbf1a1456c94cdd0d27d28515952d8e59742b18/sploitkit-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6fb41577d09abf2985f3ef5432cc372c", "sha256": "1e2514963f9365eac282c45255eae6fe6b50779fa50d84edd25f32a706d4f581" }, "downloads": -1, "filename": "sploitkit-0.1.2.tar.gz", "has_sig": false, "md5_digest": "6fb41577d09abf2985f3ef5432cc372c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,<4", "size": 33620, "upload_time": "2019-04-29T06:17:08", "url": "https://files.pythonhosted.org/packages/27/ad/e80ea2bc2c83c9824a771c0255c07825e502e044e579c11e088ead4cd2ef/sploitkit-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f6fd6c58bb99b8c7fcc662da343ba407", "sha256": "9930a87008268845c41537152a072c239e15cac3aa41eb88a595eb0561bc0a12" }, "downloads": -1, "filename": "sploitkit-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f6fd6c58bb99b8c7fcc662da343ba407", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4", "size": 62904, "upload_time": "2019-09-08T19:37:46", "url": "https://files.pythonhosted.org/packages/e9/d5/edd14186be652a11c7a39d8caaff7eda8b6b2a029f2aa8cec5821a4dfddf/sploitkit-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2e44fe190104025f2b5247329fa9dc5c", "sha256": "b59940deea2c323f1333ec229f07dfb9233c422990da77b902abec1fa6d6578a" }, "downloads": -1, "filename": "sploitkit-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2e44fe190104025f2b5247329fa9dc5c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4", "size": 94494, "upload_time": "2019-09-08T21:09:39", "url": "https://files.pythonhosted.org/packages/92/56/28998adeb1de536eaa834cbcb6a1f5253699200802ba01e628419bd3a5a2/sploitkit-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "eaf45760140d152be5da340ea128ede3", "sha256": "b89a5d4f7c095d49dc811c9f705ef51ecf8dcfe849166f01e2f72fd61c51942a" }, "downloads": -1, "filename": "sploitkit-0.2.2.tar.gz", "has_sig": false, "md5_digest": "eaf45760140d152be5da340ea128ede3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4", "size": 94507, "upload_time": "2019-09-08T21:14:31", "url": "https://files.pythonhosted.org/packages/03/f6/8625040226987fecafc641073bb3e911074e7b3e2bcbcf2a98eb435c9531/sploitkit-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "0c5ab029833723e2755a2fea094f2a72", "sha256": "c9fb4a0a878f5a7654d2889e8d8355ab33e2dcde9d198549f84f81b1785a3715" }, "downloads": -1, "filename": "sploitkit-0.2.3.tar.gz", "has_sig": false, "md5_digest": "0c5ab029833723e2755a2fea094f2a72", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4", "size": 64247, "upload_time": "2019-09-11T14:29:56", "url": "https://files.pythonhosted.org/packages/bf/51/d983624f28723f5babbda440f2045597929ed3d89870e3c379e418ab4936/sploitkit-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "4bbed8ac131a50f4841d625ff6343162", "sha256": "a5078523cc5711cdf74577b842958fc587a95518854c30bb399fb9855dad5291" }, "downloads": -1, "filename": "sploitkit-0.2.4-py3.6.egg", "has_sig": false, "md5_digest": "4bbed8ac131a50f4841d625ff6343162", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.4,<4", "size": 162510, "upload_time": "2019-09-15T10:10:56", "url": "https://files.pythonhosted.org/packages/70/99/eb9228042482b342be7cd6dc85a0bac155a96ecc5f5e20d6960db33e0a9d/sploitkit-0.2.4-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "2d5ca0f550fb1391fe1ca779a62f640c", "sha256": "d456942d3b757da068e49f517fb8e6d625ff48db9137174bcca235bf46a247a3" }, "downloads": -1, "filename": "sploitkit-0.2.4.tar.gz", "has_sig": false, "md5_digest": "2d5ca0f550fb1391fe1ca779a62f640c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4", "size": 64707, "upload_time": "2019-09-13T17:09:31", "url": "https://files.pythonhosted.org/packages/7c/35/b1ad31c99ee395f3855f17c920c6927052632dda37be4fe4c3ad01dfd2b4/sploitkit-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4bbed8ac131a50f4841d625ff6343162", "sha256": "a5078523cc5711cdf74577b842958fc587a95518854c30bb399fb9855dad5291" }, "downloads": -1, "filename": "sploitkit-0.2.4-py3.6.egg", "has_sig": false, "md5_digest": "4bbed8ac131a50f4841d625ff6343162", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.4,<4", "size": 162510, "upload_time": "2019-09-15T10:10:56", "url": "https://files.pythonhosted.org/packages/70/99/eb9228042482b342be7cd6dc85a0bac155a96ecc5f5e20d6960db33e0a9d/sploitkit-0.2.4-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "2d5ca0f550fb1391fe1ca779a62f640c", "sha256": "d456942d3b757da068e49f517fb8e6d625ff48db9137174bcca235bf46a247a3" }, "downloads": -1, "filename": "sploitkit-0.2.4.tar.gz", "has_sig": false, "md5_digest": "2d5ca0f550fb1391fe1ca779a62f640c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4", "size": 64707, "upload_time": "2019-09-13T17:09:31", "url": "https://files.pythonhosted.org/packages/7c/35/b1ad31c99ee395f3855f17c920c6927052632dda37be4fe4c3ad01dfd2b4/sploitkit-0.2.4.tar.gz" } ] }