Гайд DPI/Firewall Bypass (Обход некоторых фильтров и фаеров)

Начинающий
Статус
Оффлайн
Регистрация
12 Май 2023
Сообщения
29
Реакции[?]
27
Поинты[?]
25K
Всем доброго дня!

Не знаю насколько это будет здесь актуально, но в любом случае думаю есть смысл поделиться. Тема насчет (обфускации/абуза, называйте как хотите) траффика довольно редкая.
Автором данной тулзы являюсь я, так что если возникнут какие-либо проблемы отправляйте реквесты на гитхаб :smile:.

Ссылка:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Либо:
git clone https://github.com/lightswisp/HTTPS-Tunnel.git

Описание
Наверное начну с описания данной утилиты, а потом уже перейду к тех.деталям (на гитхабе все расписано, но на английском языке):
Это обычный туннель который сгодиться для обычного серфинга по запрещенным/цензурированным сайтам. Ни ваш провайдер, ни сам туннель, ни владельцы хостинг компании на которой будет стоять сам сервер не смогут просматривать ваши пакеты. Все данные будут зашифрованы два раза (TLS over TLS):
От клиента к серверу самого туннеля и от туннеля к конечному веб серверу. Провайдер не сможет просмотреть какие сайты вы посещаете даже при всем желании так как идет дополнительная подмена индикации имени сервера (SNI). Пока что она статическая, но в будущем можно будет добавить динамическую подмену SNI.

Каким образом данная утилита может перестать работать?
Только при условии если указанный SNI подпадает под раздачу фаера либо же если сам ip адрес туннеля будет в блокировке (это довольно просто обходиться).

Как установить? (Server side - Серверная часть)
Каюсь за то что не уложил сервер в докер контейнер, по этому прийдеться немного попыхтеть
Сразу скажу, вам понадобится выделенный удаленный хост, благо стоят они не очень дорого (хотя можно раздобыть и за бесплатно, но это тема для отдельного обсуждения)
Хост может быть хоть на винде, хоть на линуксе - главное чтоб были установлены Ruby и OpenSSL.

Шаги (пример для Debian/Ubuntu):
Предупреждаю, 5 шаг можно пропустить и сгенерировать самоподписной сертификат: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365
1. Установить язык руби : apt install ruby
2. Установить bundler: gem install bundler
3, Клонировать репозиторий с гитхаба git clone https://github.com/lightswisp/HTTPS-Tunnel.git
4. Выполнить команду bundle install
5. Прикрепить сертификат к вашему ip адресу (по желанию можно и домен поставить) ->
Пожалуйста, авторизуйтесь для просмотра ссылки.

6. Создать сервисный (.service) файл для systemd чтоб наш сервер работал бесперебойно ->
Пожалуйста, авторизуйтесь для просмотра ссылки.
(этот шаг не обязательный)
7. Если 6 шаг вы пропустили, то можете запускать от root пользователя сервер ruby server.rb (не забудьте указать в параметрах сертификат и приватный ключ который вы получили ранее *5 шаг)

Установка на клиенте (Т.е к вам на ПК)
В будущем могу переписать клиент на Crystal, чтобы был один бинарник. Можно будет запускать и на винде и на линуксе.
1. Ставим руби и bundler
Linux: sudo apt install ruby && gem install bundler
2. Клонируем репозиторий git clone https://github.com/lightswisp/HTTPS-Tunnel.git
3. Выполнить команду bundle install
4. Все готово! Можно запускать клиент: ruby client.rb (в параметрах укажите локальный сервер для прослушки и ip адрес сервера)
5. Укажите адрес 127.0.0.1 и указанный вами порт в настройках прокси в браузере либо export https_proxy=127.0.0.1:<port> (Важно чтобы все запросы были https, т.к клиент игнорирует обычные http запросы. Можете поставить принудительное https в настройках браузера)

На данном этапе любой HTTPS запрос отправленный на локалку 127.0.0.1 и указанный вами порт будет отправлен на сервер по TLS туннелю. Если посмотрите подключения через wireshark, то запросы будут выглядеть точно также как если бы вы обращались к обычному сайту на 443 порту.


Если будут вопросы, обращайтесь! Также если хотите лично связаться, вот телега:
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
464
Реакции[?]
118
Поинты[?]
12K
Привет! Очень актуальная тема на нынешний момент. Что касается твоей реализации - она интересная, но к сожалению, ты просто переизобрел прокси, добавив несколько ступеней защиты от провайдера. У твоей реализации есть огромным недостаток, чтобы пользоваться твоей программой, нужно купить VDS, а это деньги. Из этого вытекает следующая проблема - скорость загрузки сайтов из-под туннеля. Для тех, кто ищет способ обхода, который абсолютно бесплатен и не требует каких-либо вложений, то просьба жаловать - GoodbyeDPI от разработчиков AntiZapret, который, кстати, умеет скрывать траффик от OpenVPN, что тоже не мало важно, т.к помогает обходить блокировки VPN. В любом случае, отличная работа, которая требует внимания!
 
Начинающий
Статус
Оффлайн
Регистрация
12 Май 2023
Сообщения
29
Реакции[?]
27
Поинты[?]
25K
Привет! Очень актуальная тема на нынешний момент. Что касается твоей реализации - она интересная, но к сожалению, ты просто переизобрел прокси, добавив несколько ступеней защиты от провайдера. У твоей реализации есть огромным недостаток, чтобы пользоваться твоей программой, нужно купить VDS, а это деньги. Из этого вытекает следующая проблема - скорость загрузки сайтов из-под туннеля. Для тех, кто ищет способ обхода, который абсолютно бесплатен и не требует каких-либо вложений, то просьба жаловать - GoodbyeDPI от разработчиков AntiZapret, который, кстати, умеет скрывать траффик от OpenVPN, что тоже не мало важно, т.к помогает обходить блокировки VPN. В любом случае, отличная работа, которая требует внимания!
Спасибо за отзыв. Да, по сути дела один из самых больших минусов это оплата VDS. Насчет GoodbyeDPI, если я правильно понял то эта утилита использует фрагментацию tcp пакетов и отбрасывает TCP RST ответы с HTTP редиректами. В прочем, это очень иньересно, я скорее всего в ближайшее время тоже добавлю подобного рода функционал.
 
Сверху Снизу