28 апреля, 2024

Создание своего Tor-сервиса с кастомным Onion-адресом

Содержание:

Упоминание о «глубокой паутине» может вызвать у вас ассоциации с наркотиками, хакерами и другой преступной деятельностью. Несмотря на то, что все это действительно имеется в сети Tor, эта сеть является ценным инструментом для сохранения конфиденциальности и анонимности. Просмотр глубокой паутины и любых скрытых сервисов может быть не сложнее скачивания браузера Tor Browser. В этой статье мы узнаем, как легко разворачивать наши собственные скрытые сервисы и делать их доступными по кастомным onion-адресам.

Шаг 1. Как работает сеть Tor

Доступ в Интернет напрямую без прокси, VPN или другого сервиса, обеспечивающего конфиденциальность, передает информацию относительно линейно. Устройство, подключенное к Интернету через маршрутизатор, следует за серией поисковых запросов по определенному URL-адресу или IP-адресу, а затем получает их контент.

Этот контент может быть зашифрован с использованием HTTPS, SSL или другим способом, но запросы по-прежнему напрямую связаны с IP-адресами на каждом конце транзакции и передаются способом, который может быть проанализирован интернет-провайдером. Короче говоря, ваш интернет-провайдер может увидеть, какие сайты в Интернете вы посещаете.

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

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

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

Чтобы избежать опасности использования выходных узлов, мы можем сделать веб-сайт в виде скрытой службы, который будет доступен только через сеть Tor. Вместо URL или IP-адреса этот сервис будет доступен только через «луковый» адрес, по которому можно будет обратиться только в сети Tor.

Шаг 2. Скрытые сервисы

Браузер Tor доступен на веб-сайте Tor Project для систем Windows, MacOS и Linux/Unix. После установки вы можете открыть браузер и автоматически подключиться к сети Tor.

Мы можем просмотреть наш маршрут, проходящий через сеть Tor, кликнув стрелку раскрывающегося списка рядом с иконкой лука в верхнем левом углу окна. В случае посещения .onion-сайта мы можем увидеть только последние переходы и сам «Луковый сайт», указанный в схеме.

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

Читать также:  Как легко и просто сгенерировать сотни фишинговых доменов

Шаг 3. Создание сервера

Первым шагом при настройке сервера Tor, как и в случае с обычным веб-сервером, будет настройка способа обслуживания HTTP-контента. Хотя мы могли бы использовать обычный веб-сервер по адресу 0.0.0.0 так, чтобы он стал доступен по своему IP-адресу для всего Интернета в целом, мы можем привязать наше локальное серверное окружение к 127.0.0.1, чтобы убедиться, что оно будет доступно только локально и через Тор.

В любой системе, в которой мы можем напрямую вызывать Python-модуль, мы можем использовать модуль http.server. После изменения директории на ту, где расположен контент, который мы хотим разместить, мы можем запустить сервер непосредственно из командной строки.

С Python 3 и модулем http.server мы можем использовать следующую команду для запуска сервера по адресу 127.0.0.1 на 8080 порту:

python3 -m http.server --bind 127.0.0.1 8080

Этого будет достаточно для тестового сервера, но для более серьезного и крупного постоянного проекта будет необходим полный пакет хостинга. Nginx предоставляет серверный бэкенд, который может быть лучше защищен от потенциальных угроз, хотя Apache или другой HTTP-сервер, безусловно, тоже будут работать. Просто убедитесь, что он привязан к 127.0.0.1, чтобы предотвратить его обнаружение через такие сервисы, как Shodan.

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

fing -s 127.0.0.1 -o text,console

Если ваш сервер запущен, то вы должны увидеть вывод, как показано на скриншоте ниже:

Чтобы убедиться в работоспособности сервера, проверим наш локальный адрес (127.0.0.1) или «localhost» в веб-браузере, вставив его в адресную строку браузера и после двоеточия указав номер порта:

http://localhost:8080

Для того, чтобы упростить тестирование сервера, можно создать файл index.html в каталоге, из которого был запущен сервер. Для наших целей подойдет практически любое содержание, даже такое:

<html> 
<body> 
Null Byte 
</ body> 
</ html>

Если сервер работает правильно, то результат будет выглядеть вот так:

Как только локальное серверное окружение будет настроено и доступно по адресу 127.0.0.1:8080, мы сможем связать наш сервер с сетью Tor.

Шаг 4. Создание скрытого сервиса

Нужно установить или убедиться в том, что у нас в системе установлена служба/демон Tor. Автономная служба Tor — это независимый от браузера Tor пакет. Для Linux/Unix он доступен по этой ссылке . В дистрибутивах Ubuntu или Debian с пакетным менеджером apt будет работать следующая команда:

sudo apt-get install tor

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

whereis tor

Это покажет нам несколько директорий, которые Tor использует для конфигурации. Нам нужно найти его конфигурационный файл torrc, который, скорее всего, находится в директории /etc/tor.

Перейдем в эту директорию с помощью команды cd:

cd /etc/tor

Наконец, убедимся, что «torrc» присутствует в этой папке, просто выполнив ls. Если файл torrc присутствует, то мы можем его отредактировать. Для этого можно использовать Vim, emacs или просто nano. Чтобы отредактировать файл в nano, запустите в терминале следующую команду:

nano torrc

Раздел, который нам нужно изменить, идет за этим объявлением:

############### This section is just for location-hidden services ###

Можно сразу перейти непосредственно к этому разделу, нажав Ctrl + W, и вбив location-hidden, а затем нажать Enter. Чтобы перенаправить Tor на наш скрытый сервис, нужно раскомментировать эти две строки:

HiddenServiceDir /var/lib/tor/hidden_service/
 HiddenServicePort 80 127.0.0.1:80

