• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Статья Создание своего VPN с помощью Shadowsocks и обфускация трафика

147768_O.jpg


Введение
К написанию этой статьи привело размышление: "А так ли эффективны сервисы VPN и Tor в частности?" И вот, после недолгого гугления всплыли неутешительные факты:
  • Провайдеры детектят любой подозрительный трафик и намеренно занижают скорость интернет-соединения
  • Они же (и те, кто держат сервера с VPN) идут на поводу у РосКомНадзора/Федеральной комисси по связи/etc. , и при надобности могут выдать последним ключи шифрования
  • Некоторые провайдеры VPN вообще не шифруют трафик
  • Как правило, на серверах VPN используют OpenVPN, либо же его модифицированную версию (минус ли это - решать вам)
  • Провайдеры VPN ограничивают количество устройств на тарифе, или режут определённый вид трафика (например, торренты)
  • Tor, хоть и шифрует трафик, не обеспечивает полную анонимность - на выходной ноде вполне возможно перехватывать трафик, да и на многие сайты с ним невозможно зайти
Возникает закономерный вопрос - так чем, черт возьми, пользоваться? Тут ответ приходит, внезапно, из Китая - Shadowsocks.

Что это такое?
Как говорит нам англоязычная Википедия: "Shadowsocks - это бесплатный проект протокола шифрования с открытым исходным кодом, широко используемый в материковом Китае для обхода цензуры в Интернете". Действительно, он там используется для обхода знаменитого "Золотого щита", которым так гордится китайское правительство, и делает это весьма успешно.
Работает он в связке "Сервер-клиент" - трафик шифруется у клиента, пересылается на сервер, там расшифровывается и выпускается в Интернет. Причём и сервер, и клиент вы настраиваете сами - никакой утечки информации или попадании её не в те руки, плюс вы сами вольны выбирать алгоритм шифрования.
Более подробную информацию можно получить на

Подготовительный этап
Для начала нам потребуется сервер. Где его брать я вам говорить не буду, т.к. в интернете много компаний предоставляют облачные сервера. Для Shadowsocks достаточно самого дешёвого - мой крутится на сервере с 1 ядром, 400 мегабайтами оперативной памяти и 5 гигабайтами дискового пространства, и этого вполне хватает. Главный же критерий тут - скорость соединения и место расположения сервера - для обхода блокировок лучше брать в Америке, Франции или Италии. Главное - безлимитный трафик (но если вы пользуетесь интернетом не так активно, то можно и ограниченный)
Далее переходим к выбору серверной ОС - тут желательно выбрать Ubuntu 64x, но можно либо Debian, либо CentOS. В этой же статье будет описываться сервер с Ubuntu 18.04
Если вы желаете полной анонимности, то платить за такой сервер следует биткойнами, и нигде не указывать свои данные (но это уже для незаконных действий, благо мы с вами не такие)
Настройка сервера
Сервер арендован, ОС поставлена, можно приступать к настройке самого Shadowsocks
Сначала обновимся

apt update && apt upgrade

Затем поставим сам Shadowsocks

apt install shadowsocks-libev

Тут нужно небольшое пояснение: shadowsocks-libev - Shadowsocks, переписанный на чистом Си

Затем откроем конфигурационный файл редактором nano

nano /etc/shadowsocks-libev/config.json

Здесь мы увидим следующую картину:

putty_gxdZRJUQe9.png


Следует рассказать о назначении некоторых параметров:
  • server - адрес вашего сервера, следует заменить на реальный адрес вашего сервера
  • server_port - порт, на котором будет открыт ваш сервер, можно поменять на любой, кроме тех, которые уже заняты
  • local_port - порт для связи внутри сервера, оставьте дефолтным
  • password - пароль от вашего соединения, поменяйте на более заковыристый
  • timeout - время, после которого сервер разрывает соединение, если не поступило никаких данных. Вместо 60 секунд лучше ввести 10, т.к. больше многие клиенты не поддерживают
  • method - метод шифрования трафика, лучше оставить дефолтным, либо поменять на предпочтительный
Остальных параметров нет в оригинальном файле, но в дальнейшем мы их введём.
Сохраняем файл при помощи Ctrl-O, Enter, а затем выходим с помощью Ctrl-X. Советую вам где-нибудь записать или сфотографировать всё то, что мы ввели.
Теперь добавим Shadowsocks в автозапуск:

systemctl enable shadowsocks-libev
systemctl restart shadowsocks-libev

Ну вот и всё! Базовый сервер настроен, перейдём к настройке клиента

Настройка клиента

Windows
Идём на и качаем клиент для Windows
Затем распаковываем в удобное для нас место (Я распаковывал в корень C), запускаем, и видим следующее:


Shadowsocks_YeQwnOKlZv.png


Заполняем все пункты так же, как и в конфигурационном файле, порт прокси не трогаем, нажимаем "Применить", и всё!
Состояние программы будет отображать значок в трее. Там же нужно поставить галочку по пути "Системный прокси-сервер -> Для всей системы", и автозапуск (по желанию)

