Вектор атаки TunnelCrack позволяет вытащить трафик за пределы VPN

Вектор атаки TunnelCrack позволяет вытащить трафик за пределы VPN

Вектор атаки TunnelCrack позволяет вытащить трафик за пределы VPN

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

О технике рассказала группа учёных из Нью-Йоркского университета. Специалисты не только объяснили, как может TunnelCrack выступать в атаках, но и опубликовали демонстрационные эксплойты.

Согласно отчёту (PDF), затронут каждый VPN-продукт, установленный как минимум на одном устройстве. В общей сложности исследователи изучили 60 VPN-клиентов и пришли к выводу, что все их iOS-версии уязвимы. Android, кстати, оказался больше защищён в этом смысле.

Фактически речь идёт о несанкционированной маршрутизации сетевого трафика жертвы за пределы защищённого VPN-туннеля. Такой подход позволит кибершпионам анализировать трафик и извлекать из него конфиденциальную информацию.

Обратите внимание, что TunnelCrack не будет представлять для вас проблемы, если вы шифруете соединение ещё до отправки через VPN-туннель. Например, при посещении веб-ресурса, использующего HTTPS, ваши данные должны быть недоступны для описанного экспертами метода.

Этот метод состоит из двух видов атаки, получивших имена LocalNet и ServerIP. На посвящённом TunnelCrack сайте исследователи пишут:

«На macOS- и iOS-устройствах с большой долей вероятности все VPN уязвимы. На Windows- и Linux-компьютерах уязвимо только большинство клиентов. Android оказалась самая защищённая ОС».

Для реализации атаки LocalNet злоумышленник должен создать Wi-Fi- или Ethernet-сеть и заставить жертву подключиться к ней. Когда это произойдёт, атакующий назначит общедоступный IP-адрес и подсеть устройству пользователя.

Если, положим, кибершпион хочет перехватить ваше соединение с IPv4-адресом 1.2.3.4 и присваивает девайсу, допустим, 1.2.3.10, может произойти, по словам экспертов, следующее:

«Поскольку большинство VPN-клиентов допускают прямой доступ к локальной сети, соединение жертвы с 1.2.3.4 будет идти прямо из 1.2.3.10 — через вредоносную сеть, а не через VPN-туннель».

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru