HTTP-заголовок Alt-Svc может применяться для сканирования портов внутренней сети

Исследователи из Бостонского университета разработали метод атаки (CVE-2019-11728), позволяющий осуществить сканирование IP-адресов и открытых сетевых портов во внутренней сети пользователя, отгороженной от внешней сети межсетевым экраном, или определить открытые порты на текущей системе (localhost). Атака может быть совершена при открытии жертвой в браузере специально оформленной страницы. Предложенная техника основана на применении HTTP-заголовка Alt-Svc (HTTP Alternate Services, RFC-7838). Проблема проявляется в Firefox, Chrome и основанных на их движках браузерах, включая Tor Brower и Brave.

Заголовок позволяет серверу определить альтернативный способ обращения к сайту и перенаравить обращение на новый хост, например, для балансировки нагрузки. В том числе возможно указание сетевого порта для проброса, например, указание ‘Alt-Svc: http/1.1=»other.example.com:443″;ma=200’ предписывает клиенту для получения запрошенной страницы соединиться с хостом other.example.org, используя сетевой порт 443 и протокол HTTP/1.1. Параметр «ma» задаёт максимальное время действия перенаправления. Кроме HTTP/1.1, в качестве протоколов поддерживаются HTTP/2-over-TLS (h2), HTTP/2-over plain text (h2c), SPDY(spdy) и QUIC (quic), использующий UDP.

Для сканирования адресов сайт атакующего может последовательно перебирать интересующие адреса внутренней сети и сетевые порты, используя в качестве признака задержку между повторными запросами. В случае недоступности перенаправляемого ресурса браузер мгновенно получает в ответ пакет RST и сразу помечает альтернативный сервис недоступным и обнуляет заданное в запросе время жизни перенаправления. Если сетевой порт открыт то для завершения соединения требуется больше времени (будет возвращён пакет ACK) и браузер отреагирует не мгновенно.

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

Указанный метод позволяет в том числе проверять сетевые порты, занесённые в чёрный список браузера, такие как порты почтовых серверов. Работающая атака подготовлена с использованием подстановки iframe в трафик жертвы и применения в Alt-Svc протокола HTTP/2 для Firefox и QUIC для сканирования UDP-портов в Chrome. В Tor Browser атака не может применяться в контексте внутренней сети и localhost, но подходит для организации скрытого сканирования внешних хостов через выходной узел Tor. Проблема со сканированием портов уже устранена в Firefox 68.

Заголовок Alt-Svc также может применяться:

  • В качестве усилителя трафика при организации DDoS-атак (сервер возвращает больше данных, чем отправил клиент) Например, для TLS перенаправление может обеспечить уровень усиления в 60 раз так как начальный запрос клиента занимает 500 байт, ответ с сертификатом около 30 Кб;
  • Для обхода механизмов защиты от фишинга и вредоносного ПО, предоставляемых такими сервисами, как Safe Browsing (перенаправление на вредоносный хост не приводит к выводу предупреждения);
  • Для организации отслеживания перемещения пользователя. Суть метода в подстановке iframe, ссылающегося в Alt-Svc на внешний обработчик отслеживания перемещения, вызов которого осуществляется невзирая на включение средств для защиты от трекеров. Также возможно отслеживание на уровне провайдеров через использования в Alt-Svc уникального идентификатора (случайные IP:порт как идентификатор) с его последующим анализом в транзитном трафике;
  • Для извлечения сведений об истории перемещений. Подставив на свою страницу iframe с запросом картинки с заданного сайта, использующего Alt-Svc, и проанализировав состояние Alt-Svc в трафике, атакующий имеющий возможность анализа транзитного трафика, может сделать вывод о том, что пользователь ранее уже посещал указанный сайт;
  • Зашумление логов систем определения вторжений. Через Alt-Svc можно вызвать волну запросов к вредоносным системам от имени пользователя и создать видимость ложных атак для скрытия в общем объёме сведений о реальной атаке;

Источник: http://www.opennet.ru/opennews/art.shtml?num=51278