Для этого нужно просто удалить символ «#» в начале этих двух строк.

Читать также:  Как удаленно сделать и получить скриншот экрана

Теперь поправим номер порта, на котором Tor будет искать наш сервер. Если мы используем порт 8080, то, соответственно, нам нужно исправить порт 80 на порт 8080. Т.е. нужно заменить эту строку:

HiddenServicePort 80 127.0.0.1:80

на эту:

HiddenServicePort 80 127.0.0.1:8080

Чтобы сохранить изменения нажмите Ctrl + O и выйдите из редактора, нажав Ctrl + X.

Шаг 5. Проверка Tor-сервиса

Запустив сервер по адресу 127.0.0.1:8080 и изменив файл torrc, мы сделаем наш сервер доступным через Tor, просто запустив службу Tor. Можно сделать это из консоли, введя следующую команду:

sudo tor

При первом запуске Tor с нашей новой конфигурацией будет автоматически сгенерирован .onion-адрес. Эта информация будет храниться в «/var/lib/tor/hidden_service» (или другой директории, если она указана в файле torrc). Можно перейти в эту директорию с помощью команды cd, как показано ниже:

cd /var/lib/tor/hidden_service

После перехода введите команду ls и убедитесь, что в этой директории находятся файлы «hostname» и «private_key». Чтобы просмотреть наш сгенерированный адрес, можно воспользоваться командой cat:

cat hostname

Строка, заканчивающаяся на .onion, является новым адресом нашего скрытого сервиса. Он был сгенерирован автоматически, но мы можем настроить его позже как пожелаем.

Теперь проверим, доступен ли наш сервис в сети Tor. Откройте этот адрес в Tor-браузере. Если адрес ведет на ваш сервер, то все в порядке — вы успешно развернули скрытый сервис!

Шаг 6. Создание кастомного onion-адреса

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

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

Для этой цели есть несколько инструментов. Eschalot и Scallion — одни из наиболее популярных вариантов. Scallion для генерации адресов использует GPU, а Eschalot работает с использованием вордлистов. Для этой статьи мы будем использовать Eschalot.

Начните с клонирования git-репозитория Eschalot:

git clone https://github.com/ReclaimYourPrivacy/eschalot

Дальше перейдите в каталог Eschalot:

cd /eschalot

Наконец, для установки Eschalot запустите команду make:

make

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

./eschalot -vct4 -p null

В этой команде 4 — это количество ядер процессора, которые мы хотим использовать, а null — это префикс или первые символы адреса, который мы ищем. Программа будет генерировать адреса с этим префиксом и большим количеством вариантов суффиксов. Мы можем остановить программу в любое время, нажав Ctrl + C.

Читать также:  Выбираем бюджетный адаптер для взлома Wi-Fi

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

Шаг 7. Добавление onion-адреса к сервису

Первым делом нужно остановить работу нашей службы Tor. Мы можем переключиться в окно, в котором запущен sudo tor, и нажать Ctrl + C.

После этого заменим приватный ключ нашего скрытого сервиса тем, который сгенерировал Eschalot. Вернитесь в директорию /var/lib/tor/hidden_service/ с помощью команды cd, как показано ниже:

cd /var/lib/tor/hidden_service/

В этом каталоге нам придется удалить файл hostname, поскольку он будет заменен файлом hostname, сгенерированным нашим кастомным приватным ключом. Для этого воспользуйтесь командой rm:

rm hostname

Затем скопируйте приватный RSA-ключ, который нам сгенерировал Eschalot, начиная с «—— BEGIN RSA PRIVATE KEY ——» и заканчивая «—— END RSA PRIVATE KEY ——». Этот ключ заменит наш автоматически сгенерированный приватный ключ. Мы можем заменить его с помощью команды cat следующим образом:

cat> private_key

После запуска этой команды кликните правой кнопкой мыши и вставьте ключ в окно командной строки, а затем нажмите Ctrl + D, чтобы записать изменения в файл. Чтобы убедиться, что файл теперь содержит правильный приватный ключ, мы снова должны использовать cat следующим образом:

cat private_key

После обновления приватного ключа мы снова должны запустить Tor с помощью sudo tor и, выполнив команду ls, убедиться, что при его запуске был сгенерирован новый файл hostname. Если файл hostname находится в этой папке, то мы можем проверить, соответствует ли он тому адресу, который мы хотели получить. Выполните в консоли следующую команду:

cat hostname

Если имя хоста соответствует тому адресу, который мы хотели, то можем проверить его работу в Tor-браузере.

Если новый onion-адрес ведет к вашему сайту, то это означает, что вы успешно развернули скрытую службу и создали собственный адрес!

Теперь вы знаете о скрытых Tor-сервисах

Этот процесс может быть воспроизведен практически для любого стандартного веб-сайта или сервиса. Его можно выполнять на виртуальной машине, VPS или даже на Raspberry Pi.

Правильный Tor-сервис должен поддерживаться и защищаться не только Python-сервером, но и другими средствами в сочетании с Nginx или другими серверными технологиями, так же как это осуществляется и в самом Интернете.

Спасибо за внимание! Если у вас есть какие-либо вопросы, то вы можете задать их в комментариях.

Один комментарий к “Создание своего Tor-сервиса с кастомным Onion-адресом

  1. В роутер воткнут «свисток» Билайн, Ip серый, танцы с бубнами вокруг DDNS к результату не приводили…

    По Вашей инструкции установил TOR на роутере с OpenWrt, пробросил порты, вроде все заработало .. Но подозрительно быстро закончился трафик… Подозреваю, что мой роутер стал нодом сети TOR и израсходовал мой трафик на обслуживание чужих TOR запросов…

    или я ошибаюсь и сам израсходовал трафик на всякую хрень?

Добавить комментарий