Audio tunnel for secure chat, file transfer or reverse shell on Linux.
Project description
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
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
File details
Details for the file sun22-0.0.1.tar.gz
.
File metadata
- Download URL: sun22-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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffee1bb80d4f79990740830eee99a7c077332b4f9b3b62fa5230c52ade0fa769 |
|
MD5 | a8a2009446087f6e37d7033da837fbcd |
|
BLAKE2b-256 | 8aae16157bc6a9800f74f0b996950e7a6a399fb5c6eeaedb6761d14a21c65450 |
File details
Details for the file sun22-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: sun22-0.0.1-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef4a17c652a5076e4d553284dc5b0f9a2ef09702150c73a4854546a67c963fda |
|
MD5 | 2344ccec05570483e5d6ab318f2c4cd3 |
|
BLAKE2b-256 | 8c966bf0ba6ff9c201fa216811a6995d27b3b6f68bd71cfb762e64a5c6279eb7 |