Эксперты Leviathan раскрыли детали атаки TunnelVision, позволяющей перенаправить VPN-трафик через манипуляции с DHCP

6 мая 2024 года исследователи по ИБ из Leviathan в рамках подробного технического описания сетевого инцидента раскрыли детали атаки TunnelVision , позволяющую злоумышленнику перенаправить VPN-трафик через манипуляции с DHCP при наличии доступа к локальной сети или контроле над беспроводной сетью.

Атака TunnelVision позволяет осуществить перенаправление на свой хост трафика жертвы в обход VPN (вместо отправки через VPN трафик будет идти в открытом виде без туннелирования на систему атакующего). Проблеме подвержены любые VPN-клиенты, не использующие изолированные пространства имён сетевой подсистемы (network namespace) при направлении трафика в туннель или не выставляющие при настройке туннеля правила пакетного фильтра, запрещающие маршрутизацию VPN-трафика через имеющиеся физические сетевые интерфейсы.

Согласно данным OpenNET, суть атаки заключается в том, что атакующий может запустить свой DHCP-сервер и использовать его для передачи клиенту информации для изменения маршрутизации. В частности, атакующий может воспользоваться предоставляемой в протоколе DHCP опцией 121 (RFC-3442, принят в 2002 году), предназначенной для передачи сведений о статических маршрутах, для внесения изменений в таблицу маршрутизации на машине жертвы и направления трафика в обход VPN.

Перенаправление осуществляется через выставления серии маршрутов для подсетей с префиксом /1, которые имеют более высокий приоритет, чем применяемый по умолчанию маршрут с префиксом /0 (0.0.0.0/0), соответственно, трафик вместо выставленного для VPN виртуального сетевого интерфейса, будет направлен через физический сетевой интерфейс на хост атакующего в локальной сети.

Атака может быть осуществлена в любых операционных системах, поддерживающих 121 опцию DHCP, включая Linux, Windows, iOS и macOS, независимо от используемого протокола VPN (Wireguard, OpenVPN, IPsec) и набора шифров. Платформа Android атаке не подвержена, так как не обрабатывает опцию 121 в DHCP. При этом атака позволяет получить доступ к трафику, но не даёт возможность вклиниться в соединения и определить содержимое, передаваемое с использованием защищённых протоколов уровня приложений, таких как TLS и SSH, например, атакующий не может определить содержимое запросов по HTTPS, но может понять, к каким серверам они отправляются.

Для защиты от атаки TunnelVision можно запретить на уровне пакетного фильтра отправку пакетов, адресованных в VPN-интерфейс, через другие сетевые интерфейсы; блокировать DHCP-пакеты с опцией 121; использовать VPN внутри отдельной виртуальной машины (или контейнера), изолированной от внешней сети, или применять специальные режимы настройки туннелей, использующие пространства имён в Linux (network namespace).

Видео с примером PoC (proof of concept):

Репозиторий на GitHub: Lab Setup Code. TunnelVision: Decloaking Routing-Based VPNs с набором скриптов для экспериментов с проведением атаки TunnelVision.

DHCP Server image: TunnelVisionVM.ova.

Материал опубликован при поддержке сайта habr.com
Комментарии

    Актуальные новости по теме "Array"