Messenger uses a client-server architecture to establish a SOCKS5 tunnel. Once the client connects, the server will create a local SOCKS5 tunnel that can be used to interact with the local network the client is connected to.
Project description
Messenger
Messenger is a tunneling toolkit that leverages a client-server infrastructure to establish SOCKS5 proxies, local port forwards, and remote port forwards. While the server is primarily written in Python, there are several clients written in varying languages. Their details and major feature support can be found below.
Quick Start
To set up Messenger and establish a client connection, execute the following commands.
Installation
Messenger has a setup.py file that can be run directly or installed with pipx.
operator~# git clone https://github.com/skylerknecht/messenger.git --recurse-submodules
operator~# cd messenger
operator~/messenger# pipx install .
Launch
Launching Messenger will output several details that will be leveraged in later commands, including an AES encryption key and server URL.
operator~# messenger-cli
(messenger)~#
__ __
| \/ | ___ ___ ___ ___ _ __ __ _ ___ _ __
| |\/| |/ _ \/ __/ __|/ _ \ '_ \ / _` |/ _ \ '__|
| | | | __/\__ \__ \ __/ | | | (_| | __/ |
|_| |_|\___||___/___/\___|_| |_|\__, |\___|_|
by Skyler Knecht and Kevin Clark |___/ v0.4.1
[*] The AES encryption key is XhoInhAKWX
[*] Waiting for messengers on http+ws://0.0.0.0:8080/
(messenger)~#
Build
Messenger comes with a builder utility to create clients. Leverage the help menu or the client support matrix to see builder-supported clients.
operator~# messenger-builder python --encryption-key ZDXgoqyVXqDpJyBMJt
Wrote Python client to 'client.py'
Connect
Once a client is built, execute it to connect to the server. Options can typically be hardcoded or overridden with command line arguments.
operator~# ./client.py
[+] Connected to http://localhost:8080/socketio/?EIO=4&transport=websocket
Detailed Guides
Operators
- Setup a SOCKS Proxy or Local Port Forward
- Setup a Remote Port Forward
- Chain Messenger Clients
- Perform NTLMRelay2Self with Messenger
Developers
Client Support Matrix
| Clients | Messenger Builder | Protocols | Local/Remote Port Forwarding | SOCKS5 TCP | SOCKS5 UDP |
|---|---|---|---|---|---|
| Python | Supported | HTTP & WebSockets | Supported | Supported | Not Supported |
| C# | Not Supported | HTTP & WebSockets | Supported | Supported | Not Supported |
| Node JS | Not Supported | WebSockets | Supported | Supported | Not Supported |
Credits
- Skyler Knecht (@SkylerKnecht)
- Kevin Clark (@GuhnooPlusLinux)
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file messenger_proxy-0.4.1.tar.gz.
File metadata
- Download URL: messenger_proxy-0.4.1.tar.gz
- Upload date:
- Size: 92.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
102bfab209dbfadc44808f5eaf22e614b05184c2b6f33c2ad2413391c9c1c683
|
|
| MD5 |
b98699a9a78afe3d484d261c368150fb
|
|
| BLAKE2b-256 |
0f196ff93abddca44f8eb748e75a1d08175608db2bc29e5bbbe71e956e14509e
|
Provenance
The following attestation bundles were made for messenger_proxy-0.4.1.tar.gz:
Publisher:
release-publish.yml on skylerknecht/messenger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
messenger_proxy-0.4.1.tar.gz -
Subject digest:
102bfab209dbfadc44808f5eaf22e614b05184c2b6f33c2ad2413391c9c1c683 - Sigstore transparency entry: 2256542720
- Sigstore integration time:
-
Permalink:
skylerknecht/messenger@488380e1191f7202f53667342704c569fb80bb5b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/skylerknecht
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-publish.yml@488380e1191f7202f53667342704c569fb80bb5b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file messenger_proxy-0.4.1-py3-none-any.whl.
File metadata
- Download URL: messenger_proxy-0.4.1-py3-none-any.whl
- Upload date:
- Size: 109.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39ca0bf8f58e01c278fd800a25da4f3bc1f261940289616537671437f71de83a
|
|
| MD5 |
0825c272ce5aec3a7599d78052dd5f32
|
|
| BLAKE2b-256 |
f3b19e265c236a6da03844191266f40c74709476db9bbe12e8786bed2e21bcc3
|
Provenance
The following attestation bundles were made for messenger_proxy-0.4.1-py3-none-any.whl:
Publisher:
release-publish.yml on skylerknecht/messenger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
messenger_proxy-0.4.1-py3-none-any.whl -
Subject digest:
39ca0bf8f58e01c278fd800a25da4f3bc1f261940289616537671437f71de83a - Sigstore transparency entry: 2256542727
- Sigstore integration time:
-
Permalink:
skylerknecht/messenger@488380e1191f7202f53667342704c569fb80bb5b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/skylerknecht
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-publish.yml@488380e1191f7202f53667342704c569fb80bb5b -
Trigger Event:
workflow_dispatch
-
Statement type: