Обход роскомнадзоровсих ограничений в линукс

Обновлено: 10.05.2024

Данная заметка пригодится пользователям так называемых "безлимитных" тарифных планов, типа МТС Smart БЕЗЛИМИТИЩЕ, в которых сильно режется торрент-трафик. В данной заметке я опишу лишь один из способов, наиболее простой и незатратный, и тем не менее - работающий.

Заранее хочу предупредить, что у меня данный способ заработал лишь в торрент-клиенте Ktorrent, хотя человек, который мне его посоветовал, утверждал что у него всё работало в qBittorrent. В Transmission вообще нет возможности применить описанное в этой заметке. Так что имейте ввиду. Если у вас всё будет работать на клиенте, отличном от Ktorrent - напишите в комментариях.

Для чего провайдер так поступает? Дело в том, что эти "безлимитные" тарифы, рассчитанны в первую очередь на мобильные устройства, где торрент-трафик - это исключение, а не правило. Торренты очень очень сильно нагружают не только полосу пропускания, но и базовые станции, тем самым пока у вас закачивается фильм или игра - кто-то не может даже почту проверить. И провайдер таким образом меняет приоритет в пользу обычного трафика, а торренты урезает по самые гланды. И если на первых порах можно было обойтись включением шифрования в торрент-клиенте, то сейчас этот способ не работает. Но любителей качать на халяву не остановить никакими заборами, и потому предлагаю вам одно из решений этой проблемы - Tor.

Да да, то, что позволяет заходить на заблокированные сайты, лазить на таких сайтах, о которых обыватель и не подозревает и так далее. Только не путайте Tor и Tor Browser. Первый это свободная и открытая реализация так называемой "луковичной сети", второе - браузер, использующий Tor-сеть. Не будем тянуть кота за все подробности, приступим.

Tor есть в стандартных репозиториях большинства дистрибутивов. Буду юзать Debian 8. Ставим Tor:

sudo apt install tor

После установки он сразу начнёт работать, однако стоит его немного поднастроить. Пример настройки был взят с сайта Rutracker. Открываем файл настроек, сносим всё, что там есть и вставляем необходимое:

sudo nano /etc/tor/torrc

Сохраняем и перезапускаем Tor:

sudo systemctl restart tor

Tor будет использоваться в качестве SOCKS 5-прокси, работающего на порту 9050. Открываем Ktorrent и делаем всё вот так:




Tor не предназначен для торрентов, так как сильно нагружает сеть. Поэтому чтобы не мешать работе как своей, так и Tor-сети, мы выключаем DHT, ограничиваем количество соединений до 20 (меньше не стоит), и вырубаем обмен веб-сидами (тут не уверен на 100%). В итоге скорость загрузке возрастает с 32 килобайт в секунду до полутора мегабайт в секунду! При этом есть интересная деталь: при закачке торрентов не тормозит обычная сеть, и страницы грузятся весьма быстро. На этом всё, вопросы как обычно в комментарии.

Пессимистичные прогнозы что до внедрения так называемого суверенного интернета с использованием технологии DPI не оправдались, но радоваться пока рано. DPI по-прежнему может использоваться провайдерами для блокировки неугодных сайтов, и чтобы обойти такую блокировку, одного VPN будет недостаточно, вернее, VPN в этом случае будет бесполезен. Существует два типа DPI : пассивный и активный.

Активный банально режет пакет, не давая ему дойти до пользователя, пассивный вместо этого подменяет пакет фейковым и переадресует пользователя на страницу-заглушку.

Звучит устрашающе, но не всё так безнадежно как кажется. Сила DPI одновременно является его слабостью, если проверять все байты трафика, скорость соединения может упасть в несколько сот раз, что сделает использование интернета в принципе невозможным. Поэтому система анализа пакетов исследует только наиболее часто встречающиеся запросы, игнорируя нетипичные. На этом и основывается метод обхода DPI . Чтобы сломать DPI , достаточно изменить регистр любого символа в заголовке или добавить в него лишние пробелы.

Обход DPI на Windows, Linux и MacOS

Это консольный инструмент, чтобы его запустить, нужно открыть командную строку от имени администратора, перейти в расположение исполняемого файла и выполнить команду:

goodbyedpi.exe -1 -a

Вместо -1 можно использовать ключи -2, -3 и -4, более подробную информацию ищите на странице разработчика.

GoodbyeDPI

GoodbyeDPI доступна только для Windows.

Второй более удобный вариант предполагает использование утилиты GreenTunnel с графическим интерфейсом.

GreenTunnel

Обход DPI на Android

DPITunnel

