Mirror of Covert Channel Application on the RWTH Aachen GitLab.

Jonas Pflanzer 5d0860152a ASCII-Art Readme 4 tahun lalu
.cmake_modules 5e1a4565bd rework CMakeLists into one per directory with one top-level file to build all. get boilerplate for cmdman_test up, also test for version command. 4 tahun lalu
cli 64bf674a00 Set Daemon file path properly for crypto tests 4 tahun lalu
daemon 22fd34e7c6 Link to bcrypt instead of liblibbcrypt.a.a 4 tahun lalu
gui 1fc6794af4 Move binaries in bin folder 4 tahun lalu
libs 22fd34e7c6 Link to bcrypt instead of liblibbcrypt.a.a 4 tahun lalu
.clang-format 9b51e01701 ColumnLimit now at 160 5 tahun lalu
.gitignore 7a76a90805 update gitignore to ignore build folders 5 tahun lalu
.gitlab-ci.yml f100fe23bc US49: Hashed password on server 4 tahun lalu
CMakeLists.txt 64bf674a00 Set Daemon file path properly for crypto tests 4 tahun lalu
Client-Server Protocol.md a3351c8ca9 US45.2: Extendedlist (CLI) 4 tahun lalu
Dockerfile f100fe23bc US49: Hashed password on server 4 tahun lalu
Dockerfile.testing f100fe23bc US49: Hashed password on server 4 tahun lalu
GUI-CLI Protocol.md 56ebe6309f Fix isDecryptable crashing on empty data argument, add unknown as result for bad signature or filesize, minor formatting fixes for extendedlist output in user and batchmodes 4 tahun lalu
LICENSE b2211fe6e3 GPL License 5 tahun lalu
README.md 5d0860152a ASCII-Art Readme 4 tahun lalu
autoformat.sh 99263a8448 Adjust filters for passiveMode again 4 tahun lalu

README.md

CCats - Covert Channels are Tricky Stuff

CCats is a covert channel tool which works as man in the middle. Our motivation is to create a tool which allows you to send files over a covert channel between two controlled servers.

This repository consists of three programs: a server (daemon), a CLI-client and a GUI-client.

The server manages the uploaded files and transmits the files over the covert channel. The clients let you connect and login to the server and upload files and start file transmission over the covert channel.

The basic setup:

   A           -----------------                        ------------------           B
   o  traffic  |               |                        |                |  traffic  o
  /|\ ---------| active Server | <== covert channel ==> | passive Server |--------- /|\
   \\          |               |                        |                |          //
               -----------------                        ------------------
                      ||
               client connection
                      ||
               E  ----------
               o  |        |
              /|\ | Client |
               \\ |        |
                  ----------

A views the website of B on Port p and produces traffic between them. E knows that and sets up two servers. The active server is the server E which will be used to send a file to the passive server. E sets the target IP on the active server side to the IP of A and teh target IP on the passive side to the IP of B. The target Port in on both sides set to p. Now E connects to the active server with its client and queues a file for sending over the covert channel. The file transmission will start once A surfs on B's website again.