Введение

Тип компьютерной программы. SMBRelay и SMBRelay2 – это компьютерные программы, которые можно использовать для проведения атак типа «человек посередине» (man-in-the-middle, mitm) на машинах под управлением Windows. Они были разработаны сэром Дистиком из Cult of the Dead Cow (cDc) и опубликованы 21 марта 2001 года на конференции @lantacon в Атланте, штат Джорджия. Более чем через семь лет после публикации Microsoft выпустила исправление, закрывающее уязвимость, которую эксплуатировала SMBRelay. Это исправление устраняет уязвимость только в случае отражения SMB обратно клиенту. Если же SMB перенаправляется на другой хост, уязвимость остаётся эксплуатируемой.

СМБРей

SMBrelay принимает соединение на UDP порту 139 и пересылает пакеты между клиентом и сервером подключенной машины Windows на порт 139 исходного компьютера. Он изменяет эти пакеты при необходимости. После подключения и аутентификации клиент целевой системы отключается, и SMBRelay привязывается к порту 139 на новом IP-адресе. К этому ретрансляционному адресу затем можно подключиться напрямую с помощью команды "net use \\192.1.1.1" и использовать его во всех сетевых функциях, встроенных в Windows. Программа пересылает весь SMB-трафик, за исключением этапов согласования и аутентификации. Пока целевой хост остается подключенным, пользователь может отключаться и повторно подключаться к этому виртуальному IP-адресу. SMBRelay собирает хэши паролей NTLM и записывает их в файл hashes.txt в формате, пригодном для использования L0phtCrack для последующего взлома. Поскольку порт 139 является привилегированным и требует прав администратора для использования, SMBRelay должен запускаться с учетной записью администратора. Однако, поскольку порт 139 необходим для сеансов NetBIOS, его сложно заблокировать. По словам сэра Дистика: "Проблема в том, что с точки зрения маркетинга Microsoft стремится к максимальной обратной совместимости своих продуктов; но, продолжая использовать протоколы с известными уязвимостями, они подвергают своих клиентов риску эксплуатации. Это вновь известные проблемы, существующие с момента создания этого протокола. Это не ошибка, а фундаментальный недостаток конструкции. Думать, что никто не использовал этот метод для эксплуатации, наивно; мне потребовалось менее двух недель, чтобы написать SMBRelay."

SMBRelay2

SMBRelay2 работает на уровне NetBIOS через любой протокол, к которому привязан NetBIOS (например, NBF или NBT). Он отличается от SMBrelay тем, что использует имена NetBIOS, а не IP-адреса. SMBRelay2 также поддерживает перехват трафика с последующей переадресацией на третий хост. Однако он поддерживает прослушивание только одного имени одновременно.