SMBRelay
SMBRelay (также SMBRelay2) — это компьютерные программы, предназначенные для осуществления атак типа «человек посередине» (англ. man-in-the-middle, MITM) на протокол SMB в операционных системах Windows. Они были написаны программистом под псевдонимом Sir Dystic из группы Культ мёртвой коровы (cDc) и впервые представлены 21 марта 2001 года на конференции @lantacon в Атланте (штат Джорджия). Более чем через семь лет после выхода SMBRelay компания Microsoft выпустила патч, устраняющий уязвимость, которую эксплуатировали эти программы. Однако это обновление закрывает уязвимость только в случае, если SMB отражается обратно на клиент. Если трафик пересылается другому хосту, уязвимость всё ещё может быть использована[1].
Со временем оригинальные программы дали начало целому классу современных сетевых атак. Атака эволюционировала из специфического эксплойта для протокола SMB в более универсальную технику кросс-протокольной ретрансляции, получившую название NTLM Relay. Данная техника нацелена на фундаментальные недостатки самого механизма аутентификации NTLM[2][3].
SMBRelay
SMBRelay принимает соединения по UDP на порт 139 и ретранслирует пакеты между клиентом и сервером Windows-машины к исходному компьютеру также через порт 139. При необходимости программа модифицирует эти пакеты.
После установки соединения и аутентификации клиент цели отключается, а SMBRelay привязывается к порту 139 по новому IP-адресу. На этот адрес можно затем подключиться напрямую с помощью команды «net use \\192.1.1.1», используя все сетевые возможности, встроенные в Windows. Программа ретранслирует всё SMB-соединение, за исключением этапов согласования протокола и аутентификации. Пока целевая машина остаётся подключённой, пользователь может разъединяться и заново присоединяться к такому виртуальному IP.
SMBRelay собирает NTLM-хэши паролей и сохраняет их в файл hashes.txt в формате, подходящем для взлома с помощью программы L0phtCrack.
Поскольку порт 139 является привилегированным и требует прав администратора, SMBRelay должна запускаться с соответствующими полномочиями. Однако этот порт необходим для работы NetBIOS, поэтому его сложно заблокировать.
По словам Sir Dystic: «Проблема в том, что с точки зрения маркетинга Microsoft хочет максимально поддерживать обратную совместимость своих продуктов; однако, продолжая использовать протоколы с известными проблемами, они подвергают своих клиентов риску эксплуатации… Это, в очередной раз, проблемы, существовавшие с первого дня появления этого протокола. Это не ошибка, а фундаментальный изъян в архитектуре. Полагать, что никто не использовал этот метод для атак — наивно; у меня ушло менее двух недель на написание SMBRelay.»[4]
SMBRelay2
SMBRelay2 работает на уровне NetBIOS поверх любого протокола, к которому он привязан (например, NBF или NBT). В отличие от SMBRelay, эта версия использует имена NetBIOS, а не IP-адреса.
SMBRelay2 также поддерживает атаку типа «человек посередине» на третий хост, однако может слушать только одно имя за раз.
Использование имён NetBIOS упрощало перехват трафика в локальной сети: злоумышленнику было достаточно отвечать на широковещательные запросы разрешения имён (NBT-NS) быстрее легитимного сервера. Это позволяло обходить необходимость в сложных сетевых манипуляциях, таких как ARP-спуфинг[5].
Эволюция и современные атаки (NTLM Relay)
Внедрение цифровой подписи SMB привело к эволюции атаки в кросс-протокольную ретрансляцию (NTLM Relay). Это позволяет перехватывать аутентификацию из одного протокола (например, HTTP) и направлять её на другой (например, LDAP или RPC)[3][6].
Для проведения атак в современных сетях часто используется связка инструментов: утилита Responder применяется для отравления запросов LLMNR и NBT-NS, а скрипт ntlmrelayx.py из набора Impacket отвечает за непосредственную ретрансляцию перехваченных учётных данных[7][8].
Ключевым развитием данного класса атак стало появление техник принудительной аутентификации. Подобные методы (например, PetitPotam) заставляют высокопривилегированные системы инициировать подключение к узлу злоумышленника, после чего полученные данные могут быть ретранслированы для захвата контроля над инфраструктурой[9][10].
Методы защиты
Основным методом защиты от атак ретрансляции является принудительное использование цифровой подписи пакетов SMB (SMB signing), которая обеспечивает целостность сообщений и предотвращает их изменение[11]. Для комплексной защиты рекомендуется отключение устаревшего протокола SMBv1 и переход на SMB 3.0 и выше[12], а также использование аутентификации Kerberos вместо уязвимого NTLM[13].
В операционных системах Windows 11 (начиная с версии 24H2) и Windows Server 2025 требование подписи SMB включено по умолчанию, что значительно снижает риски успешной эксплуатации[14].
Примечания
Ссылки
- Sir Dystic. The SMB Man-In-the-Middle Attack (англ.). xFocus. Дата обращения: 7 июня 2024. Архивировано 29 августа 2005 года.
- Symantec Security Bulletin (англ.). Symantec. Дата обращения: 7 июня 2024. Архивировано 31 октября 2001 года.
- Your Field Guide To Designing Security Into Networking Protocols (англ.). MSDN Magazine. Дата обращения: 7 июня 2024.