Android
В Google Play ищем приложение Shadowsocks, устанавливаем, и настраиваем по аналогии с Windows

firefox_IdNCXY9kXG.png


(Совет: Дабы не мучаться с вводом длинного пароля, можно выбрать в приложении пункт "Сканировать QR-код", а на Windows (где клиент уже настроен) выбрать пункт меню "Серверы ->

Поделиться конфигурацией сервера")

Linux
Копируем в терминал ту же самую команду, которую мы использовали для установки Shadowsocks на сервере.
Затем открываем с помощью nano конфигурационный файл:

nano /etc/shadowsocks-libev/config.json

И заполняем аналогично тому, как мы заполняли его на сервере
Затем вводим следующее для запуска:

sudo ss-local -c /etc/shadowsocks-libev/config.json

Чтобы соединение было и после перезапуска клиента, добавляем сервис, создав файл ss-local.service:

sudo nano /etc/systemd/system/ss-local.service

В него вставляем следующее:

Код:
[Unit]
Description=Daemon to start Shadowsocks Client
Wants=network-online.target
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/ss-local -c /etc/shadowsocks/config.json

[Install]
WantedBy=multi-user.target

Выходим, и прописываем последнюю команду:

sudo systemctl daemon-reload && sudo systemctl enable ss-local.service && sudo systemctl start ss-local.service

Теперь перейдём к обфускации трафика
Обфускация трафика
Для чего она нужна? Ну, прежде всего, это дополнительная защита вашего трафика от прослушивания: тот, кто попытается отследить ваши посещения, будет путаться - то ли вы На Ютуб зашли, то ли вы картинки с котиками смотрите
Хватит болтовни, приступим к делу.
Для начала скачиваем плагин:

apt install simple-obfs

Затем нам потребуется отредактировать конфиг:

nano /etc/shadowsocks-libev/config.json

В нём мы добавляем в самый конец две строчки, которые мы пропустили во время первоначальной настройки:
  • plugin - активирует этот самый плагин, туда вставляем "obfs-server"​
  • plugin_opts - задаёт параметры запуска плагина, в данном случае вводим как на картинке, подставляя вместо www.vk.com любой сайт​
Перезапускаем всё это добро:

systemctl restart shadowsocks-libev

Перейдём к настройке клиентов:
  • в Windows - скачиваем плагин с данного сайта, и распаковываем в директорию Shadowsocks. Затем, в Редактировании серверов в поле Плагин вставляем obfs-local, а в поле Опции плагина - всё то же самое, что мы вставляли в конфиг
  • на Android - скачиваем в Google Play Simple Obfuscation, и в настройках конфига сервера Shadowsocks, в графе Плагины, выбираем данное приложение и вводим всё так же, как на Windows
  • в Linux - скачиваем плагин (та же команда, что и для сервера), редактируем конфиг, добавляя эти два параметра, и перезагружаем клиент
Ну, вот и всё! Персональный сервер с VPN и обфускацией трафика готов!

Если увидите где-либо какие ошибки - пишите в комментарии

Читать продолжение: Создание своего VPN с помощью Shadowsocks и обфускация трафика - часть 2
 
IP будет того же сервера, на котором это все установлено? Т.е. это тоже самое, что просто создать ssh туннель? И тогда кому надо могут узнать, кто владелец сервера. Или я неправильно понимаю?
 
IP будет того же сервера, на котором это все установлено? Т.е. это тоже самое, что просто создать ssh туннель? И тогда кому надо могут узнать, кто владелец сервера. Или я неправильно понимаю?
Да, но многие сервера можно арендовать анонимно - главное знать, где искать.
Да и никому вы не нужны, если, конечно, вы не занимаетесь незаконной деятельностью.
А если и так, то можно сделать подобие луковичной сети (создание входной и выходной ноды), плюс к этому трафик выходной ноды перенаправить через какой-нибудь VPN - так вас точно никто не найдёт.
Да и изначально Shadowsocks служил для обхода блокировок, а анонимность к нему прикрутили уже потом
 
  • Нравится
Реакции: rv9wnx, mrtyrel и Alois
Да, но многие сервера можно арендовать анонимно - главное знать, где искать.
Да и никому вы не нужны, если, конечно, вы не занимаетесь незаконной деятельностью.
А если и так, то можно сделать подобие луковичной сети (создание входной и выходной ноды), плюс к этому трафик выходной ноды перенаправить через какой-нибудь VPN - так вас точно никто не найдёт.
Да и изначально Shadowsocks служил для обхода блокировок, а анонимность к нему прикрутили уже потом
Добрый день! Я правильно понимаю, что использование того же whonix+vpn, как альтернатива тому, что вы описали выше, не самое лучшее решение?
 
  • Нравится
Реакции: ВОВОЧИК
Добрый день! Я правильно понимаю, что использование того же whonix+vpn, как альтернатива тому, что вы описали выше, не самое лучшее решение?
Почему? Он вполне справляется со своими функциями. Только вот вы можете вместо VPN использовать Shadowsocks.
Тут проблема в чём? В Tor весь трафик на выходной ноде вполне реально отследить, и выйти на вас. Даже сами создатели не советуют использовать его для "пряток" от ФСБ, ФБР и т.д.
А те, кто держат сервера с VPN могут ВЕСЬ трафик сливать не туда, куда надо.
Сама же система Whonis вполне может использоватся в связке Whonis-VPS-VPS-Tor, что сведёт все попытки вас обнаружить к минимуму.
Да и если соблюдать "гигиену" в интернете, и лишний раз не следить, то шанс обнаружить вас существенно снизится
 
  • Нравится
Реакции: ВОВОЧИК и rv9wnx
Почему? Он вполне справляется со своими функциями. Только вот вы можете вместо VPN использовать Shadowsocks.
Тут проблема в чём? В Tor весь трафик на выходной ноде вполне реально отследить, и выйти на вас. Даже сами создатели не советуют использовать его для "пряток" от ФСБ, ФБР и т.д.
А те, кто держат сервера с VPN могут ВЕСЬ трафик сливать не туда, куда надо.
Сама же система Whonis вполне может использоватся в связке Whonis-VPS-VPS-Tor, что сведёт все попытки вас обнаружить к минимуму.
Да и если соблюдать "гигиену" в интернете, и лишний раз не следить, то шанс обнаружить вас существенно снизится
А свой впн на впс сервере нужно поднимать? И в вашей свзяке два впс. Имеется ввиду, что один на whonix gateway другой на whonix workstation? И насколько на ваш взгляд критичен выбор основной системы, на которой через ВМ будет запущен whonix?
 
А свой впн на впс сервере нужно поднимать? И в вашей свзяке два впс. Имеется ввиду, что один на whonix gateway другой на whonix workstation? И насколько на ваш взгляд критичен выбор основной системы, на которой через ВМ будет запущен whonix?
Вы, наверное, неправильно поняли - на VPS будут подняты Shadowsocks, один - как входная нода, другой - как выходная. На выходной ноде трафик будет перенаправляться в Tor.
Вам просто нужно будет со своей рабочей машины подключится ко входной ноде.
Руководство, как создать данную конструкцию, будет в следующем гайде
 
  • Нравится
Реакции: icehitech
Wireguard лучше будет.
Кому как, но WireGuard до сих пор находится в стадии разработки, у него возникают ошибки в процессе использования, он требователен к ресурсам, и что самое главное - нет ни одной стабильной версии, по которой можно отслеживать уязвимости по системе CVE (Common Vulnerabilities and Exposures).
Лично у меня за месяц сервер, на котором стоял WireGuard, падал раз 5-6, когда Shadowsocks работает уже 4-й без перебоев и ребутов
 
  • Нравится
Реакции: ghost и rv9wnx
Кому как, но WireGuard до сих пор находится в стадии разработки, у него возникают ошибки в процессе использования, он требователен к ресурсам, и что самое главное - нет ни одной стабильной версии, по которой можно отслеживать уязвимости по системе CVE (Common Vulnerabilities and Exposures).
Лично у меня за месяц сервер, на котором стоял WireGuard, падал раз 5-6, когда Shadowsocks работает уже 4-й без перебоев и ребутов
можете подсказать, где впс лучше арендовать?)))
и когда будет следующий гайд?
 
