- PVSM.RU - https://www.pvsm.ru -

Критическая уязвимость позволяет перехватывать весь сетевой трафик пользователей Windows

Критическая уязвимость позволяет перехватывать весь сетевой трафик пользователей Windows - 1 [1]

Исследователи из ИБ-подразделения компании Tencent под названием Xuanwu Lab обнаружили [2] серьезную ошибку в реализации протокола NetBIOS, использующейся в Windows. Критическая уязвимость получила название BadTunnel — она позволяет злоумышленникам полностью контролировать сетевой трафик жертвы.

В чем проблема

BadTunnel позволяет злоумышленникам контролировать не только HTTP и HTTPS-запросы, но и всю сетевую активность операционной системы. Например, вмешиваться в загрузку системных обновлений и процесс получения списков сертификатов. Уязвимы все версии ОС Windows.

По словам обнаружившего уязвимость исследователя Яна Ю (Yang Yu), перенаправление трафика жертвы может осуществляться с помощью поддельного WPAD-файла (Web Proxy Auto Discovery) или ISATAP-сервера.

Разбор возможной атаки

Эксперты Positive Technologies описали возможную атаку с применением уязвимости BadTunnel. Для ее осуществления необходимо убедить жертву открыть хотя бы один UNC или URI путь — это может быть адрес вредоносного сайта, адрес папки или документа. В этом случае будет использоваться NetBIOS over TCP/IP, а не стандартные сокеты.

Путь должен содержать в себе ip-адрес сервера атакующего, например:

<img src=\10.10.10.10BadTunnel>

При обработке этого адреса первоначально будут отправлены запросы на порты 139 (NetBIOS Session) или 445 (Microsoft-DS Active Directory, Windows shares). Если эти порты будут закрыты, то жертва отправит NetBIOS Name Service (NBNS) NBSTAT сообщение на 137 порт, тем самым открывая UDP-тоннель и позволяя злоумышленнику слать запросы прямиком жертве, минуя NAT и Firewall.

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

Через некоторое время после того, как уязвимый компьютер примет фиктивный ответ на WPAD запрос — он начнёт искать настройки прокси по адресу WPAD. После их нахождения происходит подключение и злоумышленник получает полный контроль над трафиком жертвы.

Почему это возможно

Эксперты Positive Technologies так объясняют возможность проведения описанной атаки:

  1. Поле Transaction ID в NBNS-запросах не рандомизируется, а инкрементируется, поэтому атакующий может его подобрать.
  2. NBSTAT и NB-запросы инкрементируются вместе (один счётчик).
  3. NBSTAT-сообщения по умолчанию могут уходить во внешнюю сеть.
  4. Broadcast-запросы могут получать ответы из внешней сети.
  5. NBNS использует исключительно 137 порт и UDP (и на клиенте, и на сервере), который не поддерживает сессий и состояний.

Как защититься

Использование таких средств, как межсетевые экраны или NAT не может предотвратить атаки с применением уязвимости BadTunnel. По словам Яна Ю, причина этого кроется в том, что протокол UDP не устанавливает соединения, а используется для создания туннеля.

Microsoft опубликовала бюллетени безопасности MS16-063 и MS16-077, устраняющие ошибку в последних версиях Windows.
Суть этих обновлений заключается в том, что теперь периодическое определение имени WPAD выключено по умолчанию, а NBSTAT запросы из домашней сети также по умолчанию заблокированы. Эти изменения регулируются ключами реестра и делают невозможным установление UDP тоннеля для проведения атаки с использованием BadTunnel.

Однако уязвимость сохранилась в устаревших и ныне не поддерживаемых версиях ОС. В их числе Windows XP и Windows Server 2003. Пользователям этих систем для того, чтобы обезопасить себя, необходимо заблокировать порт UDP 137.

По словам Яна Ю, это не первая уязвимость, приводящая к возможности атак перехвата WPAD. Подобные случаи фиксировались в 1999 [3], 2007 [4], и 2012 [5] году, когда произошел всплески активности червя Flame [6].

Существующие Proof-of-Concept скрипты не учитывают информацию об Transaction ID в NBSTAT запросе и основываются на огромном потоке поддельных ответов на запрос со всеми возможными значениями поля Transaction ID от 0 до 65535. Однако для успешного проведения атаки достаточно минимального количества поддельных пакетов.

Экспертами Positive Technologies был разработан ряд сигнатур для IDS Suricata, позволяющих обнаружить стадии подмены NetBIOS имён и установления UDP тоннеля, блокирующие попытки подмены адреса WPAD и ISATAP и сигнализирующие о возможной попытке атаки. Они доступны в официальном Twitter [7] и github-аккаунте [8].

Автор: Positive Technologies

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/uyazvimost/151507

Ссылки в тексте:

[1] Image: https://habrahabr.ru/company/pt/blog/304842/

[2] обнаружили: http://news.softpedia.com/news/badtunnel-bug-hijacks-network-traffic-affects-all-windows-versions-505294.shtml

[3] 1999: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-0858

[4] 2007: https://www.blackhat.com/presentations/bh-usa-07/Moore_and_Valsmith/Presentation/bh-usa-07-moore_and_valsmith.pdf

[5] 2012: http://www.antiy.net/media/reports/flame-analysis.pdf

[6] Flame: https://ru.wikipedia.org/wiki/Flame_(%D0%B2%D0%B8%D1%80%D1%83%D1%81)

[7] Twitter: https://twitter.com/attackdetection/status/745362854107357184

[8] github-аккаунте: https://github.com/ptresearch/AttackDetection/tree/master/badtunnel

[9] Источник: https://habrahabr.ru/post/304842/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best