На рутированных гаджетах автор приложения рекомендует установить в настройках использование DPITunnel прокси глобально, на устройствах с root в настройках Wi-Fi или APN нужно выставить прокси с адресом 127.0.0.1 и портом, указанным в настройках приложения.

Этичный хакинг и тестирование на проникновение, информационная безопасность

Для выполнения некоторых программ требуются повышенные привилегии – привилегии суперпользователя, права root. А некоторые программы наоборот – не хотят запускаться с повышенными привилегиями. Среди последних на вскидку я могу назвать VLC, Tor Browser, Google Chrome, Chromium.

Почему опасно запускать с root правами VLC, Tor Browser, Google Chrome, Chromium и т.д.?

Главное объяснение – меры безопасности. Например, в теории можно так сформировать медиа поток для VLC media player, что он будет каким-то образом угрожать вашей системе – например, позволит удалённо выполнить команду.

Аналогично с веб-браузерами – в них регулярно находят разные уязвимости, одна из этих уязвимостей может позволить выполнять команды или делать изменения на файловой системе, что, при наличии достаточных прав у веб-браузера, может привести к компрометации (взлому) системы пользователя, у которого он запущен.

Безусловно, это правильные рассуждения, но насколько повыситься уровень угрозы при запуске пары дополнительных программ с правами суперпользователя в системе, где всё остальное (т.е. вообще всё, в том числе другой браузер и другой медиа проигрыватель), работают с правами root? На мой взгляд, это больше риторический, а не практический вопрос.

Насколько опасно работать в учётной записи пользователя root?

Во многих уважаемых источниках (веб-ресурсах, книгах) можно встретить мнение, что работа под root – это так плохо, что уже почти ппц. Это не просто плохо – это уже как в Windows. Также имеется расхожее мнение, что Linux – это какая-то неуязвимейшая система и вам ничего не угрожает, если вы работает под обычным пользователем (по крайней мере, там точно не нужен антивирус).

Обе эти позиции странные. Для выполнения команды, делающий файл исполнимым любым пользователем, не нужны права рута:

Для доступа к настройке автозапуска через crontab -e от имени обычного пользователя не нужны права root’а. Поэтому примерно следующая запись cron может добавить файл в автозагрузку с правами текущего пользователя:

Также не нужны права рута для записи в файл

/.bashrc (это является примерным аналогом автозапуска, но срабатывает только при открытии консоли).

Одного перечисленного достаточно, чтобы установить на систему бэкдор, который будет принимать команды от удалённого атакующего и иметь доступ ко всем файлам пользователя, под которым сделан вход, а также доступ на чтение к некоторым файлам общесистемных настроек.

Само-собой разумеется, имея права суперпользователя можно скомпрометировать систему не только для текущего, но и для всех пользователей, увеличить скрытность (например, используя низкоуровневые методы подключения и туннелирования, методы руткитов для сокрытия и т.д.). Но если уж в веб-браузере есть дыра, позволяющая выполнять команды с правами обычного пользователя или иметь доступ к файловой системе с правами обычного пользователя, то возможна компрометация этого обычного (не root) пользователя. Даже если у него нет прав на выполнении sudo.

Второй причиной, по которой рекомендуют использовать обычную учётную запись – невозможность навредить системе. Это действительно так. Но это супердостоинство, к сожалению, почти полностью нивелируется, если у пользователя всё-таки есть право использовать sudo. Могу показать на своём собственном примере, однажды я перепутал команду

Поскольку я был обычным пользователем, то система не дала мне выполнить вторую команду. Но в поддиректории bin, которая размещается в домашней папке, я запускал программы от суперпользователя. Я подумал, что какая-то из этих программ создала файл, на удаление которого у меня не хватает прав. И перезапустил rm -rf /bin/ добавив к ней sudo. Понятно, что такая невнимательность стоила мне затраченного на переустановку системы времени.

Тем не менее, если вы считаете, что в Kali Linux работа под root’ом в приложениях опасна, то стоит задуматься о смене учётки root на обычного пользователя. Это автоматически разрешит проблему с запуском VLC, Tor Browser, Chromium и т.п. под учётной записью root.

1. Создание и работа под обычным пользователем в Kali Linux

Недостаток этого метода: перед многими командами, которые вы привыкли запускать без sudo, нужно будет добавлять это самое sudo.

Создание нового пользователя в Kali Linux:

Замените new_user на желаемое имя.

Установите для него пароль:

Также замените new_user на выбранное ранее имя пользователя.

Перезагрузитесь и зайдите под только-что созданным пользователем.

