- Точка доступа WiFi с анонимизацией через Tor
- Зачем нужна точка доступа с Tor?
- Настройка точки доступа
- Перенаправление трафика точки доступа в Tor
- Raspberry Pi как точка доступа с Tor
- Практическое применение точки доступа с Tor
- Анализ трафика клиентских устройств
- Анализ сетевой активности приложений
- Настройка Tor в OpenWRT (GLe роутер)
- Tor Bridges Proxy — OpenWrt LuCI модуль
- Установка зависимостей
- Установка luci-app-torbp
- Порты по умолчанию
- Можем использовать в OpenClash:
Точка доступа WiFi с анонимизацией через Tor
Сегодня я покажу, как сконфигурировать точку доступа Wi-Fi с автоматической анонимизацией всего исходящего трафика через сеть Tor, а также покажу некоторые полезные примеры применения такой точки доступа как для простого пользователя, так и для специалиста информационной безопасности.
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Зачем нужна точка доступа с Tor?
В последнее время на фоне массовых блокировок IP-адресов все меньше людей продолжает сомневаться, нужны ли механизмы проксирования и анонимизации в их повседневной жизни. Бесплатных VPN-клиентов появляется все больше, но, как показывает практика, далеко не всем из них безопасно полностью доверять: то качество реализации хромает, то разработчики не слишком добросовестны.
Как известно, Tor «из коробки» предоставляет как механизм проксирования (обхода блокировок), так и продвинутый механизм анонимности. Вся связь между узлами в сети Tor шифруется, а соединение с целевым узлом устанавливается посредством как минимум трех случайно выбранных узлов. Взяв за основу Tor и автоматизировав все процессы, происходящие при подключении к точке доступа (AP — Access Point), в результате мы получим весьма интересный инструмент, польза от которого отнюдь не исчерпывается обходом блокировок.
Настройка точки доступа
Для создания точки нам понадобится какое-нибудь устройство, на котором можно запустить операционую систему (виртуальная машина тоже вполне сгодится). В качестве операционной системы, управляющей точкой, подойдет любой Linux-дистрибутив. Конкретно я буду использовать Debian-based. Для превращения всего этого в точку доступа понадобится WiFi-адаптер.
Если все это выполнено, можно приступать к первичной настройке. Итак, в первую очередь подключаем WiFi-адаптер. Вывод ip addr show wlan0 (wlan0 — имя интерфейса адаптера, может быть другим) должен быть такой, как на скрине.
На данный момент сетевой интерфейс не сконфигурирован. Первым делом активируем WiFi, освободив его от влияния вездесущего Network Manager’а:
Теперь выберем и назначим интерфейсу адаптера IP-адрес, все адреса из маски которого будут назначаться в дальнейшем клиентским устройствам:
Третьим пунктом мы переведем адаптер в режим точки доступа: делать это мы будем одним из наиболее распространенных способов — с помощью утилиты hostapd, позволяющей сконфигурировать программную точку доступа. Hostapd присутствует в большинстве штатных репозиториев.
Далее нужно создать конфиг для hostapd (./hostapd.conf):
После этого уже можно будет запустить hostapd для перевода WiFi-адаптера в режим AP с описанной конфигурацией:
В некоторых версиях hostapd присутствует баг, связанный с блокировкой интерфейса Network Manager’ом и не позволяющий запускать беспроводную точку доступа. В результате запуска hostapd возникает следующая ошибка:
Подробно баг и возможный воркэраунд описан здесь.
Однако по понятным причинам подключиться к точке привычным образом пока будет невозможно.
Для устранения этих причин нам понадобится другая утилита — dnsmasq, которая позволит развернуть службы DHCP и DNS. DHCP сейчас представляет больший интерес. Ставим dnsmasq из стандартного репозитория:
Dnsmasq также нуждается в предварительной настройке (./dnsmasq.conf):
Запускаем DHCP-сервер в составе dnsmasq:
Теперь подключение к WiFi точке доступа становится возможным с любых устройств. Чтобы наша точка наконец заработала в обычном режиме, осталось ответить на главный вопрос: откуда точка будет брать доступ в интернет. Для получения ответа предлагаю взглянуть на скрин ниже. Большинство наших посетителей, так или иначе соприкасавшихся с настройкой сетей, заметят на нем достаточно привычную схему связывания сетей. Именно этот способ мы и будем использовать.
Как видно из рисунка, для доступа в интернет понадобится еще один сетевой интерфейс. Это может быть как Ethernet-подключение (eth0), так и второй Wi-Fi-модуль (wlan1). Например, при создании точки доступа из виртуальной машины такой интерфейс создается автоматически (eth0).
Сейчас у нас готово все, за исключением связи между интерфейсами (обозначенной красной линией). Эта связь представляет собой пересылку пакетов с одного интерфейса на другой. Для тестирования работоспособности нашей AP (точки доступа) пока сгодится и обычный механизм NAT:
На данном этапе AP заработала в обычном режиме: принимает клиентов и предоставляет им доступ в интернет с IP-адреса, выданного нам нашим провайдером. Это, конечно же, замечательно, но для наших целей недостаточно. Поэтому теперь настало время перенаправления всего клиентского трафика в Tor.
Перенаправление трафика точки доступа в Tor
Перед перенаправлением всего трафика AP в Tor необходимо установить сам Tor:
И настроить его как Transparent Proxy с помощью конфигурационного файла (расположенного здесь: /etc/tor/torrc):
Этих настроек для наших нужд вполне достаточно, поэтому можем запускать Tor как сервис:
На текущий момент вывод netstat -tunapl должен быть примерно таким, как на скрине ниже. Мы видим все запущенные нами сервисы на текущий момент.
Если сейчас подключиться к точке доступа, то мы по-прежнему будем выходить в интернет с домашнего IP, поэтому осталось всего-навсего включить проксирование через Tor с помощью iptables:
$ sudo iptables — t nat — A PREROUTING — i wlan0 — p tcp — j DNAT — to — destination 10.0.0.1 : 9040
$ sudo iptables — t nat — A PREROUTING — i wlan0 — p udp — dport 53 — j DNAT — to — destination 10.0.0.1 : 53
Также нужно удалить предыдущее правило, включающее маскарад между сетевыми интерфейсами (NAT):
Двумя новыми правилами мы добились следующего: подмены пункта назначения всего TCP-трафика в момент появления пакетов на сетевом интерфейсе Wi-Fi-адаптера и редиректа DNS-запросов (протокол UDP). Подмененный пункт назначения — запущенный сервис Tor с Transparent Proxy. Стоит обратить внимание, что на этих двух правилах настройка iptables завершается.
Теперь можно убедиться в работоспособности настроенной Tor на точке доступа, посетив с любого подключенного к ней устройства какой-нибудь сервис проверки IP. В моем случае 2ip.ru.
Raspberry Pi как точка доступа с Tor
Raspberry Pi отлично подходит в качестве управляющего устройства точки доступа: всего несколько дополнительных действий с автоматической разверткой конфигурации при старте системы (systemd, initV), и останется всего лишь воткнуть USB-кабель в «розетку» для включения точки в любой нужный момент.
Практическое применение точки доступа с Tor
Имея собственную AP, с которой соединяются клиентские устройства, мы по умолчанию получаем возможность наблюдения за всем трафиком своей сети, как пассивного, так и активного. Перенаправление в Tor — это лишь один из вариантов применения AP в прикладных задачах.
Анализ трафика клиентских устройств
Пожалуй, самый очевидный вариант, который сразу же приходит в голову. Никто не запрещает запустить на AP Wireshark или tcpdump и захватывать трафик конкретного клиента либо всех клиентских устройств сразу до момента перенаправления трафика в Tor. Возможности для захвата здесь ограничены лишь уровнем защищенности конечного устройства, пользователя и приложения. Тема достаточно известная, поэтому подробно на ней останавливаться не будем.
Анализ сетевой активности приложений
В информационной безопасности часто возникает задача проанализировать сетевую активность определенного приложения. Например, у нас имеется мобильное приложение, которое при работе использует несколько известных нам хостов. Мы хотим методом черного ящика проверить, не ведет ли приложение какие-либо скрытые передачи на дополнительные удаленные хосты. Причем на самом устройстве мы это сделать не можем — нет соответствующих прав на уровне ОС. Зато у нас есть точка доступа, находящаяся полностью под контролем и с максимальными правами! Ее использование будет практически аналогично анализу трафика на целевом устройстве. Для этой цели сгодится и tcpdump установленный на Android.
Попробуем исследовать работоспособность приложения без скрытого доступа к каким-либо дополнительным ресурсам. Заранее мы отключили все остальные источники побочного трафика, генерируемого из других приложений.
Скрытые передачи в данном случае не обязательно должны быть вредоносными — это могут быть механизмы антиспама (контроль того, что API приложения действительно используется с мобильного устройства), рекламы и так далее. Мы можем пропускать трафик методом белого ящика — запрещено все, что не разрешено:
Настройка Tor в OpenWRT (GLe роутер)
Chipollino Onion Club
В данной статье, я хотел бы максимально просто и доступно описать процесс настройки вашего роутера для обхода блокировок и анонимной работы в интернете.
К плюсам данного метода можно отнести то, что он не требует никаких настроек в операционной системе вашего компьютера, чтобы весь ваш интернет трафик проходил через сеть тор.
Для реализации данного метода вам понадобится любой роутер, работающий под управлением OpenWrt(Важно, чтобы на роутере хватало памяти для установки необходимых пакетов).
OpenWrt — встраиваемая операционная система, основанная на ядре Linux, предназначенная, в первую очередь, для домашних маршрутизаторов.
Процесс установки OpenWrt на конкретный роутер вы можете найти на различных специализироваанных форумах, в данной статье я не могу описать процесс установки, т.к. он может отличаться на разных типах роутеров.
После того, как вы установили OpenWrt на свой роутер, вам необходимо подключить его к интернету (лично я использую роутер на OpenWrt, в качестве моста).
После подлючения роутера к интернету, вам необходимо подключиться к нему по SSH с вашего компьютера.
На ОС Windows:
Подкючить по SSH на Windows, можно с помощью программы PuTTY:
Скачиваем её, и в окне программы вводим IP-адрес и ssh-логин(root по стандарту) вашего роутера.
На UNIX-подобных системах
На таких системах как: Linux, macOS и BSD системах всё намного проще
Для подключения по SSH необходимо ввести в терминале команду
ssh ssh_логин@ip-адрес_роутера
ssh root@192.168.1.1
После ввода команды, система попросит вас ввести пароль, который вы указали при входе в web-панель роутера.
Если всё было введено верно, вы увидете в своём терминале нечто подобное:
Теперь приступим к установке Tor:
Т.к. данная статья написана с целью максимально быстрой настройки, использовать будем скрипт для автоматической установки и настройки Tor.
В терминале последовательно вводим эти команды(для упрощения понимания выделю отдельные команды разным цветом):
opkg update
opkg install libustream-mbedtls
URL=»https://openwrt.org/_export/code/docs/guide-user/services/tor»
cat tor-client.sh
$(uclient-fetch -O — «$/client?codeblock=0»)
$(uclient-fetch -O — «$/client?codeblock=1»)
$(uclient-fetch -O — «$/client?codeblock=2»)
$(uclient-fetch -O — «$/client?codeblock=3»)
$(uclient-fetch -O — «$/client?codeblock=4»)
sh tor-client.sh
После выполнения этих команд, перезагрузите роутер, теперь ваш роутер перенаправляет весь трафик в сеть тор.
Проверить логи тор можно помощью данной команды:
logread -e Tor
На этом настройка роутера завершена.
Таким образом вы получаете отличное аппаратное решение для анонимизации вашего трафика и обхода блокировок, помните, что тор это не панацея от всех видов деанонимизации, если вы хотите заниматься чем-либо незаконным, используя данный метод, то вам стоит так же установить и настроить obfs4proxy на ваш роутер.
Для того, чтобы зайти на сайты, блокирующие тор-соединения, вам стоит настроить в вашем браузере подключение к SOCKS5 прокси.
Все эти действия были произведены на роутере ASUS RT-N14U на прошивке OpenWrt 19.07.
Tor Bridges Proxy — OpenWrt LuCI модуль
Решил вынести на роутер часть служб, которые были в docker-контейнерах на домашнем сервере. Tor не стал исключением. Одна незадача, готового LuCI модуля с минимальным функционалом под данную задачу в репозитории нет. Что ж, исправим этот недостаток, ниже представляю OpenWrt LuCI модуль для Tor с SOCKS 5 proxy сервером и возможностью работы с мостами. Без функции выходного узла, только SOCKS 5 proxy.
Установка зависимостей
opkg install wget-ssl tor tor-geoip obfs4proxy
Установка luci-app-torbp
cd /tmp wget https://github.com/zerolabnet/luci-app-torbp/releases/download/1.0/luci-app-torbp_1.0-1_all.ipk opkg install luci-app-torbp_1.0-1_all.ipk rm *.ipk
Порты по умолчанию
9150 - порт SOCKS 5 proxy для трафика через сеть Tor
Можем использовать в OpenClash:
- name: "Tor" type: socks5 server: ROUTER_IP port: 9150
Onion Market — свободный р2р-обменник в Telegram. У нас есть XMR, BTC, USDT.TRC20