
Скрипт, используемый для создания среды, похожей на Whonix, с шлюзом/рабочей станцией в контейнерах Docker.
ПРОКРУТИТЕ ВНИЗ ДЛЯ ТРЕБОВАНИЙ И ИНСТРУКЦИЙ
ЭТО НЕ БУДЕТ РАБОТАТЬ, ЕСЛИ ВЫ ИМ НЕ СЛЕДУЕТЕ
Предупреждение:
Dockernymous находится на очень ранней стадии разработки. Используйте его только в образовательных целях.
НЕ ИСПОЛЬЗУЙТЕ ЕГО, ЕСЛИ ВЫ ПОЛАГАЕТЕСЬ НА СИЛЬНУЮ АНОНИМНОСТЬ!
[13.10.2018]
Я полностью изменил общую логику работы скрипта, что привело к улучшениям в удобстве использования и стабильности. Улучшен внешний вид меню.
Были добавлены следующие НОВЫЕ функции:
Возможность оставить контейнеры работающими и восстановить их позже: Теперь у вас есть выбор оставить контейнеры работающими при выходе. Это, конечно, ускорит время запуска всего скрипта. Из соображений конфиденциальности я делаю контейнеры «самоуничтожающимися», поэтому, если вы остановите их вручную или перезагрузите систему, они всё равно исчезнут.
(Пере)запуск TOR из меню
Остановка TOR из меню
Наслаждайтесь! Bcapptain
[17.05.2018]
Перешел с Debian на Alpine в качестве образа шлюза/контейнера!

Я изменил образ Docker, который настраивается как шлюз с помощью dockernymous, с Debian на Alpine!
Полученный размер образа после настройки и сохранения теперь составляет 23MB (Alpine) вместо 200MB (Debian)!
Инструкции ниже обновлены.
Dockernymous — это стартовый скрипт для Docker, который запускает и настраивает два отдельных контейнера Linux, чтобы организовать анонимную рабочую станцию-шлюз.
Он предназначен для опытных пользователей Linux/Docker, специалистов по безопасности и пентестеров!
Контейнер шлюза выступает в роли анонимизирующего промежуточного устройства (смотрите https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy) и направляет ВЕСЬ трафик из контейнера рабочей станции через сеть Tor.
Идея заключалась в создании конфигурации, похожей на whonix (см. https://www.whonix.org), которая работает на системах, неспособных эффективно запускать две аппаратно-виртуализированные машины или не имеющих возможностей виртуализации вообще.

Хост (Linux):
Образ шлюза:
Образ рабочей станции:
1. Хост
Чтобы клонировать репозиторий dockernymous, введите:
git clone https://github.com/bcapptain/dockernymous.git
Dockernymous требует работающего окружения Docker и пользовательской сети Docker. Давайте создадим её:
docker network create --driver=bridge --subnet=192.168.0.0/24 docker_internal
2. Шлюз (Alpine):
Получите легковесный образ шлюза! Например, Alpine:
docker pull alpine
Запустите образ, обновите список пакетов, установите iptables и tor:
docker run -it alpine /bin/sh
apk add --update tor iptables iproute2
exit
Не стесняйтесь дополнительно настроить шлюз по своему усмотрению перед выходом.
Чтобы сделать это постоянным, вы должны создать новый образ из только что настроенного контейнера шлюза. Каждый раз при запуске dockernymous из этого образа создаётся новый контейнер, который удаляется при выходе:
docker commit [Container ID] my_gateway
Получите ID контейнера, выполнив:
docker ps -a
3. Рабочая станция (Kali Linux):
Получите образ для рабочей станции. Например, Kali Linux для пентеста:
docker pull kalilinux/kali-linux-docker
Обновите и установите инструменты, которые вы хотите использовать (см. 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
Убедитесь, что установлены пакеты tightvncserver и curl, что обычно присутствует в большинстве метапакетов Kali.
apt-get install tightvncserver
apt-get install curl
Установите xfce4 для минимального графического рабочего стола:
$ apt-get install xfce4
$ apt-get clean
$ exit
Как и со шлюзом, чтобы сделать это постоянным, вы должны создать образ из этого настроенного контейнера. Каждый раз при запуске dockernymous создаётся новый контейнер, который удаляется при выходе.
$ docker commit [Container ID] my_workstation
Получите ID контейнера, выполнив:
$ docker ps -a
4. Запуск dockernymous Если вы изменили имена образов на что-то другое (по умолчанию: "docker_internal" (сеть), "my_gateway" (шлюз), "my_workstation" (рабочая станция)), откройте dockernymous.sh в вашем любимом редакторе и обновите фактические имена в разделе конфигурации.
Теперь всё должно быть настроено, давайте попробуем! Запустите Dockernymous (не забудьте перейти в клонированную папку с помощью 'cd'):
bash dockernymous.sh
или сделайте его исполняемым один раз:
chmod +x dockernymous.sh
и всегда запускайте его с помощью:
./dockernymous.sh
Я буду рад обратной связи. Пожалуйста, помните, что dockernymous всё ещё находится в разработке. Скрипт пока довольно запутан, так что считайте его альфа-версией (версионирование ещё не введено).