Достоинством метода является раз и навсегда решение проблемы с программами, которые не хотят запускаться под рутом, а также возможность полноценного использования Cinnamon.

2. Обход ограничения запуска для любых программ в учётной записи root, запуская их от обычного пользователя

Linux позволяет вам запускать программы от имени других пользователей. Т.е. вы по-прежнему можете использовать учётную запись root, но делать запуск проблемных программ от имени обычного пользователя. Для этого создадим его:

Замените new_user на желаемое имя.

Далее действия очень схожие – установка программы, поиск пути до исполнимого файла, создание ярлыка. Поняв принцип, вы сможете применять этот метод для любой программы, которая не работает под рутом.

Мы будем использовать команду:

В ней /путь/до/файла/запуска меняйте на файл, который будете искать с помощью команды which, new_user на имя пользователя, которого вы создали.

Как запустить Chromium в Kali Linux

Найдите путь файла запуска:


В открывшийся текстовый файл скопируйте-вставьте следующее:

Как запустить VLC в Kali Linux

Найдите путь файла запуска:

Сформируйте команду и сделайте проверку:

В открывшийся текстовый файл скопируйте-вставьте следующее:

Как запустить Google Chrome в Kali Linux

Для 64-битной кали скачиваете файл «64 bit .deb (для Debian/Ubuntu)».

Перейдите в папку со скаченным файлом:

Установите скаченный файл:

Найдите путь файла запуска:

Сформируйте команду и сделайте проверку:

В открывшийся текстовый файл скопируйте-вставьте следующее:

Добавление ярлыков на рабочий стол GNOME 3 в Kali Linux


По умолчанию в Kali Linux нет инструментов для удобного создания ярлыков на рабочем столе. Для создания ярлыка на рабочем столе в GNOME 3 можно воспользоваться обычным текстовым редактором. Создайте текстовый файл на рабочем столе с расширением .desktop. В этот файл скопируйте следующий шаблон:

В нём нужно заменить:

  • Имя программы – на имя, которое вы хотите, чтобы отображалось для ярлыка
  • Команда запуска – путь до исполнимого файла, можно использовать сочетания команд для запуска (как в наших примерах)
  • Пут до файла с изображением – графический файл, который будет иконкой для ярлыка.

Я искал эти файлы прямо в системе, используя программу locate (по ссылке примеры использования этой программы). После установки нового пакета, обновите базу данных:

Чтобы найти нужные изображения, я использовал такие команды как:

При первом запуске ярлыка появится такое предупреждение:


Нажмите «Считать проверенным».

3. Способы удаления проверки запуска программы от root’а

Кроме универсального способа – запуск программы от обычного пользователя, либо переход на использование учётной записи обычного пользователя, у каждой программы есть свои варианты обхода. Например, загрузчиком Tor Browser является скрипт (обычный текстовый файл), в котором проводится проверка, запущена ли программа с правами рута. Поэтому достаточно в этом файле (/opt/Browser/start-tor-browser) строку «id -u» заменить, например, на «echo 1» и Tor Browser будет запускаться от рута.

Для Chromium и Google Chrome имеется ключ --no-sandbox, который позволяет открывать эти программы в Kali Linux без дополнительных манипуляций:

Запуск программы VLC осуществляется бинарным файлом, который можно пропатчить следующей командой:

Также VLC можно скомпилировать самому с флагом --enable-run-as-root.

Заключение

Итак, в этой статье:

  • мы попытались оценить дополнительные риски опасности, возникающие при запуске программ с правами суперпользователя;
  • научились создать обычных пользователей в Linux;
  • узнали, как можно запустить VLC, Google Chrome, Chromium и любые другие программы в Kali Linux будучи root’ом (о том, как запустить Tor Browser в Kali Linux смотрите здесь);
  • (бонус) научились создавать пользовательские ярлыки на рабочем столе Kali Linux.

Если у вас трудности с какой-то другой программой, которая не хочет запускаться в Kali Linux под рутом, то пишите её название здесь в комментариях – будет добавлена инструкция для решения этой проблемы.

Обход блокировок и ограничений операторов

Прикрепленное изображение

