
Um script usado para criar um ambiente de gateway/workstation semelhante ao Whonix com contêineres Docker.
DESÇA PARA OS REQUISITOS E INSTRUÇÕES
NÃO FUNCIONARÁ SE VOCÊ NÃO SEGUI-LOS
Aviso:
Dockernymous está num estado muito inicial de desenvolvimento. Use-o apenas para fins educacionais.
NÃO o use se depender de anonimato forte!
[13.10.2018]
Mudei completamente a lógica geral de funcionamento do script, resultando em melhorias de usabilidade e estabilidade. A aparência do menu foi melhorada.
Estas novas funções foram adicionadas:
Opção de manter os contêineres em execução e restaurá-los depois: Agora você tem a opção de manter os contêineres rodando ao sair. Isso, claro, acelerará o tempo de inicialização de todo o script. Por questões de privacidade, mantenho os contêineres "autodestrutíveis"; portanto, se você pará-los manualmente ou reiniciar o sistema, eles serão removidos de qualquer forma.
(Re)iniciar o TOR pelo menu
Parar o TOR pelo menu
Aproveitem! Bcapptain
[17.05.2018]
Mudei do Debian para o Alpine como imagem/contêiner de gateway!

Mudei a imagem Docker configurada como gateway pelo dockernymous, do Debian para o Alpine!
O tamanho da imagem resultante após configuração e commit agora é de 23MB (Alpine) em vez de 200MB (Debian)!
As instruções foram atualizadas abaixo.
Dockernymous é um script de inicialização para Docker que executa e configura dois contêineres Linux individuais para atuarem como uma configuração estação de trabalho-gateway de anonimização.
É voltado para usuários experientes de Linux/Docker, profissionais de segurança e testadores de penetração!
O contêiner gateway atua como um Middlebox Anonimizante (veja https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy) e roteia TODO o tráfego do contêiner estação de trabalho através da Rede Tor.
A ideia foi criar uma configuração semelhante ao whonix (veja https://www.whonix.org) que funcione em sistemas que não conseguem executar eficientemente duas máquinas virtualizadas por hardware ou que não possuem capacidades de virtualização.

Host (Linux):
Imagem Gateway:
Imagem Workstation:
1. Host
Para clonar o repositório dockernymous digite:
git clone https://github.com/bcapptain/dockernymous.git
Dockernymous precisa de um ambiente Docker em funcionamento e de uma rede Docker não padrão. Vamos criar uma:
docker network create --driver=bridge --subnet=192.168.0.0/24 docker_internal
2. Gateway (Alpine):
Obtenha uma imagem leve de gateway! Por exemplo, Alpine:
docker pull alpine
Execute a imagem, atualize a lista de pacotes, instale iptables e tor:
docker run -it alpine /bin/sh
apk add --update tor iptables iproute2
exit
Sinta-se à vontade para personalizar ainda mais o gateway conforme necessário antes de sair.
Para tornar isso permanente, você precisa criar uma nova imagem a partir do contêiner gateway que acabamos de configurar. Cada vez que você executa o dockernymous, um novo contêiner é criado a partir dessa imagem e descartado ao sair:
docker commit [Container ID] my_gateway
Obtenha o ID do contêiner executando:
docker ps -a
3. Workstation (Kali Linux):
Obtenha uma imagem para a Workstation. Por exemplo, Kali Linux para testes de penetração:
docker pull kalilinux/kali-linux-docker
Atualize e instale as ferramentas que deseja usar (veja 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
Certifique-se de que os pacotes tightvncserver e curl estejam instalados, o que é o caso na maioria dos Metapackages do Kali.
apt-get install tightvncserver
apt-get install curl
Instale o xfce4 para um ambiente gráfico mínimo:
$ apt-get install xfce4
$ apt-get clean
$ exit
Assim como no Gateway, para tornar isso permanente você precisa criar uma imagem a partir desse contêiner personalizado. Cada vez que você executa o dockernymous, um novo contêiner é criado e descartado ao sair.
$ docker commit [Container ID] my_workstation
Obtenha o ID do contêiner executando:
$ docker ps -a
4. Execute o dockernymous Caso você tenha alterado os nomes das imagens para algo diferente (os padrões são: "docker_internal" (rede), "my_gateway" (gateway), "my_workstation" (adivinhe)) abra o dockernymous.sh com seu editor favorito e atualize os nomes reais na seção de configuração.
Tudo deve estar configurado agora; vamos testar! Execute o Dockernymus (não esqueça de 'cd' para a pasta clonada):
bash dockernymous.sh
ou marque-o como executável uma vez:
chmod +x dockernymous.sh
e sempre execute com:
./dockernymous.sh
Fico feliz com feedback. Por favor, lembre-se de que o dockernymous ainda está em desenvolvimento. O script é bastante bagunçado, então considere-o como um projeto em fase alfa (ainda sem versionamento).