# snek-sploit
Python typed RPC client for Metasploit Framework.
![](logo.png)
## Installation
```shell
pip install snek-sploit
```
## Usage
```python
from snek_sploit import MetasploitClient
if __name__ == '__main__':
client = MetasploitClient("msf", "root")
print(client.core.rpc.version())
```
Examples can be found in the *[examples](https://github.com/SadParad1se/snek-sploit/tree/master/examples)* directory.
## Starting MSF RPC server
In Metasploit console:
```shell
load msgrpc ServerHost=127.0.0.1 ServerPort=55553 User=msf Pass='root' SSL=true
```
In shell:
```shell
msfrpcd -U msf -P root
```
With [Docker](https://docs.docker.com/engine/install/):
```shell
docker run --tty --network host --detach sadparad1se/metasploit-framework:rpc
```
With [Docker Compose](https://docs.docker.com/compose/install/):
```shell
git clone https://github.com/SadParad1se/snek-sploit.git
cd snek-sploit
docker compose up -d
```
You can find more information in the [Metasploit Framework documentation](https://docs.rapid7.com/metasploit/rpc-api/).
### Using the MSF RPC certificate
MSF RPC loads the SSL certificate by default from `/root/.msf4/msf-ws-cert.pem` (use the `-c` flag to choose a different location). If not, generate it as mentioned [here](https://github.com/rapid7/metasploit-framework/issues/15569#issuecomment-901158008).
To use it in the client, save it locally and pass the path:
```python
from snek_sploit import MetasploitClient
MetasploitClient("msf", "root", certificate="/path/to/cert.pem")
```
Raw data
{
"_id": null,
"home_page": "https://github.com/SadParad1se/snek-sploit",
"name": "snek-sploit",
"maintainer": "Ji\u0159\u00ed R\u00e1ja",
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": "jiri.raja@gmail.com",
"keywords": "metasploit, msf, rpc, client",
"author": "Ji\u0159\u00ed R\u00e1ja",
"author_email": "jiri.raja@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b4/65/5f6e59a7eb02e3f14e7781d62676c11ee036be9938c6968e82d6f955eb4b/snek_sploit-0.6.0.tar.gz",
"platform": null,
"description": "# snek-sploit\nPython typed RPC client for Metasploit Framework.\n\n![](logo.png)\n\n## Installation\n\n```shell\npip install snek-sploit\n```\n\n## Usage\n\n```python\nfrom snek_sploit import MetasploitClient\n\n\nif __name__ == '__main__':\n client = MetasploitClient(\"msf\", \"root\")\n print(client.core.rpc.version())\n\n```\n\nExamples can be found in the *[examples](https://github.com/SadParad1se/snek-sploit/tree/master/examples)* directory.\n\n## Starting MSF RPC server\nIn Metasploit console:\n```shell\nload msgrpc ServerHost=127.0.0.1 ServerPort=55553 User=msf Pass='root' SSL=true\n```\n\nIn shell:\n```shell\nmsfrpcd -U msf -P root\n```\n\nWith [Docker](https://docs.docker.com/engine/install/):\n```shell\ndocker run --tty --network host --detach sadparad1se/metasploit-framework:rpc\n```\n\nWith [Docker Compose](https://docs.docker.com/compose/install/):\n```shell\ngit clone https://github.com/SadParad1se/snek-sploit.git\ncd snek-sploit\ndocker compose up -d\n```\n\nYou can find more information in the [Metasploit Framework documentation](https://docs.rapid7.com/metasploit/rpc-api/).\n\n### Using the MSF RPC certificate\nMSF RPC loads the SSL certificate by default from `/root/.msf4/msf-ws-cert.pem` (use the `-c` flag to choose a different location). If not, generate it as mentioned [here](https://github.com/rapid7/metasploit-framework/issues/15569#issuecomment-901158008).\n\nTo use it in the client, save it locally and pass the path:\n```python\nfrom snek_sploit import MetasploitClient\n\n\nMetasploitClient(\"msf\", \"root\", certificate=\"/path/to/cert.pem\")\n\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python RPC client for Metasploit Framework",
"version": "0.6.0",
"project_urls": {
"Homepage": "https://github.com/SadParad1se/snek-sploit",
"Repository": "https://github.com/SadParad1se/snek-sploit"
},
"split_keywords": [
"metasploit",
" msf",
" rpc",
" client"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b9c1db4dda7e91d0c65945d2d6b50db0f3aa3ab36682cac1cc564b9ea3fd024f",
"md5": "88c3f0f90c62343919bd10182207c2ff",
"sha256": "06e7f9b4fddf305635e76601ac4b37b2d0572598741d40e48e0e23527be55506"
},
"downloads": -1,
"filename": "snek_sploit-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "88c3f0f90c62343919bd10182207c2ff",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 29400,
"upload_time": "2024-05-14T08:38:50",
"upload_time_iso_8601": "2024-05-14T08:38:50.483698Z",
"url": "https://files.pythonhosted.org/packages/b9/c1/db4dda7e91d0c65945d2d6b50db0f3aa3ab36682cac1cc564b9ea3fd024f/snek_sploit-0.6.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b4655f6e59a7eb02e3f14e7781d62676c11ee036be9938c6968e82d6f955eb4b",
"md5": "65f9d8cec22fb172f2f245dc164f93fc",
"sha256": "40bb092ebf5804d9234ea404fe0dc8ead3e7585c580d61fa522b21081912a5fb"
},
"downloads": -1,
"filename": "snek_sploit-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "65f9d8cec22fb172f2f245dc164f93fc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 22464,
"upload_time": "2024-05-14T08:38:51",
"upload_time_iso_8601": "2024-05-14T08:38:51.538267Z",
"url": "https://files.pythonhosted.org/packages/b4/65/5f6e59a7eb02e3f14e7781d62676c11ee036be9938c6968e82d6f955eb4b/snek_sploit-0.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-14 08:38:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "SadParad1se",
"github_project": "snek-sploit",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "snek-sploit"
}