Серия атак TunnelCrack, направленных на перехват трафика VPN

Группа исследователей из Нью-Йоркского университета разработала два метода атаки на VPN, представленных под именем TunnelCrack. Выявленные уязвимости позволяют злоумышленнику, контролирующему беспроводную точку доступа или локальную сеть жертвы, перенаправить на свой сервер запросы к целевому хосту, в обход VPN-туннеля. Атака может быть совершена, например, при подключении через не заслуживающего доверия интернет-провайдера или развёрнутую атакующими беспроводную сеть. В результате атаки злоумышленник может организовать перехват незашифрвоанного пользовательского трафика (соединения устанавливаемые через HTTPS остаются защищены).

Выявленные методы атаки:

  • LocalNet (CVE-2023-36672, CVE-2023-35838) – метод основан на том, что большинство VPN-клиентов допускают прямые обращения к локальной сети. Атака сводится к тому, что подконтрольный атакующему шлюз выдаёт жертве IP-адрес из подсети, в которой находится целевой хост, трафик к которому необходимо перехватить. Сетевой стек системы пользователей считает, что хост находится в прямой достижимости и направляет трафик напрямую на шлюз атакующего, а не через VPN.

    Например, если необходимо перехватить трафик к сайту target.com, который имеет IP-адрес 1.2.3.4, атакующий при подключении клиента к беспроводной или локальной сети определяет диапазон 1.2.3.0/24 в качестве локальной сети и назначает жертве адрес из этого диапазона. Если VPN-клиент допускает прямые обращения к локальной сети, запрос к 1.2.3.4 уходит напрямую на хост атакующего.


  • ServerIP (CVE-2023-36673, CVE-2023-36671) – метод основан на том, что многие VPN-клиенты не шифруют трафик к IP-адресу своего VPN-сервера, чтобы избежать повторного шифрования пакетов. Суть атаки в том, что атакующий, контролирующий локальную сеть и DNS-сервер, может назначить для домена, запросы к которому требуется перехватить, IP-адрес, совпадающий с IP-адресом VPN-сервера. При обращении к целевому домену VPN-клиент посчитает, что имеет место обращение к VPN-серверу и отправит пакеты через VPN-туннель без шифрования.

    Например, если пользователь использует VPN-сервер vpn.com с адресом
    2.2.2.2 и необходимо перехватить трафика к хосту target.com, имеющему адрес 1.2.3.4, атакующий, при наличии контроля над используемым клиентом DNS-сервером, может в DNS выставить для vpn.com адрес перехватываемого хоста 1.2.3.4 (как у target.com). Для обеспечения работоспособности VPN атакующий организует проброс шифрованных запросов к реальному VPN-серверу, попутно анализируя отправляемые вне шифрованного VPN-туннеля запросы к сайту target.com.


Исследователи изучили подверженность атакам 67 VPN-клиентов и пришли к выводу, что первый метод атаки проявляется во всех проверенных VPN-клиентах для iOS, в 87.5% VPN-клиентах для macOS, 66.7% для Windows, 35.7% для Linux и 21.4% для Android. Второй метод атаки затрагивает 88.2% VPN-клиентов для Linux, 81.8% для Windows, 80% для macOS, 80% для iOS и 30% для Android. Наличие проблем также подтверждено в VPN-продуктах компании Cisco: Cisco AnyConnect Secure Mobility Client, Cisco Secure Client AnyConnect VPN и Cisco Secure Client.

Информация об уявимостях была отправлена производителям VPN в апреле и мае. Исправленные версии уже выпущены такими сервисами, как Mozilla VPN, Surfshark, Malwarebytes, Windscribe и Cloudflare WARP. Из подверженных проблеме VPN упоминаются Mullvad VPN, Clario VPN, WireGuard для Windows, Nord Security VPN, Avira Phantom VPN, Ivanti VPN.
Инструкция по проведению экспериментальных атак для проверки своих систем на подверженность уязвимостям опубликована на GitHub.



Release. Ссылка here.