
Un script utilizado para crear un entorno de gateway/workstation similar a Whonix con contenedores Docker.
DESPLÁZATE HACIA ABAJO PARA REQUISITOS E INSTRUCCIONES
NO FUNCIONARÁ SI NO LOS SIGUES
Advertencia:
Dockernymous se encuentra en una fase muy temprana de desarrollo. Úsalo solo con fines educativos.
¡NO lo uses si dependes de un anonimato fuerte!
[13.10.2018]
Cambié completamente la lógica general de funcionamiento del script, por lo que hay mejoras en usabilidad y estabilidad. Se mejoró el aspecto del menú.
Se agregaron estas NUEVAS funciones:
Opción para mantener los contenedores en ejecución y restaurarlos más tarde: Ahora tienes la opción de mantener los contenedores en ejecución al salir. Esto, por supuesto, acelerará el tiempo de inicio de todo el script. Por razones de privacidad, mantengo los contenedores "autodestructibles", así que si los detienes manualmente o reinicias tu sistema, desaparecerán de todas formas.
(Re)iniciar TOR desde el menú
Detener TOR desde el menú
¡Disfrútalo! Bcapptain
[17.05.2018]
¡Cambié de Debian a Alpine como imagen/puerta de enlace!

¡Cambié la imagen de Docker que se configura como puerta de enlace por dockernymous, de Debian a Alpine!
El tamaño de la imagen resultante después de la configuración y confirmación es ahora 23MB (Alpine) en lugar de 200MB (Debian).
Las instrucciones se actualizaron a continuación.
Dockernymous es un script de inicio para Docker que ejecuta y configura dos contenedores Linux individuales para actuar como una configuración de estación de trabajo-puerta de enlace de anonimización.
Está dirigido a usuarios experimentados de Linux/Docker, profesionales de seguridad y testers de penetración.
El contenedor de puerta de enlace actúa como un Middlebox de Anonimización (consulta https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy) y enruta TODO el tráfico del contenedor de estación de trabajo a través de la Red Tor.
La idea fue crear una configuración similar a whonix (consulta https://www.whonix.org) que se ejecute en sistemas que no pueden ejecutar eficientemente dos máquinas virtualizadas por hardware o que no tienen capacidades de virtualización en absoluto.

Host (Linux):
Imagen de puerta de enlace:
Imagen de estación de trabajo:
1. Host
Para clonar el repositorio de dockernymous, escribe:
git clone https://github.com/bcapptain/dockernymous.git
Dockernymous necesita un entorno Docker en funcionamiento y una red Docker no predeterminada. Vamos a crear una:
docker network create --driver=bridge --subnet=192.168.0.0/24 docker_internal
2. Puerta de enlace (Alpine):
¡Obtén una imagen de puerta de enlace ligera! Por ejemplo, Alpine:
docker pull alpine
Ejecuta la imagen, actualiza la lista de paquetes, instala iptables y tor:
docker run -it alpine /bin/sh
apk add --update tor iptables iproute2
exit
Siéntete libre de personalizar aún más la puerta de enlace según tus necesidades antes de salir.
Para hacer esto permanente, debes crear una nueva imagen a partir del contenedor de puerta de enlace que acabamos de configurar. Cada vez que ejecutes dockernymous, se crea un nuevo contenedor a partir de esa imagen y se elimina al salir:
docker commit [ID del contenedor] my_gateway
Obtén el ID del contenedor ejecutando:
docker ps -a
3. Estación de trabajo (Kali Linux):
Obtén una imagen para la estación de trabajo. Por ejemplo, Kali Linux para pruebas de penetración:
docker pull kalilinux/kali-linux-docker
Actualiza e instala las herramientas que desees usar (consulta 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
Asegúrate de que los paquetes tightvncserver y curl estén instalados, lo cual ocurre con la mayoría de los metapaquetes de Kali.
apt-get install tightvncserver
apt-get install curl
Instala xfce4 para un escritorio gráfico mínimo:
$ apt-get install xfce4
$ apt-get clean
$ exit
Al igual que con la puerta de enlace, para hacer esto permanente debes crear una imagen a partir de ese contenedor personalizado. Cada vez que ejecutes dockernymous, se crea un nuevo contenedor y se elimina al salir.
$ docker commit [ID del contenedor] my_workstation
Obtén el ID del contenedor ejecutando:
$ docker ps -a
4. Ejecutar dockernymous En caso de que hayas cambiado los nombres de las imágenes a algo diferente (los valores predeterminados son: "docker_internal" (red), "my_gateway" (puerta de enlace), "my_workstation" (ya te imaginas cuál)) abre dockernymous.sh con tu editor favorito y actualiza los nombres reales en la sección de configuración.
Todo debería estar configurado a estas alturas, ¡probémoslo! Ejecuta Dockernymus (no olvides hacer 'cd' a la carpeta clonada):
bash dockernymous.sh
o márcalo como ejecutable una vez:
chmod +x dockernymous.sh
y ejecútalo siempre con:
./dockernymous.sh
Agradezco los comentarios. Recuerda que dockernymous aún está en desarrollo. El script está bastante desordenado, así que considéralo un proyecto en fase alfa (aún sin versionado).