30 марта 2021
Можно ли спрятаться за NATом? NAT Slipstreaming 2.0
Опубликованы новые схемы атаки на внутренние узлы сети, находящиеся за NAT, основанные на имитации легитимного трафика по протоколам SIP, H.323, IRC, FTP. Для этих протоколов в составе NAT-маршрутизатора поддерживается технология ALG (Application-Level Gateway), которая обеспечивает ретрансляцию входящих пакетов.
Эксплуатация уязвимости требует первоначального выполнения вредоносного скрипта браузером, запущенным на узле внутри локальной сети жертвы. Вредоносный код (в примере, предоставленном исследователями, — JavaScript) коммуницирует с расположенным в интернете сервером, контролируемым злоумышленниками, таким образом, что механизм ALG сервера NAT открывает временный канал ретрансляции входящих пакетов на выбранный злоумышленником порт узла локальной сети.
Первоначальный вектор, который обнаружил исследователь Сами Камкар (Samy Kamkar), работал для поддерживаемых ALG протоколов, которые не входят в список запрещённых браузером (например, для SIP и H.323, но не FTP и IRC), позволяя злоумышленнику получить доступ к первоначально скомпрометированному узлу (тому, в браузере которого выполняется вредоносный скрипт) по одному из этих протоколов. Ответом разработчиков браузеров стало пополнение списка запрещённых протоколов.
В новом векторе атаки, продемонстрированном Сами Камкаром и исследователями компании Armis, были дополнительно использованы две важные идеи.
Во-первых, как оказалось, браузеры, поддерживающие технологию WebRTC для реализации голосовых и видео-конференций, имели специальную логику работы со следующими протоколами:
- STUN (Session Traversal Utilities for NAT) — позволяет узлу за NAT определять тип NAT, внешний IP и выделенный NAT порт для передачи другой стороне и реализации P2P-соединения;
- TURN (Traversal Using Relays around NAT) — организует временный релей в интернете для трафика узла за NAT, чтобы можно было организовывать P2P-соединения между узлами, находящимися даже за симметричным NAT.
В логике браузеров, реализующей поддержку WebRTC, при обращении к серверам STUN и TURN не учитывались списки запрещенных портов, что фактически открывало возможность из браузера активировать на сервере NAT механизм ALG для запрещённых браузером протоколов, делая узел сети доступным из интернета по одному из этих протоколов.
Во-вторых, использование протокола H.323 для создания сессий аудио- и видео-связи позволило открыть доступ через ALG не только к изначально скомпрометированному узлу сети (на котором в браузере выполняется вредоносный код), но и к любому другому узлу локальной сети, находящемуся за тем же сервером NAT, что и скомпрометированный узел.
Реализация атаки демонстрировалась, в том числе, в технологической сети.
Исследователи проверили и подтвердили уязвимость следующих популярных решений:
- Маршрутизаторы и межсетевые экраны на базе VyOS с ядром Linux версии 4.14+. По протоколу H.323 для атаки извне доступны любые внутренние IP, по протоколу FTP — только любой порт изначально скомпрометированного хоста.
- Различные домашние маршрутизаторы, собранные на базе «старых» ядер Linux (по всей видимости, до v4.14 — исследователями не уточнено и требует дополнительной проверки в каждом конкретном случае). По протоколу H.323 для атаки извне доступны любые внутренние IP, по протоколу FTP — только любой порт изначально скомпрометированного хоста.
- Fortigate FG64 VM, Fortigate 60E firewall appliance, Fortigate CGNAT(версии требуют уточнения). По протоколу H.323 для атаки извне доступны любые внутренние IP, по протоколу FTP — только порты выше 1024 изначально скомпрометированного хоста.
- Сisco ASAv VM (версии требуют уточнения). По протоколу H.323 для атаки извне доступны любые внутренние IP, по протоколу FTP — только порты выше 1024 изначально скомпрометированного хоста.
- Cisco csr1000v VM (версии требуют уточнения). По протоколу H.323 для атаки извне доступны любые внутренние IP.
- HPE vsr1000 VM (версии требуют уточнения). По протоколу H.323 для атаки извне доступны любые внутренние IP, по протоколу FTP — только любой порт изначально скомпрометированного хоста.
- Sonicwall TZ300 (версии требуют уточнения). По протоколу FTP — только порты выше 1024 изначально скомпрометированного хоста.
Атаке, вероятно, подвержено большое количество систем NAT, и приведённый список ни в коем случае нельзя считать окончательным.
Реализация атаки возможна, как минимум, из следующих браузеров:
- Google Chrome v. < 87.0.4280.141 (CVE-2020-16043);
- Microsoft Edge v. < 87.0.664.75 (CVE-2020-16043);
- Mozilla Firefox v. < 85.0 (CVE-2021-23961);
- Safari v. < 14.0.3 (CVE-2021-1799).
Поскольку большинство устройств в технологических сетях промышленных предприятий регулярно не обновляются и часто содержат критические уязвимости, а предприятия больше полагаются на защиту периметра, технологические сети могут оказаться крайне уязвимыми к атаке NAT Slipstreaming 2.0.
Простого решения, гарантированно защищающего потенциально уязвимые инфраструктуры от описанных векторов атаки, на данный момент не существует. Для уменьшения поверхности атаки мы рекомендуем:
- Проверить наличие функциональности ALG на устройствах NAT в сети предприятия. При возможности, отключить ALG для протоколов, в использовании которых нет производственной необходимости. Особое внимание обратить на использование протокола H.323.
- Проанализировать сегментирование сети. Максимально ограничить коммуникации между различными сегментами до абсолютно необходимых.
- Запретить доступ в интернет из сегментов сети, в которых расположено наиболее критически важное оборудование. При возможности запретить доступ в интернет из всех сегментов технологической сети.
- Обновить браузеры на всех устройствах внутри сети предприятия, с которых возможен доступ в Интернет до последних версий (см. выше).
- Ограничить доступ личных мобильных устройств и устройств с неизвестной и неконтролируемой версией браузера к корпоративной сети.
- Использовать средства антивирусной защиты на всех узлах сети предприятия и на периметре предприятия.
- Применять технологию контроля запуска приложений на узлах, чтобы разрешить запуск только версий браузеров, не подверженных различным вариантам атаки NAT Slipstreaming. Запретить запуск браузеров на тех устройствах, где отсутствует производственная необходимость их использования. При возможности использовать режим белых списков приложений, разрешённых к запуску на узлах технологической сети.
- Использовать средства мониторинга сетевого трафика и обнаружения сетевых атак на системы технологической сети предприятия.
Источник: блог Сами Камкара, Armis