audiocat-clark


Nameaudiocat-clark JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/ClarkFieseln/audiocat
SummaryAudio tunnel for secure chat, file transfer or reverse shell on Linux.
upload_time2024-08-09 11:50:43
maintainerNone
docs_urlNone
authorClark Fieseln
requires_pythonNone
licenseMIT
keywords chat messenger reverse shell file transfer modem audio cryptography encryption security cybersecurity linux
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![plot](./audiocat/audiocat.png)

# audiocat
Audiocat is a command-line utility that reads and writes encrypted data across peer-to-peer audio connections, using [minimodem](https://github.com/kamalmostafa/minimodem "minimodem") and [gpg](https://gnupg.org/ "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
```sh
  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:

```sh
  ./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:

```sh
  ./audiocat -s
```
then enter and confirm password.

###File Transfer:

```sh
  ./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)

```sh
  ./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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ClarkFieseln/audiocat",
    "name": "audiocat-clark",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "chat, messenger, reverse shell, file transfer, modem, audio, cryptography, encryption, security, cybersecurity, linux",
    "author": "Clark Fieseln",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/63/e7/44cf17f1e9d0f2cd7361c8b9c39ffbd110629e7bae800385b1293d62b70e/audiocat_clark-0.0.1.tar.gz",
    "platform": null,
    "description": "![plot](./audiocat/audiocat.png)\n\n# audiocat\nAudiocat is a command-line utility that reads and writes encrypted data across peer-to-peer audio connections, using [minimodem](https://github.com/kamalmostafa/minimodem \"minimodem\") and [gpg](https://gnupg.org/ \"gpg\").\n\nIt is a powerful tool that can be combined with any audio infrastructure (like PSTN, cellular network, internet, radio) to provide a secure audio tunnel.\n\nThe audio interfaces behave like data-diodes, each allowing unidirectional data transmission only, thus preventing data-leaks and malware-injection.\n\nThis 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).\n\nSee also <https://www.codeproject.com/Articles/5295970/Audio-Chat-for-Quite-Good-Privacy-AC4QGP>\n\n\n## Installation\n```sh\n  git clone https://github.com/ClarkFieseln/audiocat.git\n  (not yet supported: pip install audiocat)\n  \n  # dependencies:\n  sudo apt update\n  sudo apt install minimodem\n  sudo apt install gpg\n```\n\n## How to use it?\n###Chat/Messenger:\n\n```sh\n  ./audiocat -c\n```\na new terminal is opened for the transmitter,\nenter and confirm password,\nthen enter and confirm the password also for the receiver \n(all passwords are the same).\nOn the other device a chat or even a reverse shell can be started.\n\n###Reverse Shell:\n\n```sh\n  ./audiocat -s\n```\nthen enter and confirm password.\n\n###File Transfer:\n\n```sh\n  ./audiocat -f\n```\na new terminal is opened for the transmitter,\nenter and confirm password,\nthen enter and confirm the password also for the receiver \n(all passwords are the same).\nOn the other device a file transfer shall be started.\n\n###Probe:\n(to check connectivity and adjust volumes if required)\n\n```sh\n  ./audiocat -p\n```\na new terminal is opened for the transmitter.\n\nConfiguration settings can be adapted in folder cfg.\n\nFor a detailed documentation check the Article in Code Project (the link will be provided soon).\n\n##Features:\non top of the audio modem provided by minimodem and encryption provided by GPG, audiocat offers a reliable transport layer and many other features:\n\n- modes: chat, reverse-shell, file transfer (future: sniffer)\n\n- full-duplex communication\n\n- retransmit messages automatically after communication errors\n\n- split big messages into smaller data chunks in order to increase the probability of reception, thus reducing retransmissions\n\n- [keepalive] messages\n\n  this feature was extremely important in my set up in order to prevent \"binary data / noise\" after pauses\n  \n  when minimodem is not used for longer than some seconds the amount of initial noise/problems in the transmission increases\n  \n- redundant transmission of \"data-messages\" to increase probability of successfull reception\n\n   all redundant messages received \"after\" a successfull reception are just ignored for processing but acknowledged,\n   \n   the total transmission time (including all redundant messages) shall be below the roundtrip-delay,\n   \n   an excessive number of redundant transmissions will increase delays and may block messages sent by the other side)\n   \n- composition of piped commands hidden to the user\n\n- tmp folder located in a configurable path beneath $HOME, independent of the current path.\n\n- probe, to check volume on receiver and adjust manually if needed,\n\n  very high and very low volumes may produce signal distortions\n  \n- \"braodcast\" transmissions also possible, e.g. when ACKs are dactivated\n\n   use-case: walkie-talkie, Radio station, ...\n   \n- several configuration options, preamble, trailer, delays, cipher algorithm, confidence, log to file, verbose, etc.\n\n##Possible Abuses:\nplease don't do the following if you are not allowed (it might be illegal!):\n\n- exfiltrate data over the air to a nearby or remote computer\n\n- remote control over the air from a nearby or remote computer\n\n- exfiltrate data from a computer evading classical auditing\n\n  (be aware that if you do this on your employer's computer you might be infringing the law!)\n  \n- \"side-channel\" for covert communication (e.g. to spread or inject malware),\n\n  even worse when combined with steganography (e.g. low volumes, data hidden in noise)\n  \n## PyPi Project\n\nhttps://pypi.org/project/audiocat/\n\n## Article in Code Project\n\n(the link will be provided soon)\n\n## Article in GitHub\n\nhttps://github.com/ClarkFieseln/audiocat\n\n## License\n\n(c) 2024 Clark Fieseln\n\nThis repository is licensed under the MIT license. See LICENSE for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Audio tunnel for secure chat, file transfer or reverse shell on Linux.",
    "version": "0.0.1",
    "project_urls": {
        "Homepage": "https://github.com/ClarkFieseln/audiocat",
        "Source": "https://github.com/ClarkFieseln/audiocat"
    },
    "split_keywords": [
        "chat",
        " messenger",
        " reverse shell",
        " file transfer",
        " modem",
        " audio",
        " cryptography",
        " encryption",
        " security",
        " cybersecurity",
        " linux"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "890a03c5109aa656a8ee0c249d653f1bf240f9f31ae653632e6a26288935d0fb",
                "md5": "fb6c535647b1a333498ed0fd67c89c4a",
                "sha256": "cd3c77926c7640530959cddba0f9b23b19a8df01fc96aeca8e464f7901d21915"
            },
            "downloads": -1,
            "filename": "audiocat_clark-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fb6c535647b1a333498ed0fd67c89c4a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 14575,
            "upload_time": "2024-08-09T11:50:42",
            "upload_time_iso_8601": "2024-08-09T11:50:42.266510Z",
            "url": "https://files.pythonhosted.org/packages/89/0a/03c5109aa656a8ee0c249d653f1bf240f9f31ae653632e6a26288935d0fb/audiocat_clark-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63e744cf17f1e9d0f2cd7361c8b9c39ffbd110629e7bae800385b1293d62b70e",
                "md5": "cc9e216e7174dcfd453f65220013e01b",
                "sha256": "cc3eb09fc322eb6bc132800594938271e3b671c3f77a4bf31842896f04151fd9"
            },
            "downloads": -1,
            "filename": "audiocat_clark-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "cc9e216e7174dcfd453f65220013e01b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 16303,
            "upload_time": "2024-08-09T11:50:43",
            "upload_time_iso_8601": "2024-08-09T11:50:43.872089Z",
            "url": "https://files.pythonhosted.org/packages/63/e7/44cf17f1e9d0f2cd7361c8b9c39ffbd110629e7bae800385b1293d62b70e/audiocat_clark-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-09 11:50:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ClarkFieseln",
    "github_project": "audiocat",
    "github_not_found": true,
    "lcname": "audiocat-clark"
}
        
Elapsed time: 8.61648s