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].

Примечания

  1. Security Bugs in Protocols (англ.) (2010). Дата обращения: 26 января 2012. Архивировано 26 ноября 2011 года.
  2. NTLM Relay: эволюция SMB Relay. Хабр (24 июля 2014). Дата обращения: 28 мая 2026.
  3. 1 2 NTLM Abuse in 2025. Securelist (28 мая 2024). Дата обращения: 28 мая 2026.
  4. Exploit devastates WinNT/2K security (англ.), The Register (19 April 2001). Дата обращения: 28 мая 2026.
  5. T1557.001. PT Security. Дата обращения: 28 мая 2026.
  6. NTLM Relay: руководство по атаке. Часть 2. Xakep (11 апреля 2023). Дата обращения: 28 мая 2026.
  7. NTLM Relay: руководство по атаке. Часть 1. Xakep (7 апреля 2023). Дата обращения: 28 мая 2026.
  8. ntlmrelayx.py. GitHub. fortra/impacket. Дата обращения: 28 мая 2026.
  9. PetitPotam NTLM Relay Attack. Deepwatch Labs. Дата обращения: 28 мая 2026.
  10. «Картошка 0»: повышаем привилегии в AD при помощи RemotePotato0. Angara Security. Дата обращения: 28 мая 2026.
  11. SMB Signing. SecurityLab. Дата обращения: 28 мая 2026.
  12. SMB Interception Defense. GitHub. Дата обращения: 28 мая 2026.
  13. Что такое аутентификация Kerberos. Security Vision. Дата обращения: 28 мая 2026.
  14. SMB Signing in Windows Server 2025 and Windows 11 24H2. DSInternals. Дата обращения: 28 мая 2026.

Ссылки

Категории