Внимание! Обязательно к ознакомлению до прочтения остальной части шапки и до написания вопроса

  • Имеется в наличии "Устройство" - донор (название/наличие рут/какая ОС/тариф)
  • Раздача ведется на "Устройство(а)" (ПК, смартфон, планшет, smart tv и др.)

  • IMEI - уникальный номер, использующийся для идентификации в сети телефонов, спутниковых телефонов, модемов и другого оборудования, использующего сим-карту для подключения. Представляет из себя последовательность из 15 или 17 цифр. Может быть изменен.
  • TTL - параметр, определяющий время жизни каждого пакета, или же число прыжков между маршрутизаторами, которое пакет может пройти. Каждый проход через маршрутизатор снижает значение на 1. При значении 0 пакет уничтожается. Значение может быть изменено в диапазон от 1 до 255.
    DPI - специальная технология накопления статистики проходящего трафика, позволяющая анализировать, фильтровать, блокировать трафик. В рамках заданной темы DPI опасен тем, что несмотря на смененные emei, измененные ttl, с легкостью определяет раздаваемый трафик, p2p-трафик, после чего происходит блокировки трафика или искусственное замедление скорости.
  • VPN - виртуальная частная сеть, набор технологий, реализующих так называемый туннель, по которому весь наш трафик идет из точки А в точку Б. В нашем случае полезен тем, что весь трафик шифруется, за счет чего DPI технологии провайдера не видят, какой трафик мы передаем (читайте: спокойно раздаем интернет; торренты работают)
Каким же образом оператор узнаёт, что мы раздаем интернет или же скачиваем торренты?

    Самый главный из них - TTL. Как я писал выше, каждый скачек пакета через маршрутизатор уменьшает значение ttl на 1, поэтому, когда с одного устройства приходят пакеты с разными значениями ttl, это означает раздачу трафика (ваш модем, роутер, планшет и т.д. при раздаче считаются маршрутизатором, имея свой IP)

Прикрепленное изображение

    О: Вам необходимо сменить IMEI от смартфона или лучше от Виндофона с поддержкой 4G.
    О: Способ смены можно найти в теме своего устройства, а IMEI взять тут.
    О: Для этого необходимо зафиксировать ttl на раздающем(доноре) или менять ttl на принимающих устройствах.
    О: Способ смены ttl можно найти в теме своего устройства, а на что лучше сменить - читаем ниже
    О: Необходимо настроить VPN или другие сервисы по шифрованию трафика.
    О: Заходим в раздел Инструкции и решения для обхода блокировки p2p-трафика.
Фиксация TTL на любом роутере под управлением OpenWRT
Чтобы сработала команда: iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64 необходимо наличие пакетов: iptables-mod-ipopt installed и kmod-ipt-ipopt

Подборка решений для различных моделей модемов

Через терминал набрать sysctl -w net.inet.ip.ttl=65

Дабы не вызывать подозрений, изменять IMEI желательно на IMEI от Windows Phone (Важно! Изменять на IMEI от Windows Phone нужно только в том случае, если раздача ведется на ПК с ОС Windows или XBOX. Во всех других случаях нужно менять на IMEI от телефона на Android. Внимание! Если вы взяли IMEI от Windows Phone, фиксировать TTL нужно на значение 128, если IMEI от телефона Android, то фиксировать нужно на значении 64! )

В основном, инструкции по смене IMEI есть в темах большинства устройств, но если нет, идем сюда Хочу сменить IMEI (полезно изучить всем)

Проверить свежесгенерированный IMEI на реальное существование можно здесь

Инструкции и решения для обхода блокировки p2p-трафика С тем, что такое DPI, кратко вы можете ознакомиться здесь. Более подробно можно прочитать тут. Далее будут представлены инструменты для разных платформ.
Отлично работающая программа, позволяющая обходить большинство известных систем DPI, как пассивного типа, так и активного.
Описание и инструкция по настройке
Последнюю версию всегда можно скачать здесь Еще одна утилита активного обхода DPI с графическим интерфейсом, использующая для обхода локальный прокси-сервер на вашем ПК.
Описание и настройка
WIKI по PowerTunnel
Последняя версия всегда здесь Аналог GoodbyeDPI под любые Linux системы с systemd, а так же под OpenWRT.
Описание, настройка и установка

Прикрепленное изображение

DPI Tunnel - это приложение для Android, которое использует различные методы для обхода систем DPI (Deep Packet Inspection), которые используются для блокировки некоторых сайтов. Выражается благодарность sergeykk и ilya-fedin за предоставленную информацию!
А еще от всего сообщества,да и от всех пользователей модемов и роутеров в мире(и это не преувеличение) хочу поблагодарить Рустама(RUST3028) за весь его труд,мне не хватит жизни чтобы все перечислить.
Спасибо Рустам и всего Вам наилучшего. Куратор темы - Kodekc. По вопросам наполнения шапки обращайтесь в QMS
Активность в теме Обход ограничений раздачи мобильного интернета YOTA

Прикрепленное изображение

1. В шапке темы собрано огромное количество информации по обходу ограничений Yota. С вероятностью 99% ответ на ваш вопрос уже есть. Уважайте других участников и труд модераторов. Посты, содержащие вопросы, ответы на которые есть в шапке, удаляются без предупреждения.
2. В теме не обсуждаются:
-другие операторы
-вопросы по конкретным устройствам, в частности - модемам и роутерам. Ищите тематические форумы и задавайте вопросы там
3. Большая просьба не флудить в теме, рассказывая "а вот у меня. ". Если очень сильно хотите поделиться опытом - указывайте подробно устройства, механизм обхода ограничений, что произошло и т.д. Кураторы и модераторы оставляют за собой право удалять посты, которые кажутся им флудом, без объяснения причин.
4. Обратите внимание на верхнюю часть шапки: Yota как оператор, торренты и VPN обсуждаются в других темах, имейте это в виду.
5. В 3G практически везде шейпится медиаконтент. Это значит, что Speedtest будет показывать удовлетворительную/запредельную скорость, но YouTube вы сможете смотреть в минимальном качестве. Обходить только с помощью VPN. Опираясь на существующие тарифы, весь трафик и наблюдение за ним разбиты на три группы: модем, планшет, смартфон.
В настоящий момент ограничение раздачи присутствует только на безлимитном тарифе для смартфона. Соответственно, во всех остальных случаях нет необходимости осуществлять какие-то дополнительные действия, интернет будет работать, в т.ч. при раздаче со смартфона до исчерпания пакета трафика. Инструменты и способы определения раздачи оператора Yota Практические шаги находятся под спойлерами ниже, здесь только теория
Вся информация актуальна для любого региона, т.к. анализ производится на крупных магистральных серверах, настройки которых идентичны и обновляются параллельно
  • Первый и самый очевидный анализируемый параметр- TTL. Пакеты с разным ttl от одного устройства в одной сессии=раздача.
Краткий комикс по принципу работы TTL в сетях Yota (и не только)

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

  • IMEI. Так как используется тариф для смартфона- оператор ожидает увидеть именно его, и imei на раздающем устройстве должен быть от смартфона. Для дополнительной надежности можно выбрать imei от windows phone.
  • Определение и анализ приложений/сервисов, которые пытаются получить доступ в сеть.
    Большинство программ, приложений и сервисов, так или иначе имеющих возможность или требующих для своей работы доступ к сети, используют специфичные адреса/домены для своих запросов и/или имеют уникальные отличительные особенности структуры и состава пакетов передаваемых данных. Именно благодаря этому оператор имеет возможность, проанализировав траффик, сделать вывод о том, что происходит раздача. Например, соединение с игровыми серверами playstation или настольной версии продукта adobe явно не характерно для смартфона и срабатывает как триггер анализатора и детектора раздачи.
Пример категорированного дерева сервисов и изменения списка сигнатур Для обхода этой системы существует три способа:
-использование VPN (плюс: возможность пользоваться любыми сервисами, не боясь детекта; минус: вероятно меньшая скорость соединения за счет шифрования, ограничений самого vpn сервера, а так же низкого приоритета такого трафика у оператора)
-использование firewall, разрешая доступ в сеть только браузерам/приложениям, не вызывающим подозрений (плюс: простота настройки, стабильность, минус: все специфичные приложения не имеют доступ к сети)
-использование файла hosts или аналогов (плюсов практически нет, надежность и стабильность непредсказуемы, в готовых списках много устаревших неактуальных записей)

IMEI нужно менять на IMEI от windows-фона. Таким образом трафик на windows-ресурсы с ПК не вызывает подозрений, так как примерно на те же ресурсы ходят и мобильные Windows-устройства.
Как сменить IMEI ищите в теме вашего устройства , можно так же заглянуть: Хочу сменить IMEI, сюда, сюда, сюда или сюда

Генераторы WIN IMEI: первый, второй, а так же IMEI генератор, в частности на Lumia
Если хотите в НЕпланшете тариф для планшета - берите IMEI, соответственно, от планшета: генератор IMEI от win планшета

Важно!
Сменить IMEI на iPad либо крайне проблематично, либо невозможно. Задавать в этой теме вопросы бессмысленно .
Т. к. Xposed умеет только изменять все, что в пределах виртуальной машины Android, то смена IMEI модулем Xposed - есть ничто иное, как фикция. Модуль просто подменяет IMEI программам, которые запрашивают его. При этом, к оператору уходит обычный IMEI, т. к. сеть работает на гораздо более низком уровне.
Несколько слов о смене IMEI на различных устройствах

Читайте также: