Zerotier или великолепный инструмент для RedTeam

Всем огромный и радужный привет. Заранее извиняемся за то, что не писали ничего и не постили, уж очень много всего интересного произошло за последние 3 месяца в самоизоляции.

Сегодня хотим Вам поведать про достаточно интересный инструментарий пришедший к нам из-за бугра в виде облачного решения которое как оказалось используют в реальных проектах RedTem команды для объединения сетей.

Ввиду того, что 98% компаний перешли на удаленную работу за прошедшие 3,5 месяца, никто данные компании не освобождал от регулярных процедур в виде тестирований на проникновение от регуляторов и соблюдения международных требований различных международных организаций, к примеру совета PCI DSS с их постоянными и обязательными QSA аудитами.

Мы не стали исключением и пришлось консолидировать участников команды, которые находятся в разных регионах страны в своеобразные виртуальные сети. Поясню это не совсем VPN-туннель, а как выражается сам разработчик — Global Area Networking (или Глобальные Сети) через некие сетевые контроллеры.

!Небольшое предисловие — нам нет разницы как Вы будете использовать сервис, мы лишь освещаем возможности и покажем первичную настройку. Нам никто никогда не платит и не платил за рекламу и этот обзор не исключение. Лишь полезный инструмент в Вашем быту, который может пригодится для облегчения рутинных задач.

Вот ссылочка на документацию разработчика

«Сетевые контроллеры служат центрами сертификации для виртуальных сетей ZeroTier. Файлы содержащие секретные ключи контроллера должны тщательно охраняться и надежно архивироваться. Их компрометация позволяет неавторизованным злоумышленникам создавать мошеннические конфигурации сетей., а потеря — приводит к потере способности контролировать и управлять сетью, фактически делая её непригодной для использования»

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

Но так же и для консолидации подключения команды к примеру к сети заказчика в случае проведения тестирования на проникновение с одновременным аудитом стандартов ISO 27001 и других задач в которых необходимо максимально быстро и безопасно привлечь целую команду специалистов.

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

Звучит просто сказочно, но естественно есть свои плюсы и минусы, и основным минусом является то, что при наших условиях «глобального кибер-щита Казахстана» внезапно могут заблокировать ресурс обеспечивающий консолидацию. Плюсы уже были озвучены выше по тексту, но так же немаловажно, что при работе на физическом объекте, для того, чтобы произвести подключение Вашей команды — Вам достаточно попросить предоставить доступ к одному сервису по стандартному 443 порту или обеспечить свое устройство интернетом любым удобным для Вас способом.

Итак, в рамках офисной работы и иных способов применения данного сервиса предостаточно, но мы поговорим о поверхностной настройке данного сервиса.

Главная страница сервиса https://www.zerotier.com

Страница загрузки клиентской части https://www.zerotier.com/download/

Доступны образы для: Microsoft Windows MSI Installer (x86/x64), MacOS, Apple iOS, Android, Linux (DEB/RPM), FreeBSD, Synology NAS, QNAP NAS, WD MyCloud NAS, Community OpenWRT Port, Docker ну куда же без него…

Страница личного кабинета https://my.zerotier.com, где необходимо зарегистрироваться, запомнить ключ сети и через него будет осуществляться подключение клиентов виртуальной сети и маршрутизация.

Zerotier personal

С установкой клиента на MS Windows проблем ни у кого не возникнет надеемся, так же как и на другие поддерживаемые системы, но вот с установкой на Kali Linux могу возникнуть проблемы, т.к. продукт отсутствует в репозиториях стабильной ветки Kali, а так же отсутствует поддержка вендором.

Исправляется оплошность легким движением букв и символов в терминале кали:

sudo echo 10 > /etc/debian_version

просто меняем название ОС на цифру 10 и стандартный пакетный инсталлятор теперь запустить и будет работать. Сама установка осуществляется с помощью вставки команды в терминал ОС Kali Linux:

sudo curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/[email protected]' | gpg --import && \ if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi

запустить сервис:

sudo service start zerotier-one start

и произвести подключение к общей сети зная ключ сети с личного кабинета:

sudo zerotier-cli join ключ

Так же можно добавить и активировать клиента через личный кабинет и настроить маршрутизацию:

Zerotier routing

Как Вы видите сервис делает всю сложную и рутинную маршрутизазцию за Вас. Вам только необходимо выбрать сегмент Вашей новой сети из предлагаемых вариантов или настроить самостоятельно.

А теперь самое Важное, как мы считаем в процессе настройки маршрутизации. Представьте себе, что Вы аудитор прибывший в офис компании или доверенное лицо, кому компания выдает VPN-туннель для осуществления договорных обязательств, только в единственном числе, а Вам нужно «расшарить» предоставленную сеть членам Вашей команды а Вы работаете с Kali Linux.

За помощью в настройке соединения на Kali Linux и сам сервис благодарим Богдана Лукина (Mister_Bert0ni), а так же в настройке маршрутизации благодарим нашего хорошего друга Кирилла из компании Pacifica.

На сервере или своем компьютере где есть туннель заказчика (образно tun0) и zerotier подключение (образно zt3jnr) в терминале прописываем:

посмотреть сами сетевые интерфейсы Вы можете командами:

sudo ifconfig
ip a

маршрутизацию

Route print -4
route -n

и затем:

sudo iptables -A FORWARD -i zt3jnr -o tun0 -j ACCEPT
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
sudo echo 1  > /proc/sys/net/ipv4/ip_forward

В личном кабинете в разделе Managed Routes добавляете маршрут, как на изображении выше, чтобы все участники сети могли увидеть предоставленный туннельный сегмент сети от заказчика или На стороне клиентских устройств, в случае необходимости прописываем маршрут для доступа в новую чужую сеть через устройство, где 10.0.0.0/8 диапазон сети и 10.241.2.102 IP адрес ПК в Вашей сети с туннелем до заказчика:

sudo route add -net 10.0.0.0/8 gw 10.241.2.102

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

Все большое спасибо за то, что Вы остаетесь с нами, не болейте, находите время для саморазвития и будьте на «белой стороне»!