Dockernymous : A Script Used To Create A Whonix Like Gateway/Workstation Environment With Docker Containers

Dockernymous is a script used to create a whonix like gateway/workstation environment with docker containers. It is a start script for Docker that runs and configures two individual Linux containers in order act as a anonymisation workstation-gateway set up.

It’s aimed towards experienced Linux/Docker users, security professionals and penetration testers!

The gateway container acts as a Anonymizing Middlebox (seehttps://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy) and routes ALL traffic from the workstation container through the Tor Network.

The idea was to create a whonix-like setup (see https://www.whonix.org) that runs on systems which aren’t able to efficiently run two hardware virtualized machines or don’t have virtualisation capacities at all.

Also Read – Explo : Human & Machine Readable Web Vulnerability Testing Format

Requirements

Host (Linux):

  • docker
  • vncviewer
  • xterm
  • curl

Gateway Image:

  • Linux (e.g. Alpine, Debian )
  • tor
  • procps
  • ncat
  • iptables

Workstation Image:

  • Linux (e.g. Kali)
  • ‎xfce4 or another desktop environment (for vnc access)
  • tightvncserver

Instructions

  • Host

To clone the dockernymous repository type:

git clone https://github.com/bcapptain/dockernymous.git

Dockernymous needs an up and running Docker environment and a non-default docker network. Let’s create one:

docker network create –driver=bridge –subnet=192.168.0.0/24 docker_internal

  • Gateway (Alpine):

Get a lightweight gateway Image! For example Alpine:

docker pull alpine

Run the image, update the package list, install iptables & tor:

docker run -it alpine /bin/sh
apk add –update tor iptables iproute2
exit

Feel free to further customize the gateway for your needs before you extit.

To make this permanent you have to create a new image from the gateway container we just set up. Each time you run dockernymous a new container is created from that image and disposed on exit:

docker commit [Container ID] my_gateway

Get the container ID by running:

docker ps -a

  • Workstation (Kali Linux):

Get an image for the Workstation. For example, Kali Linux for penetration testing:

docker pull kalilinux/kali-linux-docker

Update and install the tools you would like to use (see https://www.kali.org/news/kali-linux-metapackages/).

docker run -it kalilinux/kali-linux-docker /bin/bash
apt-get update
apt-get dist-upgrade
apt install kali-linux-top10

Make sure the tightvncserver and curl packages are installed which is the case with most Kali Metapackages.

apt-get install tightvncserver
apt-get install curl

Install xfce4 for a minimal graphical Desktop:

$ apt-get install xfce4
$ apt-get clean
$ exit

As with the Gateway, to make this permanent you have to create an image from that customized container. Each time you run dockernymous a new container is created and disposed on exit.

$ docker commit [Container ID] my_workstation

Get the container ID by running:

$ docker ps -a

  • Run dockernymous In case you changed the names for the images to something different (defaults are: “docker_internal” (network), “my_gateway” (gateway), “my_workstation” (you guess it)) open dockernymous.sh with your favorite editor and update the actual names in the configuration section.

Everything should be set up by now, let’s give it a try! Run Dockernymus (don’t forget to ‘cd’ into the cloned folder):

bash dockernymous.sh

or mark it executable once:

chmod +x dockernymous.sh

and always run it with:

./dockernymous.sh

I’m happy for feedback. Please remember that dockernymous is still under development. The script is pretty messy, yet so consider it as a alpha phased project (no versioning yet).

R K

Recent Posts

LiCo-Extrator : Revolutionizing Icon Extraction Across Platforms

Got it! Below is the updated README.md file with instructions for downloading the project on…

8 hours ago

Termo-Kali : A Guide To Installing Kali Linux On Android via Termux

Termo-Kali bridges the gap between powerful Linux capabilities and the convenience of mobile devices by…

8 hours ago

Certified Ethical Hacker Quiz – Sharpen Your Skills With The CEH v12 Interactive Application

Welcome to the Ethical Hacking Quiz Application, designed to help learners test their knowledge of…

12 hours ago

WPA2 Handshake Automation Tool – A Quick Guide

The WPA2 Handshake Automation Tool is a Python3 script designed to simplify the process of setting up…

12 hours ago

Star-Tup : A Beginner’s Guide To Bash Scripting For Productivity

A custom bash script designed to streamline your startup process and enhance your scripting skills.…

13 hours ago

Cybersecurity Toolkit – Essential Python Tools For Penetration Testing

Welcome to the Cybersecurity Toolkit, a collection of essential Python tools designed for penetration testing…

2 days ago