English version of the article: Anonymous pentest VPN – TOR -VPN {Part I}
[Основная/Техническая часть]
Установка OS (Debian 9) на SRV2
И так после того как мы завершили с регистрацией установим операционку на наш VPS. Я предпочел поставить Debian 9. Все еще продолжаем работать в Whonix Workstation. Не заходите со своего IP.
Находим Debian 9 в AWS Marketplace и жмем Select
Выберем полный доступный объем диска
По дефолту фаервол закрывет все порты кроме 22 (ssh). Но я предпочитаю здесь разрешить все а в самой Linux октыть только нужные порты, таким образом если вдруг понадобится какой то порт достаточно будет соединиться по ssh и ввести одну команду не лазая в веб интерфейсе. Вместо Type: SSH ставим ALL
Генерируем и надежно сохраняем ssh ключ. В дальнейшем мы перенесем ее на VPN SRV1. Кликаем Launch и наш Debian 9 готов.
Если ничего не менять, наш IP адрес будет меняться после каждой перезагрузки сервера. Нам это не нужно, назначим статистический IPv4 (для сведения, нам также доступен IPv6).
В меню Elastics IPs назначаем новый адрес, после чего его нужно присвоить к нашему серверу. ПКМ на адресе -> Associate address. За не присвоенный IP снимают деньги.
Также можно изменить настройки DHPC, заменим стандартный dns гугловским.
После создания "сета", ее нужно применить к текущей сети
Установка OpenVPN на SRV2
Подключемся к SRV2. Например мы сохранили ssh ключ в домашней директории /home/user/
Выключим авто изменения вносимые амазоном в нашу систему
Меням hostname
Если вы смение hostname, подкеректируйте также файлы /etc/hosts и /etc/resolv.conf.
Оффициальный репозиторий debian.
После установки у нас стоят репозитории от амазон, исправим и это. Берем сорсы
Чтобы все изменеия вступили в силу делаем рестарт.
Обновление системы
Установка OpenVPN
Создадим отдельного пользователя для OpenVPN
Центр сертификации.
Внутри файла находятся переменные, которые можно отредактировать, и которые задают параметры сертификатов при их создании.
Создание центра сертификации
Создание сертификата, ключа и файлов шифрования для сервера
Создание сертификата и пары ключей для клиента
Настройка сервиса OpenVPN
Настройка конфигурационного файла сервера
Полностью описать настройку и значение каждой команды не хватит места, поэтому я решил залить подробную инструкцию на github , также я предоставил готовые файлы конфигурации.
Вот ссылки:
client.conf у вас должен быть своим, с вашими ключами.
Хочу только обратить ваше внимание на несколько параметров
sudo vi /etc/openvpn/server.conf
Перед активацией фаервола не забудьте разрешить порт ssh
Остальное делайте все по инструкции, так же можете сразу скачать готовые гонфигурации для серверов командой git clone. Но клиентские файлы вам придется все таки создавать самим, со своими ключами шифрования.
После того как мы настроили VPN SRV2 и добавили его в автозагрузку мы закончили свою работу в Whonix. Ее можно выключать, больше она не понадобится. Перед этим остается только скопировать на наш комп ранее сохраненный ssh ключ от SRV2 и клиентский файл подключения к OpenVPN.
Вырубаем Whonix и идем в Kali Linux (с прямым подключением к интернету. Без tor, без vpn.) Но не подлючайтесь пока к SRV2 в Kali, мы еще не готовы, вы спалите свой IP.
Файлы которые мы только что скопировали переносим в Kali в /root/ , делается даже копи пастом.
Регистрация и настойка сервера под SRV1
Не имеет смысла маскироваться при покупке первого сервера (SRV1). Мы будем подключаться к нему с нашего домашнего компа или мобильного телефона, напрямую без TOR. Он все равно будет связан с нами, в конечном счете начальная цель была именно такой.
Нужна вторая виртуальная карта, мы не можем использовать одну и ту же карту с обеими VPS. Это установит прямую связь между нами и “плохим сервером”.
Нам нужен другой номер (можно даже свой личный). Абсолютно другой способ оплаты – т.е. делаем второй qiwi кошелек и пополняем любым удобным и прозрачным способом (терминал и т. д.). С их помощью арендуем «первый сервер» (SRV1).
Это процедура полностью совпадает с SRV2, так что перейдем сразу к настройке. Дальше работем в Kali Linux!
Упрощаем жизнь с SSH Config File
Допустим мы сохранили ssh ключ от SRV1 в /root/
Создадим ssh config file
vi ~/.ssh/config
Опять же не буду повторять установку OpenVPN и UFW, все тоже самое, просто по инструкции вместо vpnsrv2/clientsrv2 писать vpnsrv1/clientsrv1 и все.
Покажу только то что делается только на SRV1.
Трафик который поступает к нашему впн серверу перенаправим на SRV2.
Создадим скрипт /etc/openvpn/upstream-route.sh содержащий следующие команды:
Нужно чтобы OpenVPN клиент всегда занимал интерфейс tun1. оставляя tun0 для сервера.
vi /etc/openvpn/client.conf
Установка TOR на SRV1
Мне показалось что после следующей настройки у меня чуточку прибалась скорость работы в TOR-е
Настроим openvpn client чтобы подключение к SRV2 всегда шло только через TOR.
sudo vi /etc/openvpn/client.conf
Запустим и добавим в автозагрузку OpenVPN Server, Client и TOR Proxy.
Теперь скопируем ssh ключ от SRV2 на SRV1, и создадим файл в ~/.ssh/config
Создадим ssh config file на SRV1
vi ~/.ssh/config
Убеждаемся что подключение прошло через TOR
На этом пожалуй я завершу свою статью, так как она очень затянулась и ю очень устал. Во второй части быстренько постараюсь показать профит от всего этого. Конструктивная критика мной принимается)) До скорого!
English version of the article: Anonymous pentest VPN – TOR -VPN {Part I}
Приветствую всех. На форуме, я уже довольно продолжительное время и с интересом читаю ваши статьи. Вообще в тему “Информационной безопасности” я начал вникать после знакомства с Codeby, до этого имел только поверхностное представление. И как видите, сегодня я решил написать свою первую статью. Получилась она длинная. Далее вы увидите многократное упоминание слов: vpn, tor и сервер.))))
Речь пойдет о создании цепочки VPN – TOR – VPN с последующей подготовкой конечного сервера к проведению тестов на проникновение. Преимущество такой схемы в том, что наш провайдер (ISP) не видит использования TOR, а конечный сервер, который выступает в качестве контрольного центра, ничего не знает о существовании первого VPN сервера, к которому мы и подключаемся. Потому что соединение между ними проходит через сеть TOR. Еще одна приятная особенность в отличии от использования просто TOR -> VPN, в том что мы можем подключаться к котроллеру с любого места/устройства, без необходимости использования TOR, но в то же время соединение к конечному пункту будет проходить через луковую сеть. Например, соединившись с телефона по ssh к первому серверу, мы можем подключиться ко второму серверу указав IP адрес его tun0 интерфейса и связь будет установлена сквозь туннель проходящий через TOR. Поехали.
Нам нужно арендовать два VPS сервера. Сервисов предоставляющих такие услуги полно, но я приведу два таких: Amazon AWS и DigitalOcean. Рассматривать буду первый вариант, на год “условно бесплатно” если не нарушать ограничений.
Перед нами встает задача, как же арендовать сервер, сохраняя в тайне свою личность, финансы, номер телефона и IP адрес. Для этого нам потребуется некоторое количество криптовалюты, виртуальна карта, левая симка, Whonix Gateway и немного времени.
Начнем с установки Whonix
Я сразу скачал Whonix Gateway и Workstation, но вместо последнего можно использовать любую Linux систему, как было показано в статье: Codeby Whonix …
И так ставим VirtualBox
Идем на сайт
Стартуем Whonix Gateway. После загрузки, нас встретит мастер настройки, соглашаемся со всеми требованиями и просто кликаем next. По окончанию нажимаем обновить систему.
Теперь приступим к настройке нашей рабочей машины “Workstation”.
Делаем идентично как с Gateway. После обновления, нам предложат установить Tor Browser, соглашаемся.
Далее нам необходимо установить несколько утилит. Скорость в TOR очень низкая, чтобы ускорить процесс установки, временно подключимся к сети напрямую.
Выключаем машину, добавляем второй сетевой адаптер и запускаем.
Настройка интерфейса eth1
Если интерфейс eth1 получил адрес, идем дальше.
Установим кошелок
Зависимости:
Сам Electrum
Сражу же обновим Firefox, иначе плагины не будут работать.
После этого возвратим все на свое место. ВАЖНО!
Выключаем машину, убираем второй адаптер и снова включаем
Настройка Firefox, предотвращение утечки информации.
Убедимся, что трафик идет через TOR
Чекаем
Переходим по адресу:
В адресной строке переходим на: about:config
Через поиск находим и выключаем следующие параметры:
Обновляем страницу
Некоторые сайты, в частности финансовые, могут заблокировать наши аккаунты заметив, что мы юзаем TOR. Во избежание этого будем использовать плагин Browsec VPN поверх TOR.
Заходим в настройки дополнений (about:addons ) и в поиске находим browsec.
Установка и активация плагина Browsec VPN.
После чего снова заходим на
Анонимная почта.
Нам понадобится электронная почта. Это удивительно, но сегодня все известные почтовые сервисы требуют номер мобильного телефона. Единственно, Яндекс позволил регистрацию без номера, но на второй день заблокировал и потребовал смс верификацию.
Я стал искать анонимную почту, наткнувшись на статью на
Виртуальный номер и Кошелек QIWI
Для создания киви кошелька нужен номер
Был вариант с арендой номера на
Как использовать Bitcoin анонимно?
Для аренды сервера нужна банковская карта. Конечно мы сделаем виртуальную, но если ее пополнить с нашей реальной карты, ее анонимность теряется. Поэтому нам понадобится криптовалюта, а именно bitcoin. Но и ее можно отследить по анализу блокчейна. Чтобы это избежать, воспользуемся биткоин миксером.
Я купил крипту на LocalBitcoins.com, пропустив через coinmixer.se положил его в кошелек Electrum, оттуда потерявшие след биткоины вывел в payeer.com. С него уже можно пополнять кошелек qiwi и сделать виртуальную карточку VISA.
Покупку BTC, создание кошелька Electrum, пропуск крипты через миксер копи-пастить я не буду. Этот процесс понятно описан на самом Coinmixer, вот здесь:
Пункт конфигурации прокси пропускаем, потому что у нас весь трафик уже идет через TOR.
Coinmixer.se берет комиссию в размере 1-3 % и комиссию 0,0001 BTC за выводной адрес. Минимальная сумма перевода на один адрес 0.001 BTC.
Предположим, что мы все сделали и на второй день наш баланс в Electrum пополнился. (Я выбирал 13-16 часов смешивания в миксере).
Идем на payeer.com и регистрируем новый аккаунт. Полученные учетные данные сохраните в надежном месте.
Заходим в аккаунт и кликам на Рубли.
Водим сумму и жмем пополнить.
Как способ оплаты выберем Bitcoin
Далее получаем адрес кошелька на который нам нужно отправить наши биткоины
В Electrum внимательно заполняем все как показано и отправляем.
Через несколько минут на нашем рублевом счету в Payeer появятся деньги. Отправим немного в кошелек QIWI, чтобы затем воспользоваться виртуальной картой при аренде VPS. Amazon снимет 1$, но чуть позже вернет.
Платежная система: QIWI, номер телефона вводим номер нашего кошелька киви.
Наконец то наша банк карта готова. И мы можем приступать к оформлению сервера.
Аренда второго сервера (VPN SRV2) См. самое первое изображение
Amazon AWS проверяет валидность введенного адреса в зависимости от выбранной страны.
На
Рекомендую сохранять регистрационные данные. Может случиться так, что вы забудете пароль или потеряете доступ к аккаунту в следствии других причин и вот тогда эта информация пригодится при восстановлении доступа.
Не забывайте, что мы все еще работаем с VPN поверх TOR. Не спалите свой IP.
Верификация проходит по телефону, мы принимает звонок от бота и вводим 4 цифры появившиеся на сайте.
Как я уже говорил выше нам понадобится левая сим-карта, либо виртуальный номер который принимается амазоном, но я таких не нашел.
После успешной регистрации придется подождать некоторое время, прежде чем получим доступ к консоли настройки VPS. Спустя 2 часа у меня сервер был готов, но по умолчанию для новых пользователей доступны только 3 региона в США. Сразу после регистрации нам на почту приходи письмо с уведомлением об этом. Для смены региона нужно написать в поддержку.
Через 6 часов мне сменили доступные регионы.
Перед нами встает задача, как же арендовать сервер, сохраняя в тайне свою личность, финансы, номер телефона и IP адрес. Для этого нам потребуется некоторое количество криптовалюты, виртуальна карта, левая симка, Whonix Gateway и немного времени.
Начнем с установки Whonix
Я сразу скачал Whonix Gateway и Workstation, но вместо последнего можно использовать любую Linux систему, как было показано в статье: Codeby Whonix …
И так ставим VirtualBox
Идем на сайт
Ссылка скрыта от гостей
и качаем готовые дистрибутивы Whonix. Установка по двойному клику.Стартуем Whonix Gateway. После загрузки, нас встретит мастер настройки, соглашаемся со всеми требованиями и просто кликаем next. По окончанию нажимаем обновить систему.
Теперь приступим к настройке нашей рабочей машины “Workstation”.
Делаем идентично как с Gateway. После обновления, нам предложат установить Tor Browser, соглашаемся.
Далее нам необходимо установить несколько утилит. Скорость в TOR очень низкая, чтобы ускорить процесс установки, временно подключимся к сети напрямую.
Выключаем машину, добавляем второй сетевой адаптер и запускаем.
Настройка интерфейса eth1
Bash:
sudo ifconfig eth0 down
sudo dhclient eth1
sudo ifconfig
Если интерфейс eth1 получил адрес, идем дальше.
Установим кошелок
Ссылка скрыта от гостей
для наших будущих биткоинов.Зависимости:
Bash:
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install python3-setuptools python3-pyqt5 python3-pip -y
Сам Electrum
Bash:
sudo pip3 install https://download.electrum.org/3.0.6/Electrum-3.0.6.tar.gz
Сражу же обновим Firefox, иначе плагины не будут работать.
Bash:
sudo apt-get install firefox-esr
После этого возвратим все на свое место. ВАЖНО!
Выключаем машину, убираем второй адаптер и снова включаем
Настройка Firefox, предотвращение утечки информации.
Убедимся, что трафик идет через TOR
Чекаем
Ссылка скрыта от гостей
Переходим по адресу:
Ссылка скрыта от гостей
и делам все как указано.В адресной строке переходим на: about:config
Через поиск находим и выключаем следующие параметры:
media.peerconnection.enabled
media.navigator.enabled
Обновляем страницу
Ссылка скрыта от гостей
и видим, что ничего не утекает.Некоторые сайты, в частности финансовые, могут заблокировать наши аккаунты заметив, что мы юзаем TOR. Во избежание этого будем использовать плагин Browsec VPN поверх TOR.
Заходим в настройки дополнений (about:addons ) и в поиске находим browsec.
Установка и активация плагина Browsec VPN.
После чего снова заходим на
Ссылка скрыта от гостей
и видим, что использование TOR скрыто.Анонимная почта.
Нам понадобится электронная почта. Это удивительно, но сегодня все известные почтовые сервисы требуют номер мобильного телефона. Единственно, Яндекс позволил регистрацию без номера, но на второй день заблокировал и потребовал смс верификацию.
Я стал искать анонимную почту, наткнувшись на статью на
Ссылка скрыта от гостей
и дальнейшего гугления выбрал два варианта: ProtonMail & Tutanota. И так идем на любой из этих двух сервисов и регаем почту, в дальнейшем будем использовать этот адрес.Виртуальный номер и Кошелек QIWI
Для создания киви кошелька нужен номер
Был вариант с арендой номера на
Ссылка скрыта от гостей
для qiwi и американский виртуальный номер в программе TextPlus для верификации на Amazon AWS. Но амазон в >90% случаях сразу же блокирует аккаунт. Поэтому нужен другой вариант, я воспользовался обычной сим-картой. (Если кто-то предложит другой вариант, буду рад.)- Левая сим-карта, чистый телефончик. Телефон включаем только на время регистрации.
- Или можно купить готовые QIWI кошельки в интернете. Например у @shifty_wolf в Telegram.
Как использовать Bitcoin анонимно?
Для аренды сервера нужна банковская карта. Конечно мы сделаем виртуальную, но если ее пополнить с нашей реальной карты, ее анонимность теряется. Поэтому нам понадобится криптовалюта, а именно bitcoin. Но и ее можно отследить по анализу блокчейна. Чтобы это избежать, воспользуемся биткоин миксером.
Ссылка скрыта от гостей
Что такое Биткоин Миксер?
Биткоин транзакции объединяются вместе в постоянную публичную запись. По блокчейн можно отследить транзакции с одного адреса на другой. Биткоин миксер разрывает связь между Вашим старым адресом и новым, отправляя средства от Вас другим людям, а их средства Вам. Таким образом суммы транзакций становятся случайными, и это увеличивает временные задержки.
Благодаря этому отсутствует связь между изначальным и конечным адресом транзакций. Этот процесс защищает Вашу информацию и не позволяет другим людям отследить Ваши платежи в интернете.
Я купил крипту на LocalBitcoins.com, пропустив через coinmixer.se положил его в кошелек Electrum, оттуда потерявшие след биткоины вывел в payeer.com. С него уже можно пополнять кошелек qiwi и сделать виртуальную карточку VISA.
Покупку BTC, создание кошелька Electrum, пропуск крипты через миксер копи-пастить я не буду. Этот процесс понятно описан на самом Coinmixer, вот здесь:
Ссылка скрыта от гостей
Пункт конфигурации прокси пропускаем, потому что у нас весь трафик уже идет через TOR.
Coinmixer.se берет комиссию в размере 1-3 % и комиссию 0,0001 BTC за выводной адрес. Минимальная сумма перевода на один адрес 0.001 BTC.
Предположим, что мы все сделали и на второй день наш баланс в Electrum пополнился. (Я выбирал 13-16 часов смешивания в миксере).
Идем на payeer.com и регистрируем новый аккаунт. Полученные учетные данные сохраните в надежном месте.
Заходим в аккаунт и кликам на Рубли.
Водим сумму и жмем пополнить.
Как способ оплаты выберем Bitcoin
Далее получаем адрес кошелька на который нам нужно отправить наши биткоины
В Electrum внимательно заполняем все как показано и отправляем.
Через несколько минут на нашем рублевом счету в Payeer появятся деньги. Отправим немного в кошелек QIWI, чтобы затем воспользоваться виртуальной картой при аренде VPS. Amazon снимет 1$, но чуть позже вернет.
Платежная система: QIWI, номер телефона вводим номер нашего кошелька киви.
Наконец то наша банк карта готова. И мы можем приступать к оформлению сервера.
Аренда второго сервера (VPN SRV2) См. самое первое изображение
Amazon AWS проверяет валидность введенного адреса в зависимости от выбранной страны.
На
Ссылка скрыта от гостей
генерируем нужную нам информацию и идем на
Ссылка скрыта от гостей
регистрироваться.Рекомендую сохранять регистрационные данные. Может случиться так, что вы забудете пароль или потеряете доступ к аккаунту в следствии других причин и вот тогда эта информация пригодится при восстановлении доступа.
Не забывайте, что мы все еще работаем с VPN поверх TOR. Не спалите свой IP.
Верификация проходит по телефону, мы принимает звонок от бота и вводим 4 цифры появившиеся на сайте.
Как я уже говорил выше нам понадобится левая сим-карта, либо виртуальный номер который принимается амазоном, но я таких не нашел.
После успешной регистрации придется подождать некоторое время, прежде чем получим доступ к консоли настройки VPS. Спустя 2 часа у меня сервер был готов, но по умолчанию для новых пользователей доступны только 3 региона в США. Сразу после регистрации нам на почту приходи письмо с уведомлением об этом. Для смены региона нужно написать в поддержку.
Через 6 часов мне сменили доступные регионы.
[Основная/Техническая часть]
Установка OS (Debian 9) на SRV2
И так после того как мы завершили с регистрацией установим операционку на наш VPS. Я предпочел поставить Debian 9. Все еще продолжаем работать в Whonix Workstation. Не заходите со своего IP.
Находим Debian 9 в AWS Marketplace и жмем Select
Выберем полный доступный объем диска
По дефолту фаервол закрывет все порты кроме 22 (ssh). Но я предпочитаю здесь разрешить все а в самой Linux октыть только нужные порты, таким образом если вдруг понадобится какой то порт достаточно будет соединиться по ssh и ввести одну команду не лазая в веб интерфейсе. Вместо Type: SSH ставим ALL
Генерируем и надежно сохраняем ssh ключ. В дальнейшем мы перенесем ее на VPN SRV1. Кликаем Launch и наш Debian 9 готов.
Если ничего не менять, наш IP адрес будет меняться после каждой перезагрузки сервера. Нам это не нужно, назначим статистический IPv4 (для сведения, нам также доступен IPv6).
В меню Elastics IPs назначаем новый адрес, после чего его нужно присвоить к нашему серверу. ПКМ на адресе -> Associate address. За не присвоенный IP снимают деньги.
Также можно изменить настройки DHPC, заменим стандартный dns гугловским.
После создания "сета", ее нужно применить к текущей сети
Установка OpenVPN на SRV2
Подключемся к SRV2. Например мы сохранили ssh ключ в домашней директории /home/user/
Bash:
chmod 400 /home/user/vpnsrv2.pem
sudo ssh admin@5.5.5.5 -i /home/user/vpnsrv2.pem
admin = имя пользователя по дефолту в debian
5.5.5.5 = IP адрес сервера SRV2
-i = путь до ключа ssh
Выключим авто изменения вносимые амазоном в нашу систему
sudo vi /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg
Меням hostname
Bash:
sudo echo vpnsrv2 | sudo tee /etc/hostname
Оффициальный репозиторий debian.
После установки у нас стоят репозитории от амазон, исправим и это. Берем сорсы
Ссылка скрыта от гостей
sudo vi /etc/apt/sources.list
deb stretch main contrib
deb-src stretch main contrib
deb stretch-updates main contrib
deb-src stretch-updates main contrib
deb
deb-src
deb-src stretch main contrib
deb stretch-updates main contrib
deb-src stretch-updates main contrib
deb
Ссылка скрыта от гостей
stretch/updates main contribdeb-src
Ссылка скрыта от гостей
stretch/updates main contribЧтобы все изменеия вступили в силу делаем рестарт.
sudo init 6
Обновление системы
sudo apt update
sudo apt dist-upgrade
Установка OpenVPN
sudo apt install openvpn easy-rsa -y
Создадим отдельного пользователя для OpenVPN
sudo adduser openvpn-ca
sudo usermod -aG sudo openvpn-ca
sudo su - openvpn-ca
Центр сертификации.
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
vi vars
Внутри файла находятся переменные, которые можно отредактировать, и которые задают параметры сертификатов при их создании.
~/openvpn-ca/vars
. . .
export KEY_COUNTRY="DE"
export KEY_PROVINCE="HE"
export KEY_CITY="Frankfurt"
export KEY_ORG="CodeBy"
export KEY_EMAIL="admin@CodeBy.com"
export KEY_OU="Community of CodeBy"
export KEY_NAME="vpnsrv2"
. . .
Создание центра сертификации
cd ~/openvpn-ca
ln -s ~/openvpn-ca/openssl-1.0.0.cnf openssl.cnf
source vars
./clean-all
./build-ca
Создание сертификата, ключа и файлов шифрования для сервера
./build-key-server vpnsrv2
./build-dh
sudo openvpn --genkey --secret keys/ta.key
Создание сертификата и пары ключей для клиента
cd ~/openvpn-ca
./build-key clientsrv2
Настройка сервиса OpenVPN
cd ~/openvpn-ca/keys
sudo mkdir /etc/openvpn/keys
sudo cp ca.crt vpnsrv2.crt vpnsrv2.key dh2048.pem ta.key /etc/openvpn/keys/
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
Настройка конфигурационного файла сервера
Полностью описать настройку и значение каждой команды не хватит места, поэтому я решил залить подробную инструкцию на github , также я предоставил готовые файлы конфигурации.
Вот ссылки:
Ссылка скрыта от гостей
и файлы конфигурации.client.conf у вас должен быть своим, с вашими ключами.
Хочу только обратить ваше внимание на несколько параметров
sudo vi /etc/openvpn/server.conf
На SRV2 адрес сети VPN сервера должен быть именно 10.8.1.0 | А на SRV1 = 10.8.0.0
# ethernet bridging. See the man page for more info.
server 10.8.1.0 255.255.255.0
Необходимо закомментировать следующие директивы. Чтобы весь трафик с SRV1 не перенаправлялся через vpn, иначе ничего не будет работать. | На SRV1 наоборот мы раскомментируем его.
;push "redirect-gateway def1 bypass-dhcp"
Чуть ниже находится секция dhcp-option. Их тоже закомментируем
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"
Протокол UDP не работает в tor, поэтому настроим SRV2 ма работу с TCP | SRV1 настроим на UDP
# TCP or UDP server?
proto tcp4
Следующая директива отвечает за рестарт vpn в случае сбоя при работе с протоколом UDP, поэтому для SRV2 ее тоже закоментим
;explicit-exit-notify 1
Перед активацией фаервола не забудьте разрешить порт ssh
sudo ufw allow 22
sudo ufw allow 1194
Остальное делайте все по инструкции, так же можете сразу скачать готовые гонфигурации для серверов командой git clone. Но клиентские файлы вам придется все таки создавать самим, со своими ключами шифрования.
После того как мы настроили VPN SRV2 и добавили его в автозагрузку мы закончили свою работу в Whonix. Ее можно выключать, больше она не понадобится. Перед этим остается только скопировать на наш комп ранее сохраненный ssh ключ от SRV2 и клиентский файл подключения к OpenVPN.
Вырубаем Whonix и идем в Kali Linux (с прямым подключением к интернету. Без tor, без vpn.) Но не подлючайтесь пока к SRV2 в Kali, мы еще не готовы, вы спалите свой IP.
Файлы которые мы только что скопировали переносим в Kali в /root/ , делается даже копи пастом.
Регистрация и настойка сервера под SRV1
Не имеет смысла маскироваться при покупке первого сервера (SRV1). Мы будем подключаться к нему с нашего домашнего компа или мобильного телефона, напрямую без TOR. Он все равно будет связан с нами, в конечном счете начальная цель была именно такой.
Нужна вторая виртуальная карта, мы не можем использовать одну и ту же карту с обеими VPS. Это установит прямую связь между нами и “плохим сервером”.
Нам нужен другой номер (можно даже свой личный). Абсолютно другой способ оплаты – т.е. делаем второй qiwi кошелек и пополняем любым удобным и прозрачным способом (терминал и т. д.). С их помощью арендуем «первый сервер» (SRV1).
Это процедура полностью совпадает с SRV2, так что перейдем сразу к настройке. Дальше работем в Kali Linux!
Упрощаем жизнь с SSH Config File
Допустим мы сохранили ssh ключ от SRV1 в /root/
mv ~/vpnsrv1.pem ~/.ssh/
Создадим ssh config file
vi ~/.ssh/config
Host srv1
HostName 2.2.2.2
Port 22
User admin
IdentityFile ~/.ssh/vpnsrv1.pem
admin = имя пользователя по дефолту в debian
2.2.2.2 = IP адрес сервера SRV1
-i = путь до ключа ssh
Теперь в терминале вводим ssh vpnsrv1 и попадаем на сервер.
Опять же не буду повторять установку OpenVPN и UFW, все тоже самое, просто по инструкции вместо vpnsrv2/clientsrv2 писать vpnsrv1/clientsrv1 и все.
Покажу только то что делается только на SRV1.
Трафик который поступает к нашему впн серверу перенаправим на SRV2.
Создадим скрипт /etc/openvpn/upstream-route.sh содержащий следующие команды:
#!/bin/sh
ip rule add from 10.8.0.0/24 table 120
ip route add default dev tun1 table 120
exit 0
Нужно чтобы OpenVPN клиент всегда занимал интерфейс tun1. оставляя tun0 для сервера.
vi /etc/openvpn/client.conf
dev tun1
Установка TOR на SRV1
Bash:
sudo apt update && sudo apt dist-upgrade
sudo apt install tor torsocks
sudo systemctl restart tor
#Проверим работает ли наш tor proxy
sudo apt install git make gcc
git clone rofl0r/proxychains-ng
cd proxychains-ng/
./configure --prefix=/usr --sysconfdir=/etc
make
sudo make install
sudo make install-config
#Если следующие две команду дадут разные IP значит tor proxy работает.
curl ident.me; echo
proxychains4 2>/dev/null curl ident.me;echo
Мне показалось что после следующей настройки у меня чуточку прибалась скорость работы в TOR-е
sudo vi /etc/tor/torsocks.conf
Настроим openvpn client чтобы подключение к SRV2 всегда шло только через TOR.
sudo vi /etc/openvpn/client.conf
socks-proxy-retry
socks-proxy 127.0.0.1 9050
Запустим и добавим в автозагрузку OpenVPN Server, Client и TOR Proxy.
sudo systemctl restart openvpn@server && sudo systemctl enable openvpn@server
sudo systemctl restart openvpn@client && sudo systemctl enable openvpn@client
sudo systemctl restart tor && sudo systemctl enable tor
Теперь скопируем ssh ключ от SRV2 на SRV1, и создадим файл в ~/.ssh/config
mv ~/vpnsrv2.pem ~/.ssh/
Создадим ssh config file на SRV1
vi ~/.ssh/config
Host srv1
HostName 10.8.1.1 Указываем именно этот адрес, чтобы подключение шло через VPN (vpn -> tor -> vpn)
Port 22
User admin
IdentityFile ~/.ssh/vpnsrv2.pem
Убеждаемся что подключение прошло через TOR
ssh vpnsrv2
sudo ss -4tulpan
# И если в списке нету вашего адрес все работает как надо.
На этом пожалуй я завершу свою статью, так как она очень затянулась и ю очень устал. Во второй части быстренько постараюсь показать профит от всего этого. Конструктивная критика мной принимается)) До скорого!
English version of the article: Anonymous pentest VPN – TOR -VPN {Part I}
Вложения
Последнее редактирование модератором: