IPv6CC is a Python3-based tool that implements multiple covert channels to secretly transmit data by manipulating specific IPv6 header fields.
IPv6CC implements several covert channels targeting the IPv6 protocol.
This tool is designed for security researchers and network analysts interested in studying covert communication techniques over IPv6 networks. It enables the creation and detection of hidden data channels within IPv6 traffic, useful for testing network security, protocol analysis, and covert channel detection mechanisms.
IPv6CC requires root or privileged access to intercept and inject packets using NetfilterQueue and ip6tables rules. Users should ensure their environment supports IPv6 and Docker with IPv6 networking enabled. The tool is intended for controlled environments and research purposes, as covert channels can be used maliciously. Proper network isolation and monitoring are recommended when deploying this tool.
Clone the repository: git clone https://github.com/Ocram95/IPv6CC_SoftwareX.git
Copy the src folder into the docker directory: cp src/ -R docker/
Change directory to docker: cd docker/
Build the docker image: docker build -t [imagename] .
Create an IPv6-enabled docker network: docker network create --driver bridge --ipv6 --subnet=[subnet]/subnetmask [networkname]
Run sender container: docker run -d -P --privileged --name sender [imagename]
Run receiver container: docker run -d -P --privileged --name receiver [imagename]
Connect sender to the IPv6 docker network: docker network connect --ip6 '[IPv6 address]' [networkname] sender
Connect receiver to the IPv6 docker network: docker network connect --ip6 '[IPv6 address]' [networkname] receiver
Check running containers and exposed SSH ports: docker ps
git clone https://github.com/Ocram95/IPv6CC_SoftwareX.git
Clones the IPv6CC_SoftwareX repository to the local machine.
docker build -t [imagename] .
Builds the Docker image containing the IPv6CC tool from the docker directory.
docker network create --driver bridge --ipv6 --subnet=[subnet]/subnetmask [networkname]
Creates a Docker network with IPv6 support to connect sender and receiver containers.
docker run -d -P --privileged --name sender [imagename]
Instantiates the covert sender container from the built image.
docker run -d -P --privileged --name receiver [imagename]
Instantiates the covert receiver container from the built image.
docker network connect --ip6 '[IPv6 address]' [networkname] sender
Connects the sender container to the IPv6 Docker network with a specified IPv6 address.
docker network connect --ip6 '[IPv6 address]' [networkname] receiver
Connects the receiver container to the IPv6 Docker network with a specified IPv6 address.
docker ps
Lists running Docker containers and their exposed ports, useful for accessing the sender and receiver.