Skip to main content

Audio tunnel for secure chat, file transfer or reverse shell on Linux.

Project description

plot

audiocat

Audiocat is a command-line utility that reads and writes encrypted data across peer-to-peer audio connections, using minimodem and gpg.

It is a powerful tool that can be combined with any audio infrastructure (like PSTN, cellular network, internet, radio) to provide a secure audio tunnel.

The audio interfaces behave like data-diodes, each allowing unidirectional data transmission only, thus preventing data-leaks and malware-injection.

This enables an "enhanced"-end-to-end encryption (E-E2EE) which notably increases security and privacy, especially when the end devices are completely offline (air-gapped-system).

See also https://www.codeproject.com/Articles/5295970/Audio-Chat-for-Quite-Good-Privacy-AC4QGP

Installation

  git clone https://github.com/ClarkFieseln/audiocat.git
  (not yet supported: pip install audiocat)
  
  # dependencies:
  sudo apt update
  sudo apt install minimodem
  sudo apt install gpg

How to use it?

###Chat/Messenger:

  ./audiocat -c

a new terminal is opened for the transmitter, enter and confirm password, then enter and confirm the password also for the receiver (all passwords are the same). On the other device a chat or even a reverse shell can be started.

###Reverse Shell:

  ./audiocat -s

then enter and confirm password.

###File Transfer:

  ./audiocat -f

a new terminal is opened for the transmitter, enter and confirm password, then enter and confirm the password also for the receiver (all passwords are the same). On the other device a file transfer shall be started.

###Probe: (to check connectivity and adjust volumes if required)

  ./audiocat -p

a new terminal is opened for the transmitter.

Configuration settings can be adapted in folder cfg.

For a detailed documentation check the Article in Code Project (the link will be provided soon).

##Features: on top of the audio modem provided by minimodem and encryption provided by GPG, audiocat offers a reliable transport layer and many other features:

  • modes: chat, reverse-shell, file transfer (future: sniffer)

  • full-duplex communication

  • retransmit messages automatically after communication errors

  • split big messages into smaller data chunks in order to increase the probability of reception, thus reducing retransmissions

  • [keepalive] messages

    this feature was extremely important in my set up in order to prevent "binary data / noise" after pauses

    when minimodem is not used for longer than some seconds the amount of initial noise/problems in the transmission increases

  • redundant transmission of "data-messages" to increase probability of successfull reception

    all redundant messages received "after" a successfull reception are just ignored for processing but acknowledged,

    the total transmission time (including all redundant messages) shall be below the roundtrip-delay,

    an excessive number of redundant transmissions will increase delays and may block messages sent by the other side)

  • composition of piped commands hidden to the user

  • tmp folder located in a configurable path beneath $HOME, independent of the current path.

  • probe, to check volume on receiver and adjust manually if needed,

    very high and very low volumes may produce signal distortions

  • "braodcast" transmissions also possible, e.g. when ACKs are dactivated

    use-case: walkie-talkie, Radio station, ...

  • several configuration options, preamble, trailer, delays, cipher algorithm, confidence, log to file, verbose, etc.

##Possible Abuses: please don't do the following if you are not allowed (it might be illegal!):

  • exfiltrate data over the air to a nearby or remote computer

  • remote control over the air from a nearby or remote computer

  • exfiltrate data from a computer evading classical auditing

    (be aware that if you do this on your employer's computer you might be infringing the law!)

  • "side-channel" for covert communication (e.g. to spread or inject malware),

    even worse when combined with steganography (e.g. low volumes, data hidden in noise)

PyPi Project

https://pypi.org/project/audiocat/

Article in Code Project

(the link will be provided soon)

Article in GitHub

https://github.com/ClarkFieseln/audiocat

License

(c) 2024 Clark Fieseln

This repository is licensed under the MIT license. See LICENSE for details.

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

audiocat_clark-0.0.1.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

audiocat_clark-0.0.1-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file audiocat_clark-0.0.1.tar.gz.

File metadata

  • Download URL: audiocat_clark-0.0.1.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for audiocat_clark-0.0.1.tar.gz
Algorithm Hash digest
SHA256 cc3eb09fc322eb6bc132800594938271e3b671c3f77a4bf31842896f04151fd9
MD5 cc9e216e7174dcfd453f65220013e01b
BLAKE2b-256 63e744cf17f1e9d0f2cd7361c8b9c39ffbd110629e7bae800385b1293d62b70e

See more details on using hashes here.

File details

Details for the file audiocat_clark-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for audiocat_clark-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cd3c77926c7640530959cddba0f9b23b19a8df01fc96aeca8e464f7901d21915
MD5 fb6c535647b1a333498ed0fd67c89c4a
BLAKE2b-256 890a03c5109aa656a8ee0c249d653f1bf240f9f31ae653632e6a26288935d0fb

See more details on using hashes here.

Supported by

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