можете подсказать, где впс лучше арендовать?)))
и когда будет следующий гайд?
Ох, не настучали бы мне по голове за рекламу, но подскажу - я брал на самый дешёвый тариф в секции VPS Linux.
Насчёт гайда - он сейчас уже пишется, и за это спасибо вам, намекнули :-)
 
  • Нравится
Реакции: f0g
Вы, наверное, неправильно поняли - на VPS будут подняты Shadowsocks, один - как входная нода, другой - как выходная. На выходной ноде трафик будет перенаправляться в Tor.
Вам просто нужно будет со своей рабочей машины подключится ко входной ноде.
Руководство, как создать данную конструкцию, будет в следующем гайде
а в настройках основной системы ничего менять не нужно?
 
Отлично, а можно как-нибудь вместе с этим и рекламу заблокировать?)
 
Рекламные баннеры, реклама в приложении youtube и прочее, срезать на стороне сервера. Можно конечно какой-нибудь Adguard DNS использовать, но хотелось бы что-то свое, чтобы рекламу от гугла и яндекса тоже вырезало.
 
Рекламные баннеры, реклама в приложении youtube и прочее, срезать на стороне сервера. Можно конечно какой-нибудь Adguard DNS использовать, но хотелось бы что-то свое, чтобы рекламу от гугла и яндекса тоже вырезало.
Это тоже можно сделать, только для этого нужно 2 сервера - на одном Shadowsocks, на другом - AdGuardHome, либо Pi-Hole
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD