<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>zsmp0</title><author><name>zsmp0</name></author><id>https://teletype.in/atom/zsmp0</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/zsmp0?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@zsmp0?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=zsmp0"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/zsmp0?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-06-14T05:50:19.229Z</updated><entry><id>zsmp0:Trafficlinux</id><link rel="alternate" type="text/html" href="https://teletype.in/@zsmp0/Trafficlinux?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=zsmp0"></link><title>Шифруем трафик в Linux</title><published>2020-09-05T08:57:33.050Z</published><updated>2020-09-05T08:57:33.050Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://telegra.ph/file/359f47503591c218eb726.jpg"></media:thumbnail><summary type="html">&lt;img src=&quot;https://telegra.ph/file/46d70fda120c47a9b4245.png&quot;&gt;Есть много способов обхода блокировки сайтов и обеспечения приватности в сети. Такие термины, как TOR, VPN, прокси, у всех на слуху. Чтобы подключить и настроить их, не требуется специальных знаний, но существуют и более изящные решения. Сегодня я расскажу о методике обхода блокировок в Linux с маскировкой трафика и покажу несколько скриптов для автоматизации этого. Их можно без труда перенести на Raspberry Pi, чтобы сделать умный маршрутизатор.</summary><content type="html">
  &lt;p&gt;Есть много способов обхода блокировки сайтов и обеспечения приватности в сети. Такие термины, как TOR, VPN, прокси, у всех на слуху. Чтобы подключить и настроить их, не требуется специальных знаний, но существуют и более изящные решения. Сегодня я расскажу о методике обхода блокировок в Linux с маскировкой трафика и покажу несколько скриптов для автоматизации этого. Их можно без труда перенести на Raspberry Pi, чтобы сделать умный маршрутизатор.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Linux предоставляет огромный набор функций для маршрутизации и инструментов ее конфигурирования. Опытные сисадмины знают об этом и используют арсенал Linux на полную катушку. Но и многие даже продвинутые пользователи не догадываются, сколько удобства могут принести все эти замечательные возможности. Сегодня мы создадим таблицы маршрутизации и опишем правила прохода по ним, а также автоматизируем администрирование этих таблиц. Итак, наши творческие планы:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;определимся с тем, что нам требуется: установим необходимые пакеты и разберемся, зачем они нужны;&lt;/li&gt;
    &lt;li&gt;изучим общий принцип работы связки;&lt;/li&gt;
    &lt;li&gt;настроим защищенный канал VPN с использованием OpenVPN + stunnel;&lt;/li&gt;
    &lt;li&gt;составим списки адресов и опишем области их применения;&lt;/li&gt;
    &lt;li&gt;создадим скрипт для быстрого добавления домена или IP-адреса в списки IPSet с добавлением в таблицу маршрутизации и включением в правила перенаправления;&lt;/li&gt;
    &lt;li&gt;используем SSH для предоставления безопасного канала связи в эти ваши интернеты.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;Шифрование трафика в Linux&lt;/h3&gt;
  &lt;p&gt;Что нам понадобится, чтобы все работало, и желательно — комфортно? Само собой, iptables, куда же без него. Еще iproute2, он и позволит нам насоздавать кучу таблиц. IPSet потребуется для того, чтобы не городить огород из множества правил iptables.&lt;/p&gt;
  &lt;h3&gt;Что есть что&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;iptables&lt;/strong&gt; — утилита командной строки. Базовое средство управления работой файрвола для ядер Linux.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;iproute2&lt;/strong&gt; — набор утилит для управления параметрами сетевых устройств в ядре Linux.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;IPSet&lt;/strong&gt; — инструмент для работы со списками IP-адресов и сетевых портов в сетевом фильтре. Формирует список в специальном формате для передачи файрволу.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;stunnel&lt;/strong&gt; — инструмент организации шифрованных соединений для клиентов или серверов, которые не поддерживают TLS или SSL. Stunnel перехватывает незашифрованные данные, которые должны были отправиться в сеть, и шифрует их. Программа работает как в Unix-системах, так и в Windows. В качестве шифрования использует OpenSSL для реализации базового протокола TLS и SSL.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;OpenVPN&lt;/strong&gt; — VPN-сервер с поддержкой шифрования библиотекой OpenSSL. Клиентские части доступны практически на всех платформах. Умеет работать через прокси типа Socks, HTTP, через NAT и сетевые фильтры.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Про все эти утилиты можно отыскать много информации в интернете, причем с примерами настроек в самых разных вариантах. Мы станем использовать iptables для маркировки пакетов. У нас будут два варианта настройки. Первый — когда машина, на которой выполняется обход, сама подключена к VPN. Второй вариант — когда в сети находится узел (виртуалка, Raspberry Pi или любой другой хост с Linux), играющий роль маршрутизатора. Далее мы разберем эти варианты чуть подробнее.&lt;/p&gt;
  &lt;h3&gt;Коротко о двух вариантах&lt;/h3&gt;
  &lt;p&gt;Клиент и сервер будут устанавливать зашифрованный канал связи по 443-му порту (stunnel) и передавать внутри OpenVPN по 995-му порту. Снаружи это должно выглядеть как обычный HTTPS&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/46d70fda120c47a9b4245.png&quot; width=&quot;1042&quot; /&gt;
    &lt;figcaption&gt;Иллюстрация работы stunnel + OpenVPN&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;И вот тут можно реализовать две схемы подключения.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Вариант 1.&lt;/strong&gt; На клиентской машине iptables будет маркировать пакеты неким флагом, если адреса в пакетах и списках IPSet совпадут, и передавать их для маршрутизации.&lt;/p&gt;
  &lt;p&gt;Далее помеченные флагом пакеты будут отправлены по заранее созданной таблице маршрутизации, остальные пойдут по маршруту, заданному по умолчанию. С помощью консоли или небольшого скрипта мы поправим этот список адресов. В зависимости от ситуации списков может быть несколько.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Вариант 2.&lt;/strong&gt; В качестве клиента выступит хост в локальной сети (виртуалка, Raspberry Pi или какое-нибудь другое устройство). Он будет указан в качестве основного шлюза на компьютерах, с которых нужен доступ к ресурсам через VPN. Получив запрос для IP-адреса из списка, шлюз включит NAT и отправит такой трафик в VPN. Остальной трафик будет маршрутизироваться до шлюза по умолчанию без NAT.&lt;/p&gt;
  &lt;p&gt;Для Linux-систем мы можем оставить шлюз по умолчанию и установить у себя IPSet и iproute2, а потом настроить их аналогично настройкам «промежуточного» хоста-маршрутизатора. В этом случае на уровне клиента будет отбираться трафик по тому же списку IPSet. То есть то, что в списке, будет отправляться на промежуточный хост-маршрутизатор и далее в VPN. Остальное будет маршрутизироваться по умолчанию.&lt;/p&gt;
  &lt;h3&gt;Реализация&lt;/h3&gt;
  &lt;p&gt;Предположим, что где-то далеко в облаке у нас уже есть VPS-сервер с Ubuntu или Debian. В других дистрибутивах отличия будут, скорее всего, только в установке необходимых пакетов. Этот хост в нашей конфигурации будет использоваться в качестве сервера VPN. Рекомендаций, какой VPS лучше использовать, в интернетах полным-полно — на разный бюджет, с разными конфигурациями и условиями.&lt;/p&gt;
  &lt;p&gt;Устанавливаем на сервере OpenVPN, stunnel, git:&lt;/p&gt;
  &lt;blockquote&gt;sudo apt install openvpn stunnel4 git&lt;/blockquote&gt;
  &lt;p&gt;Далее воспользуемся готовым скриптом для настройки сервера OpenVPN. Можно, конечно, настроить все вручную, и я советую поступить именно так. Информацию о том, как правильно сконфигурировать OpenVPN, нетрудно отыскать в Сети. Но если нужно получить результат очень быстро и вам не хочется возиться, то вот быстрое решение.&lt;/p&gt;
  &lt;blockquote&gt;git clone https://github.com/Nyr/openvpn-install.git&lt;/blockquote&gt;
  &lt;blockquote&gt;cd openvpn-install&lt;/blockquote&gt;
  &lt;blockquote&gt;sudo ./openvpn-install.sh&lt;/blockquote&gt;
  &lt;p&gt;Получаем скрипт установки и запускаем его. Он поможет вам создать пользовательские ключи и сертификаты, если нужно — изменить адресацию сети. Все очень доступно и понятно. На выходе для каждого пользователя мы получим один файл, внутри которого будет конфигурационный ключ и сертификаты (сервера и пользователя). Передаем этот файл на клиент.&lt;/p&gt;
  &lt;p&gt;Открываем конфигурационный файл сервера OpenVPN и правим его. Выбираем нужный порт — тот, который на сервере будет свободен для подключения. Порт лучше использовать более-менее неприметный (я выбрал 995-й, обычно почтовые порты оставляют открытыми), чтобы клиент мог гарантированно подключиться к VPN-серверу.&lt;/p&gt;
  &lt;p&gt;Вот как будет выглядеть наш конфиг:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/359f47503591c218eb726.jpg&quot; width=&quot;612&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Следующим шагом настроим stunnel:&lt;/p&gt;
  &lt;blockquote&gt;sudo nano /etc/stunnel/stunnel.conf&lt;/blockquote&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/1743c4c1b1aaf6b4b4b3a.jpg&quot; width=&quot;616&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Тут все просто:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;описываем, куда будут сохраняться логи;&lt;/li&gt;
    &lt;li&gt;указываем название сервиса в произвольной форме;&lt;/li&gt;
    &lt;li&gt;выбираем, в каком режиме работает устройство: сервера или клиента. В данном случае client = no указывает на режим сервера;&lt;/li&gt;
    &lt;li&gt;accept = 443 указывает порт, к которому будем подключаться снаружи (443-й порт выбран не просто так — в 99% случаев он всегда открыт, проще прикинуться обычным HTTPS, и нас не заметят даже при &lt;a href=&quot;https://ru.wikipedia.org/wiki/Deep_packet_inspection&quot; target=&quot;_blank&quot;&gt;DPI&lt;/a&gt;).&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Генерируем ключи и сертификаты для stunnel:&lt;/p&gt;
  &lt;blockquote&gt;sudo openssl req -nodes -new -days 365 -newkey rsa:1024 -x509 -keyout stunnelsrv.pem -out stunnel.pem&lt;/blockquote&gt;
  &lt;p&gt;На этом этапе важно помнить, что у нас на стороне сервера работают OpenVPN на порте 995 proto tcp, dev tun0 и stunnel на порте 443. Все остальные настройки — стандартные.&lt;/p&gt;
  &lt;p&gt;Переходим к клиенту:&lt;/p&gt;
  &lt;blockquote&gt;sudo apt install iproute2 ipset stunnel4 git openvpn&lt;/blockquote&gt;
  &lt;p&gt;Все, что нужно, поставили, теперь настраиваем stunnel на стороне клиента:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/6a73b99e889752a824696.jpg&quot; width=&quot;614&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Здесь мы указываем, куда выводить логи, режим клиента включен. С помощью директивы accept мы говорим, на какой адрес и порт передавать соединение и куда, собственно, подключаться клиенту stunnel (опция connect). Ну и какой сертификат использовать.&lt;/p&gt;
  &lt;p&gt;Передаем файл клиента OpenVPN с сервера. Проверяем настройки: используется порт 995, proto tcp, dev tun0. Очень важный момент: нам нужно объявить маршрут до нашего VPS через шлюз по умолчанию. Иначе получится, что stunnel установит соединение, потом подключится VPN и попытается все перенаправить в туннель, но stunnel уже не сможет работать, так как хост и порт будут недоступны. Также отключаем перенаправление всего трафика в VPN, проверяем адрес подключения и порт. Адрес VPN-сервера в конфиге будет 127.0.0.1 — то есть localhost. Подразумевается, что stunnel уже пробросил нужный порт клиента. Должно получиться примерно следующее:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/0eb5a9671024141ac3cd1.jpg&quot; width=&quot;618&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Итак, на сервере и клиенте установлены и настроены OpenVPN и stunnel. Безопасное соединение установлено. Дальше будем рассматривать каждый вариант по очереди.&lt;/p&gt;
  &lt;h3&gt;Вариант 1: клиент VPN на машине пользователя&lt;/h3&gt;
  &lt;p&gt;Первым делом создадим список IP-адресов, который будем использовать далее:&lt;/p&gt;
  &lt;blockquote&gt;sudo ipset -N vpn iphash&lt;/blockquote&gt;
  &lt;p&gt;Добавим в него один адрес для тестов:&lt;/p&gt;
  &lt;blockquote&gt;sudo ipset -A vpn 8.8.8.8&lt;/blockquote&gt;
  &lt;p&gt;Теперь нам необходимо маркировать пакеты с адресами назначения, которые совпадают со списком.&lt;/p&gt;
  &lt;blockquote&gt;sudo iptables - OUTOUT -t mangle -m set --match-set vpn dst -j MARK --set-mark (1 или 0x1)&lt;/blockquote&gt;
  &lt;p&gt;В результате наших действий iptables при совпадении в адресе назначения и адресе из списка IPSet начнет маркировать такой трафик. Дальше создадим новую таблицу маршрутизации, для этого пропишем ее в файле /etc/iproute2/rt_tables с очередностью выше, чем default (253):&lt;/p&gt;
  &lt;p&gt;252 vpn&lt;/p&gt;
  &lt;p&gt;Теперь надо создать правило и маршрут для маркированных пакетов.&lt;/p&gt;
  &lt;blockquote&gt;sudo ip rule add table vpn prio 1000 fwmark (1 или 0x1)&lt;/blockquote&gt;
  &lt;blockquote&gt;sudo ip route add table vpn dev tun0 default&lt;/blockquote&gt;
  &lt;p&gt;Не забываем включить&lt;code&gt;rp_filter&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;для обеспечения асимметричной маршрутизации и разрешаем переброс пакетов между интерфейсами, на случай если кому-то нужно будет предоставить доступ к закрытым ресурсам в локальной сети.&lt;/p&gt;
  &lt;blockquote&gt;sudo sysctl net.ipv4.tcp_fwmark_accept=1&lt;/blockquote&gt;
  &lt;blockquote&gt;sudo sysctl net.ipv4.conf.all.rp_filter=2&lt;/blockquote&gt;
  &lt;blockquote&gt;sudo net.ipv4.ip_forward=1&lt;/blockquote&gt;
  &lt;p&gt;Теперь включим NAT для трафика, который направляется в VPN.&lt;/p&gt;
  &lt;blockquote&gt;sudo iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE&lt;/blockquote&gt;
  &lt;p&gt;Если нужно предоставить доступ из локальной сети через свой VPN, правило iptables нужно немного подправить, а именно перенести в другую цепочку.&lt;/p&gt;
  &lt;blockquote&gt;sudo iptables -I PREROUTING -t mangle -m set --match-set tovpn dst -j MARK --set-mark 0x1&lt;/blockquote&gt;
  &lt;p&gt;В итоге у нас получается, что все адреса из списка IPSet VPN идут через безопасное соединение, остальные направляются через маршрут по умолчанию.&lt;/p&gt;
  &lt;h3&gt;Вариант 2: клиент VPN на маршрутизаторе&lt;/h3&gt;
  &lt;p&gt;Теперь рассмотрим случай, когда VPN-соединение у нас выполняет не клиентская машина, а некий узел в сети и все настроено на нем аналогично примеру выше. Тогда нам нужно либо указать этот узел в качестве шлюза по умолчанию, либо установить на клиентской машине IPSet и iproute2 и правильно ее настроить.&lt;/p&gt;
  &lt;p&gt;В этом случае сработают локальные IPSet и iproute2 и направят на промежуточный сервер-маршрутизатор пакет, а тот сверит адрес назначения со своим списком IPSet и, если обнаружит совпадение, отправит пакет в VPN, если совпадения не найдет — перешлет на шлюз по умолчанию.&lt;/p&gt;
  &lt;p&gt;Неудобство такого приема состоит в том, что нужно дважды вносить IP-адреса в списки. Сначала на сервере-маршрутизаторе, а второй раз — в свой локальный список IPSet. Зато это позволяет более гибко пользоваться маршрутизацией.&lt;/p&gt;
  &lt;p&gt;Стоит также отметить еще один вариант, о котором не говорилось выше. Можно установить на сервер-маршрутизатор VPN-клиент и stunnel, а потом убрать из конфига строку pull-filter ignore redirect-gateway. Тогда весь полученный трафик будет завернут в VPN-туннель. Останется лишь локально вести IPSet для направления нужного трафика через разные шлюзы.&lt;/p&gt;
  &lt;h3&gt;IPSet&lt;/h3&gt;
  &lt;p&gt;Списки IPSet очень удобно использовать, если нужно быстро разрешить либо запретить входящие или исходящие соединения на сервер. Так, например, многие реализуют географическую фильтрацию: проще один раз занести все в списки и одним правилом запретить весь входящий трафик отовсюду, кроме этого списка. Например:&lt;/p&gt;
  &lt;blockquote&gt;sudo iptables -A INPUT -m set --match-set !RU src -j DROP&lt;/blockquote&gt;
  &lt;p&gt;Это правило заблокирует все входящие соединения, кроме адресов из списка ipset RU.&lt;/p&gt;
  &lt;p&gt;IPSet, как видите, удобный инструмент, который значительно сокращает таблицу правил iptables. В частности, хорошо бывает объединять в отдельные списки сети серверов, адреса админов, остальных пользователей и так далее. А потом уже разом запрещать доступ одним и разрешать другим.&lt;/p&gt;
  &lt;h3&gt;Автоматизация после сбоев/перезагрузок&lt;/h3&gt;
  &lt;p&gt;Чтобы не потерять все настроенные нами параметры, добавим в crontab периодическое сохранение правил IPSet и iptables.&lt;/p&gt;
  &lt;blockquote&gt;sudo crontab -e&lt;/blockquote&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/fe3e833cfd74273d462bc.jpg&quot; width=&quot;618&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;И в /etc/rc.local добавим восстановление:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/ab40738d2ff7de720bfd6.jpg&quot; width=&quot;614&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;А теперь напишем скрипт, который будет обходить правила iprule и iproute и в случае, если чего-то не хватает, допишет недостающее. Скрипт можно сделать демоном, чтобы он постоянно висел в памяти и мониторил состояние системы, а можно запускать только при старте ОС. В целом второго варианта вполне достаточно.&lt;/p&gt;
  &lt;p&gt;Исходный код скрипта check вы найдете в архиве по ссылке в конце статьи, а общий его смысл такой: проверяем таблицу маршрутизации и, если маршрута нет, добавляем его. Потом ту же проверку выполняем с правилом таблицы. Затем смотрим правило iptables, которое маркирует пакеты.&lt;/p&gt;
  &lt;p&gt;Напоследок напишем скрипт, который позволит нам более удобно добавлять IP-адреса в списки IPSet, чтобы каждый раз не ломиться в консоль. Этот скрипт выглядит так:&lt;/p&gt;
  &lt;p&gt;#!/bin/bash&lt;/p&gt;
  &lt;p&gt;test=$(zenity --entry --title=&amp;quot;Добавление адреса в ipset списки &amp;quot; --text=&amp;quot;Введите адрес ip или домена&amp;quot;)&lt;/p&gt;
  &lt;p&gt;initip=$(dig +short &amp;quot;$test&amp;quot; -u 1.1.1.1)&lt;/p&gt;
  &lt;p&gt;if [ ! -n &amp;quot;$initip&amp;quot; ]; then&lt;/p&gt;
  &lt;p&gt;zenity --password --title=&amp;quot;Введите пароль администратора&amp;quot; | sudo -S ipset -exist -A vpn &amp;quot;$test&amp;quot;&lt;/p&gt;
  &lt;p&gt;echo &amp;quot;$test&amp;quot; &amp;gt;&amp;gt; /opt/iptovpn.txt&lt;/p&gt;
  &lt;p&gt;else&lt;/p&gt;
  &lt;p&gt;zenity --password --title=&amp;quot;Введите пароль администратора&amp;quot; | sudo -S ipset -exist -A vpn &amp;quot;$initip&amp;quot;&lt;/p&gt;
  &lt;p&gt;echo &amp;quot;$initip&amp;quot; &amp;gt;&amp;gt; /opt/iptovpn.txt&lt;/p&gt;
  &lt;p&gt;fi&lt;/p&gt;
  &lt;blockquote&gt;sudo ipset save &amp;gt; /opt/ipset.rules&lt;/blockquote&gt;
  &lt;p&gt;При запуске мы вводим имя домена или сразу IP-адрес. Скрипт переварит и то и другое, после чего и запихает IP в список IPSet.&lt;/p&gt;
  &lt;p&gt;Также в архиве вы найдете скрипт add_in_file, который читает файл со списком доменов, получает IP и складывает в списки IPSet.&lt;/p&gt;
  &lt;h3&gt;Заключение&lt;/h3&gt;
  &lt;p&gt;Итак, что у нас получилось? А вот что. Мы подняли зашифрованный, «белый» с точки зрения провайдера канал HTTPS. Внутри у него ходит наш OpenVPN. Клиент заворачивает туда то, что нам нужно, и не отправляет того, что не нужно. В принципе, можно написать еще пару правил iptables, в которых указано, кому можно ходить по адресам из заданного списка, а кому нет. Можно указать источники запросов для большей безопасности и для того, чтобы туда, не дай бог, не залез любознательный пользователь. Это реализуется с помощью второго списка IPSet, где придется вбить доверенные хосты, которые будут пользоваться доступом.&lt;/p&gt;
  &lt;p&gt;При желании всю эту не слишком навороченную архитектуру можно развернуть на Raspberry Pi с «Линуксом» и таскать его с собой в качестве маленького маршрутизатора. Он где угодно обеспечит вам надежное, безопасное и шифрованное соединение, до которого никто не доберется.&lt;/p&gt;

</content></entry><entry><id>zsmp0:qaBM1HvpN</id><link rel="alternate" type="text/html" href="https://teletype.in/@zsmp0/qaBM1HvpN?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=zsmp0"></link><title>схема основанная на СИ</title><published>2020-08-29T19:14:11.449Z</published><updated>2020-08-29T19:14:11.449Z</updated><summary type="html">Схема основанная на Социальной инженерии</summary><content type="html">
  &lt;p&gt;Схема основанная на Социальной инженерии&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Социальная&lt;/strong&gt; &lt;strong&gt;инженерия&lt;/strong&gt; — &lt;strong&gt;это&lt;/strong&gt; метод управления действиями человека без использования технических средств.&lt;br /&gt;Метод основан на использовании слабостей человеческого фактора и считается очень разрушительным.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://anonfiles.com/H1j1Y6Pfo3/_txt&quot; target=&quot;_blank&quot;&gt;https://anonfiles.com/H1j1Y6Pfo3/_txt&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>zsmp0:T92b_Bqzt</id><link rel="alternate" type="text/html" href="https://teletype.in/@zsmp0/T92b_Bqzt?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=zsmp0"></link><title>DDoS-атака на сайт при помощи Termux</title><published>2020-08-29T19:12:23.734Z</published><updated>2020-08-29T19:12:23.734Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/74/39/74396444-6802-472b-993b-5d4f9b691c9f.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://telegra.ph/file/a4e48f2472b9aaaa4f86f.png&quot;&gt;Первым шагом будет определение того, что нам понадобится для атаки.</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/a4e48f2472b9aaaa4f86f.png&quot; width=&quot;1200&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3&gt;Шаг 1&lt;/h3&gt;
  &lt;p&gt;Первым шагом будет определение того, что нам понадобится для атаки.&lt;/p&gt;
  &lt;p&gt;Работать мы будем с утилитой под названием Dark Fly. Для установки Dark Fly нам потребуется:&lt;/p&gt;
  &lt;p&gt;1.Прямые руки.&lt;/p&gt;
  &lt;p&gt;2. Андроид устройство с установленным Termux.&lt;/p&gt;
  &lt;p&gt;3. Внимательно читать и выполнять как делаю я.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h3&gt;Шаг 2&lt;/h3&gt;
  &lt;p&gt;Для начала прописываем привычные нам команды :&lt;/p&gt;
  &lt;blockquote&gt;apt update&lt;/blockquote&gt;
  &lt;blockquote&gt;apt upgrade&lt;/blockquote&gt;
  &lt;p&gt;Они устанавливают и обновляют текущие пакеты. Это очень важный шаг&lt;/p&gt;
  &lt;p&gt;Следующим действием будет установка основных языков на котором работает Termux. Это python и python2. Обязательно во время установки со всем соглашаемся, а то ничего не получиться!&lt;/p&gt;
  &lt;blockquote&gt;apt install python&lt;/blockquote&gt;
  &lt;blockquote&gt;apt install python2&lt;/blockquote&gt;
  &lt;p&gt;Следующим действием нужно разрешить установку доп пакетов. Если вы это уже делали то делать это не обязательно. Рекомендую вам почитать про основные команды, устанавливающие важные доп. улиты для более удобного использования!&lt;/p&gt;
  &lt;blockquote&gt;apt install git&lt;/blockquote&gt;
  &lt;blockquote&gt;apt install php&lt;/blockquote&gt;
  &lt;p&gt;Далее мы устанавливаем сами пакеты DarkFly&lt;/p&gt;
  &lt;blockquote&gt;git clone https://github.com/Ranginang67/DarkFly-Tool&lt;/blockquote&gt;
  &lt;p&gt;Открываем папку с установленной улитой.&lt;/p&gt;
  &lt;blockquote&gt;cd DarkFly-Tool&lt;/blockquote&gt;
  &lt;p&gt;Предоставляет все разрешения&lt;/p&gt;
  &lt;blockquote&gt;chmod +x install.py&lt;/blockquote&gt;
  &lt;blockquote&gt;python2 install.py&lt;/blockquote&gt;
  &lt;p&gt;Запускаем команду!&lt;/p&gt;
  &lt;blockquote&gt;DarkFly&lt;/blockquote&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://tgraph.io/file/8dc5b56602093bcfe76ff.jpg&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Следующий раз вам не придется выполнять эти действия! Можете просто вводить DarkFly и все!&lt;/p&gt;
  &lt;h3&gt;Шаг 3&lt;/h3&gt;
  &lt;h4&gt;Установка утилит&lt;/h4&gt;
  &lt;p&gt;Чтобы установить какую-либо утилиту нужно :&lt;/p&gt;
  &lt;p&gt;В писать в выборе пункта цифру 1.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://tgraph.io/file/e8762aec339aa4d594c90.jpg&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Вводим номер 16&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://tgraph.io/file/add283252642c54b265f6.jpg&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Так мы устанавливает простейший DDOS .С его помощью мы сможем положить какой либо сайт.&lt;/p&gt;
  &lt;h3&gt;Шаг 4&lt;/h3&gt;
  &lt;h4&gt;Проверка улиты&lt;/h4&gt;
  &lt;p&gt;Я не получаю вас к каким либо действиям и пишу этот материал только в ознакомительных целях. Я не несу ответственность за совершенные вами действия!&lt;/p&gt;
  &lt;p&gt;Для начала нам нужно выйти из DarkFly.&lt;/p&gt;
  &lt;p&gt;И ввести&lt;/p&gt;
  &lt;blockquote&gt;apt update&lt;/blockquote&gt;
  &lt;p&gt;и перезапустить Termux&lt;/p&gt;
  &lt;p&gt;Далее ввести:&lt;/p&gt;
  &lt;blockquote&gt;ls&lt;/blockquote&gt;
  &lt;blockquote&gt;cd hammer&lt;/blockquote&gt;
  &lt;blockquote&gt;python hammer.py&lt;/blockquote&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://tgraph.io/file/4921f551baea4a24780c1.jpg&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Вот что должно получиться!&lt;/p&gt;
  &lt;p&gt;Выбираем сайт для DDOS, копируем IP адреса этого сайта и вводим :&lt;/p&gt;
  &lt;blockquote&gt;python3 hammer.py [-s] [-p] [-t)&lt;/blockquote&gt;
  &lt;blockquote&gt;-s : server ip&lt;/blockquote&gt;
  &lt;blockquote&gt;-p : port default 80&lt;/blockquote&gt;
  &lt;blockquote&gt;-t : turbo default 135&lt;/blockquote&gt;
  &lt;p&gt;Например:&lt;/p&gt;
  &lt;blockquote&gt;Python3 hammer.py -s айпи сайта -p 80 -t 135&lt;/blockquote&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://tgraph.io/file/bb11c7c3ed53875987946.jpg&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Дальше ждем того, когда сайт прекратит выполнять свои функции!&lt;/p&gt;

</content></entry><entry><id>zsmp0:yBbRkrWeU</id><link rel="alternate" type="text/html" href="https://teletype.in/@zsmp0/yBbRkrWeU?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=zsmp0"></link><title>Разница между VPN, SOCKS, SSH и TOR</title><published>2020-08-29T19:11:26.660Z</published><updated>2020-08-29T19:11:26.660Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/df/63/df632856-86be-4d85-b58e-59b7f3af377e.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://telegra.ph/file/f4d8a4a9a2455ea200c6a.png&quot;&gt;Представьте сцену из остросюжетного фильма, в которой злодей удирает с места преступления по трассе на спорткаре. Его преследует полицейский вертолёт. Автомобиль въезжает в тоннель, имеющий несколько выходов. Пилот вертолёта не знает, из какого выхода появится машина, и злодей уходит от погони.</summary><content type="html">
  &lt;h3&gt;VPN&lt;/h3&gt;
  &lt;p&gt;Представьте сцену из остросюжетного фильма, в которой злодей удирает с места преступления по трассе на спорткаре. Его преследует полицейский вертолёт. Автомобиль въезжает в тоннель, имеющий несколько выходов. Пилот вертолёта не знает, из какого выхода появится машина, и злодей уходит от погони.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;VPN&lt;/strong&gt; — это и есть тоннель, связывающий множество дорог. Никто извне не знает, где окажутся автомобили, въезжающие в него. Никто извне не знает, что происходит в тоннеле. На деле это так :&lt;/p&gt;
  &lt;blockquote&gt;После подключения к VPN, дальнейшие действия в сети происходит от IP адреса сервера к которому Вы подключены. VPN имеет надежное шифрование трафика и поэтому интернет-провайдер не сможет отслеживать твою деятельность в интернете.&lt;/blockquote&gt;
  &lt;h4&gt;ПЛЮСЫ&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Шифрование трафика&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Анонимная работа в сети интернет&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Простота и удобство настройки подключения&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4&gt;МИНУСЫ&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Многие сервисы ведут логи и могут передать при запросе. А бесплатные VPN, так вообще, открыто продают их в даркнете. &lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;&lt;strong&gt;Поэтому используйте исключительно платный VPN!&lt;/strong&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/f4d8a4a9a2455ea200c6a.png&quot; width=&quot;730&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3&gt;SOCKS&lt;/h3&gt;
  &lt;p&gt;Поскольку SOCKS передает все данные от клиента серверу, ничего не добавляя от себя, то с точки зрения web-сервера socks proxy является клиентом. Поэтому анонимность этого типа proxy-серверов всегда является действительно полной. Протокол Socks изначально создавался в качестве надежного средства для анонимной работы в Интернете. Другими словами - это посредник между Вашим компьютером и ресурса к которому Вы делаете обращение. Работая через SOCKS ресурс видит IP SOCKS, а не Ваш.&lt;/p&gt;
  &lt;h4&gt;ПЛЮСЫ&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Дешевый&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Большой выбор локации&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4&gt;МИНУСЫ&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Нет шифрования трафика&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/9049d2facec34fa1fcb96.jpg&quot; width=&quot;638&quot; /&gt;
  &lt;/figure&gt;
  &lt;h1&gt;&lt;/h1&gt;
  &lt;p&gt;SSH позволяет безопасно передавать в незащищенной среде практически любой другой сетевой протокол, таким образом, можно не только удаленно работать на компьютере через командную оболочку. SSH по функционалу тот же самый SOCKS, но с одним существенным и важный отличием - шифрование трафика. Провайдер не сможет отслеживать активность, т.к. SSH обеспечивает надежное шифрование трафика.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/2c8b46f4e53d8deddcc6e.png&quot; width=&quot;1766&quot; /&gt;
    &lt;figcaption&gt;zsmp0 official&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h4&gt;ПЛЮСЫ&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Шифрование трафика&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Дешевле, чем VPN&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4&gt;МИНУСЫ&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Цена выше чем SOCKS&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Сложнее в использовании, чем сокс и впн&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;TOR&lt;/h3&gt;
  &lt;p&gt;Разработчики технологии TOR уже максимально упростили его использование — достаточно скачать Tor Browser, и при его запуске вы автоматически будете использовать сеть Tor. Никаких настроек, команд в командной строке и прочего.&lt;/p&gt;
  &lt;p&gt;Технология ТОР позволяет заходить на сайты и скачивать что-то из сети не оставляя после себя никаких следов. Т.е., когда вы открываете, например, через Tor Browser какой-то сайт, то нельзя будет на этом сайте отследить IP-адрес вашего компьютера (а значит и вас вычислить). Даже ваш интернет-провайдер не поймет (при все желании), что вы на этот сайт заходили (и доказать это будет невозможно). Ну, и сам браузер все следы ваших скитаний по интернету хранить не будет.&lt;/p&gt;
  &lt;p&gt;Как работает TOR? Это называют луковичной маршрутизацией. Смотрите. Существует сеть узлов принадлежащих приверженцам этой технологии. Для передачи данных используются три произвольных узла. Но какие из них? А этого как раз никто и не знает.&lt;/p&gt;
  &lt;p&gt;Тор браузер отправляет пакет первому узлу, причем в нем находится зашифрованный адрес второго узла. Первый узел знает ключ для шифра и, узнав адрес второго, переправляет туда пакет (это как у лука сняли первый слой). Второй узел, получив пакет, имеет ключ для расшифровки адреса третьего узла (сняли еще один слой с лука). Таким образом, со стороны не возможно понять, какой именно сайт вы в итоге открыли в окне своего Tor Browser.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/48376019a2e4e15f2cac7.png&quot; width=&quot;692&quot; /&gt;
  &lt;/figure&gt;
  &lt;h4&gt;Плюсы&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Открытый исходный код&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Надежное шифрование&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Собственный псевдо-домен .onion&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4&gt;Минусы&lt;/h4&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Порой очень высокий пинг (задержка) &lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Возможность перехвата трафика на выходном узле, если конечный веб-сервер не поддерживает ssl либо tls шифрование&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;

</content></entry><entry><id>zsmp0:p04GXJNR1</id><link rel="alternate" type="text/html" href="https://teletype.in/@zsmp0/p04GXJNR1?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=zsmp0"></link><title>Zarp: Инструмент для атак локальной сети</title><published>2020-08-29T19:07:54.440Z</published><updated>2020-08-29T19:07:54.440Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/ba/4b/ba4b13c1-8b21-4de1-8930-126d6c11a427.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://telegra.ph/file/4b4748a6090605f274e3e.png&quot;&gt;Привет всем! Сегодня на рассмотрении у нас репозиторий Zarp. Это мощный инструмент, используемый для сканирования и атаки сетей. Инструмент способен запускать атаки на отказ в обслуживании, отравлять сеть, обнюхивать разные системы, сканировать запущенные сервисы, управлять сеансами и сбрасывать информацию. Установка - далее в статье.</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/4b4748a6090605f274e3e.png&quot; width=&quot;721&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;Привет всем!&lt;/strong&gt; Сегодня на рассмотрении у нас репозиторий Zarp. Это мощный инструмент, используемый для сканирования и атаки сетей. Инструмент способен запускать атаки на отказ в обслуживании, отравлять сеть, обнюхивать разные системы, сканировать запущенные сервисы, управлять сеансами и сбрасывать информацию. &lt;strong&gt;Установка - далее в статье.&lt;/strong&gt;&lt;/p&gt;
  &lt;blockquote&gt;&lt;strong&gt;Прошу обратить внимание!&lt;/strong&gt; Автор данной статьи не несёт ответственности за любые последствия вслед использования предоставленной информации. &lt;strong&gt;Все материалы опубликованы исключительно в образовательных целях!&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;h4&gt;Сначала обновим пакеты:&lt;/h4&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/93a2b878fa793b19750e9.png&quot; width=&quot;1080&quot; /&gt;
  &lt;/figure&gt;
  &lt;blockquote&gt;&lt;strong&gt;pkg update -y &amp;amp;&amp;amp; pkg upgrade -y&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;h4&gt;Качаем гит:&lt;/h4&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/6918f0561610c61fd40a5.png&quot; width=&quot;1080&quot; /&gt;
  &lt;/figure&gt;
  &lt;blockquote&gt;&lt;strong&gt;apt install git&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;h4&gt;Качаем tsu:&lt;/h4&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/855736d42bdc0a809b88b.png&quot; width=&quot;1074&quot; /&gt;
  &lt;/figure&gt;
  &lt;blockquote&gt;&lt;strong&gt;pkg install tsu&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;h4&gt;Установка Zarp:&lt;/h4&gt;
  &lt;blockquote&gt;&lt;strong&gt;git clone &lt;/strong&gt;&lt;a href=&quot;https://github.com/termux-one/zarp.git&quot; target=&quot;_blank&quot;&gt;https://github.com/termux-one/zarp.git&lt;/a&gt;&lt;/blockquote&gt;
  &lt;h4&gt;Открываем папку:&lt;/h4&gt;
  &lt;blockquote&gt;&lt;strong&gt;cd zarp&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;h4&gt;Запускаем:&lt;/h4&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/8c093c492f534682ac4e0.png&quot; width=&quot;1075&quot; /&gt;
  &lt;/figure&gt;
  &lt;blockquote&gt;&lt;strong&gt;sudo ./zarp.py&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Внимательно: &lt;/strong&gt;Понадобятся рут права&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/ff848acd1d1d3fd10f6c8.png&quot; width=&quot;721&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;В Zarp атака TCP SYN требует целевого IP-адреса, номера порта и количества пакетов, используемых для наводнения сети. Предположим, мы хотим атаковать сеть IP 192.168.1.8 с 5000 пакетами в порту № 22.&lt;/p&gt;
  &lt;h4&gt;Мы можем добиться этого следующим образом:&lt;/h4&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/fee1be6ce53f66e12f1f0.png&quot; width=&quot;766&quot; /&gt;
  &lt;/figure&gt;
  &lt;ul&gt;
    &lt;li&gt;5000&lt;/li&gt;
    &lt;li&gt;192.168.1.8&lt;/li&gt;
    &lt;li&gt;22&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Аналогично, мы можем использовать Zarp для других вариантов атаки, таких как атака отравителя через ARP, DNS и DHCP Spoofing. Полные параметры отравителя можно увидеть на следующем снимке экрана.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/a19d2264d1ba17cca2708.png&quot; width=&quot;766&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Инструмент Zarp удобен для тестирования проникновения в сеть, поскольку инструмент обеспечивает глубокий сетевой анализ путем сканирования и запуска различных атак.&lt;/p&gt;

</content></entry></feed>