Найти в Дзене
IT Проповедник

Пропускаем трафик через Tor

Бывают случаи, когда очень нужно сменить свой IP-адрес, например, обойти блокировку провайдера, либо анонимно посетить тот или иной ресурс. Конечно, можно воспользоваться VPN — это действительно хороший способ, когда VPN проверенный. Но что, если не хочется покупать, а бесплатным не доверяешь? На эту тему можно много болтать, и речь совсем не об этом. Я хочу показать, как пропускать весь свой трафик через сеть Тор. Proxychains Это первый из двух инструментов, про которые хочу рассказать. Служит он для перенаправления запросов, полученных от команды, переданной в параметре, через указанный в конфиге прокси. Перейдем сразу к примеру, чтобы стало понятно. Установка Установим для начала proxychains следующей командой: sudo apt install -y proxychains Кстати, я работаю с Debian, но установка не должна сильно отличаться на других дистрибутивах (на бубунте так вообще такая же будет) Теперь проверим, что все установилось: Получили версию программы, значит все ок. Но возникает вопрос, а как за
Оглавление

Бывают случаи, когда очень нужно сменить свой IP-адрес, например, обойти блокировку провайдера, либо анонимно посетить тот или иной ресурс. Конечно, можно воспользоваться VPN — это действительно хороший способ, когда VPN проверенный. Но что, если не хочется покупать, а бесплатным не доверяешь? На эту тему можно много болтать, и речь совсем не об этом. Я хочу показать, как пропускать весь свой трафик через сеть Тор.

Proxychains

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

Перейдем сразу к примеру, чтобы стало понятно.

Установка

Установим для начала proxychains следующей командой:

sudo apt install -y proxychains

Кстати, я работаю с Debian, но установка не должна сильно отличаться на других дистрибутивах (на бубунте так вообще такая же будет)

Теперь проверим, что все установилось:

-2

Получили версию программы, значит все ок. Но возникает вопрос, а как завернуть трафик через Тор? Для этого мы установим его в качестве системного сервиса. Делается это не сложно следующей командой:

sudo apt install tor

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

-3

Видим, что горит active — значит сервис запущен. В противном случае нужно будет добавить его в автозагрузку и запустить вручную:

sudo systemctl enable tor; sudo systemctl start tor;

После этих команд можно проверить статус сервиса (как было выше) и удостовериться, что все запущено.

Отлично. Теперь настроим proxychains, чтобы перенаправлял весь наш трафик через тор. Для этого пойдем в файл /etc/proxychains.conf:

-4

Спускаемся в самый низ и видим место, где определяется список проксей, через которые нужно пропускать трафик. Тут уже по дефолту будет стоять socks4 127.0.0.1 9050. Это значит, что proxychains уже готов к использованию в нашем контексте.

В случае же, если у вас прокся находится в другом месте (другом IP) либо другом порту, то тут стоит это прописать. Тут еще есть много интересных настроек, например:

-5

Я сейчас говорю о random_chain, strict_chain, dynamic_chain — это настройки того, как использовать те прокси, которые вы указали. Либо использовать по одному, либо выбирать рандомно и строить цепочки или идти по каждой указанной проксе. Тут есть описание, можно почитать.

Также иногда proxychains обвиняют в DNS leaks. Однако тут видно опцию proxy_DNS, которая перенаправляет все DNS запросы так же через прокси. Я предлагаю не разбрасываться словами и проверить это на деле.

Использование

Как я уже сказал, proxychains у нас настроен, системный сервис Tor запущен, давайте попробуем совершить два запроса на определение IP-адреса и сравним результаты. Кстати, proxychains запускается так: proxychains <программа> [аргумент] [аргумент]. Выглядит несложно. Попробуем (сначала без прокси):

-6

Теперь запустим с проксированием трафика через Тор:

-7

При этом мы видим, как проходит каждый сетевой запрос. При использовании Proxychains наш IP-адрес изменился (конечной точкой стал выход из какой-то случайной ноды Тора).

Абсолютно таким же образом мы можем запускать любую программу, включая браузер (я использую Mozilla Firefox):

-8

Давайте проверим IP адрес на каком-нибудь сайте (2ip.ru):

-9

Видим, что у нас новый IP-адрес. При этом веб-сервис определил, что мы заходим с тора. Давайте теперь проверим на DNS leaks, как это делалось в статье:

-10

Как мы видим, DNS у нас ходят там, где и определен IP. Но что мы видим! Технологии WebRTC полностью слили мой IP-адрес! Более того, они слили адрес моей виртуальной машины (с которой я все показываю) в локальной сети! Это сюрприз даже для меня, и я не думал о таком, когда садился писать статью. Однако proxychains тут не при чем. То есть если мне действительно важно полностью скрыть свой IP, то нужно настроить еще и браузер. Для отключения WebRTC я использовал инструкцию этих товарищей. Проверим теперь:

-11

Отлично! Теперь мой адрес точно скрыт! И нет никаких DNS leaks. То есть зря кричали на proxychains. Кстати, IP-адрес тоже сменился. Это связано с тем, что цепочка нод в сети Тор, по которым я отправлял запросы, перестроилась. Делается это не слишком часто. ниже я опишу, как делать это каждые 10 секунд.

Torghost

Недавно наткнулся на этот инструмент и обнаружил его крайне удобным. Помимо этого он очень прост в установке (намного проще предыдущего примера).

Установка

Начала получим репозиторий из гитхаба (кстати, сначала нужно установить git):

git clone https://github.com/SusmithKrishnan/torghost.git

После этого заходим в папку torghost (она появится после клонирования репозитория) и делаем файл build.sh исполняемым:

cd torghost; chmod +x build.sh

Запускаем установку:

sudo ./build.sh

Установщик сам подтянет все зависимости и поставит Тор. На этом установка закончена!

Использование

Инструкция использования крайне проста:

  • torghost -s (—start) — запуск
  • torghost -x (—stop) — остановка
  • torghost -r (—switch) — смена IP-адреса
  • torghost -h (—help) — справка

Запустим программу и проверим наш адрес все тем же curl:

-12

Видим, что все отлично работает. Проверим теперь на DNS leaks:

-13

Видим, что все отлично. Одним сильным преимуществом данного инструмента является то, что можно менять выходную ноду тора с помощью —switch. Это очень удобно, если вы хотите совершать много запросов в какому-нибудь сервису (например, тестировать WAF). При этом не нужно собирать список проксей. Запустим следующий однострочник:

for ((;;)) do torghost —switch; done

и смотрим результат:

-14

Видим, что наш адрес меняется теперь каждые 10 секунд.

Единственным минусом инструмента является то, что его нельзя настроить в качестве какого-нибудь внешнего шлюза, чтобы через него проксировать трафик с других систем. В нашем же случае (когда хотим проксировать только свой) подходит идеально.

Подписывайтесь на нас в Яндекс.Дзен

Источник: IT Проповедник