Пропуск в луковую страну. Поднимаем Wi-Fi с проксированием трафика клиентских устройств через Tor

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

WARNING

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

Зачем нам Tor AP?

В последнее время на фоне массовых блокировок IP-адресов все меньше людей продолжает сомневаться, нужны ли механизмы проксирования и анонимизации в их повседневной жизни. Бесплатных VPN-клиентов появляется все больше, но, как показывает практика, далеко не всем из них безопасно полностью доверять: то качество реализации хромает, то разработчики не слишком добросовестны.

Как известно, Tor «из коробки» предоставляет как механизм проксирования (читай: обхода блокировок), так и продвинутый механизм анонимности. Вся связь между узлами в сети Tor шифруется, а соединение с целевым узлом устанавливается посредством как минимум трех случайно выбранных узлов. Взяв за основу Tor и автоматизировав все процессы, происходящие при подключении к точке доступа (далее — AP), в результате мы получим весьма интересный инструмент, польза от которого отнюдь не исчерпывается обходом блокировок.

INFO

Об уязвимостях в прикладном ПО для Tor было упомянуто не раз, в том числе и в новостях на Хакере.

Первичная настройка AP

Для создания точки нам понадобится какое-нибудь устройство, на котором можно запустить операционку (виртуалка тоже вполне сгодится). В качестве операционной системы, управляющей точкой, подойдет любой Linux-дистрибутив. Конкретно я буду использовать Debian-based. Для превращения всего этого в AP понадобится Wi-Fi-адаптер.

Если все это выполнено, можно приступать к первичной настройке. Итак, в первую очередь подключаем Wi-Fi-адаптер. Вывод ip addr show wlan0 (wlan0 — имя интерфейса адаптера, может быть другим) должен быть такой, как на скрине.

Детали сетевого интерфейса адаптера

На данный момент сетевой интерфейс не сконфигурирован. Первым делом активируем Wi-Fi, освободив его от влияния вездесущего Network Manager’а:

$ sudo nmcli radio wifi off
$ sudo rfkill unblock wlan

Теперь выберем и назначим интерфейсу адаптера IP-адрес, все адреса из маски которого будут назначаться в дальнейшем клиентским устройствам:

# ip addr add 10.0.0.1/24 dev wlan0

Третьим пунктом мы переведем адаптер в режим AP: делать это мы будем одним из наиболее распространенных способов — с помощью утилиты hostapd, позволяющей сконфигурировать программную точку доступа. Hostapd присутствует в большинстве штатных репозиториев.

$ sudo apt-get install hostapd

Далее нужно создать конфиг для hostapd (./hostapd.conf):

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


"AseN : Reverse Engineer."

Комментарии (9)

  • А возможно ли сделать то же самое по Windows?

  • Спасибо за статью. Остались некоторые вопросы:
    1. Насколько я понимаю, в качестве DNS сервера выступает tor. Каким же образом тогда работает описанная "Блокировка рекламных сетей с целью повышения анонимности"? Ведь dnsmasq в процессе определения IP адреса не участвует.
    2. Зачем нужно это правило?
    # ...и DNS трафика в отдельности
    $ sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j
    DNAT --to-destination 10.0.0.1:53
    Вы уже указали IP адрес DNS шлюза в dnsmasq.conf:
    # DNS шлюз
    dhcp-option=6,10.0.0.1
    и все DNS запросы от wlan0 уже идут на 10.0.0.1:53

  • На что хочется обратить внимание:
    0. UDP всё равно бежит "по белой дорожке". Т.е. уже не весь трафик идёт через TOR. (Соррян за кэпстов)
    2. После настройки в браузере вы конечно увидите TOR ip адрес, но если не рестартануть терминал (или вкладку) после настройки и попробовать определить глобальный ip адрес через командну строку (curl допустим), то увидите свой белый ip. Не знаю по какой причине это происходит - может терминал при старте грузит все настройки и не обновляет "на горячую".

    • 0. UDP, по моему, с конфигурацией данной в статье вообще не работает - MASQUERADE выключен.

    • Насчет пункта "0". Это действительно так: из UDP трафика через TOR побежит только DNS составляющая, все остальное - через ваш настоящий IP. Пофиксить это в случае необходимости достаточно просто: нужно убрать из второго правила спецификацию порта - "--dport 53".
      По поводу пункта "2". Вероятно, вся проблема кроется в кэшировании(как данных, так и соединений), потому как у меня таких проблем как не наблюдалось, так и не наблюдается. Также помните, что указанные в статье настройки НЕ МАРШРУТИЗИРУЮТ трафик самой точки через Tor - т.е запрашивая свой белый IP с AP вы увидите IP, выданный провайдером.

  • Логичнее было бы развенуть это на openwrt

  • Статья огонь)
    Попробую запилить на распбери

  • А полную версию можно только по подиске получить, есть где бесплатно почитать или нет ?

    • Не жадничай) Тут куча крутых статей, оно того стоит, поверь