
Підроблена аутентифікація
Теперь рассмотрим последний из существующих типов атак при аутентификации. Это атаки, при которых не используется подбор паролей или их перехват. Здесь все внимание сосредоточено на возможности "вклинивания" хакера в процесс аутентификации в целях получения идентификационных данных или даже перехвата открытого сеанса связи. Здесь обсудим:
атаки с применением подложного сервера;
атаки посредника.
Атаки
с применением подложного сервера
Популярность |
2 |
Простота |
2 |
Опасность |
7 |
Степень риска |
3 |
В мае 2001 года хакер Sir Dystic из группы Cult of the Dead Cow ("Культ мертвой коровы") написал и выпустил программу под названием SMBRelay, о которой издание The Register объявило в заметке под громким заголовком "Exploit Devastates WinNT/2K Security" ("Программа атаки уничтожила защиту WinNT/2K"), ни словом не упомянув о том, что здесь используются недостатки протокола аутентификации LM.
Программа SMBRelay — это фактически SMB-сервер, который может собирать имена пользователей и хешированные пароли, которые передаются при аутентификации SMB. Как следует из названия программы, SMBRelay может действовать не только как подложный сервер SMB, при некоторых условиях ее можно использовать для проведения атак посредника (Man-In-The-Middle Attack, MITM). Возможности программы SMBRelay для проведения атак посредника будут описаны в следующей теме, а сейчас рассмотрим ее использование в качестве простого подложного сервера SMB.
Установить подложный сервер SMBRelay достаточно легко. Сначала необходимо запустить программу SMBRelay с параметром для инвентаризации (/Е), чтобы определить физический интерфейс, с которого необходимо ожидать подключения
C:\:>smbrelay /E
SMSRelay v0.992 - TCP (NetBT) level SMB man-in-the-middle relay attack
Copyright 2001: Sir Dystic, Cult of the Dead Cow
Send complaints, ideas and donations to sirdystic@cultdeadcow.com
[2] ETHERNET CSMACD - 3Com 10/100 Mini PCI Ethernet Adapter
[1] SOFTWARE LOOPBACK - MS TCP Loopback interface
Как видно из приведенного выше примера, лучше всего подходит интерфейс с индексом 2, так как это физический сетевой адаптер, доступный для удаленных систем (адаптер Loopback доступен только для локального узла localhost). Конечно, можно работать и с несколькими адаптерами, но для примера рассмотрим простейший случай, и в дальнейшем будем использовать адаптер 2. Заметим, что при разных запусках программы SMBRelay индексы адаптеров могут меняться.
На системах под управлением Windows 2000 или более новых версий, запуск сервера может оказаться непростой задачей, поскольку эти операционные системы не позволяют посторонним процессам устанавливать привязку к TCP-порту 139, если он используется системой. Чтобы избежать конфликтов, необходимо временно отключить TCP-порт 139 выбрав параметр Disable NetBIOS Over TCP/IP (отключить поддержку NetBIOS через TCP/IP). Чтобы открыть окно, в котором находится флажок для активации этого параметра, необходимо открыть компонент Local Area Connection (Локальные соединения), затем найдите в списке Internet Protocol (TCP/IP) и щелкните на кнопке Properties (Свойства). В открывшемся диалоговом окне щелкните на кнопке Advanced (Дополнительные свойства) и откройте вкладку WINS, как описано в теме "Инвентаризация". После выполнения этих действий для программы SMBRelay можно выделить TCP-порт 139.
Если отключить TCP-порт 139 невозможно, злоумышленник должен создать виртуальный IP-адрес, на котором будет запущен ложный сервер SMB. Программа SMBRelay умеет автоматически создавать и удалять виртуальные IP-адреса, для этого используется параметр командной строки /L+IР_адрес. Но используя этот параметр в Windows 2000, как показала практика получаются ошибочные результаты, поэтому вместо использования ключа /L рекомендуется отключить TCP-порт 139, как было описано выше.
При описании использования утилиты SMBRelay в системах Windows NT SP 6а, необходимо упомянуть еще один важный момент: если клиент SMB в одной из новых систем Windows не может подключиться к TCP-порту 139, он попытается установить соединение SMB через TCP-порт 445. Чтобы эти клиенты не "обходили" ложный SMB-сервер, ожидающий подключения к TCP-порту 139, TCP-порт 445 на подложном сервере необходимо заблокировать или отключить. Чтобы после отключения TCP-порта 445, TCP-порт 139 продолжал нормально функционировать, лучше всего сделать это с помощью фильтра IPSec (см. "Возможности и средства защиты в системах Windows").
Следующие примеры иллюстрируют работу сервера SMBRelay, запущенного на узле под управлением Windows 2000. Предполагается, что TCP-порт 139 был отключен (как это сделать, описано выше), а TCP-порт 445 — заблокирован с помощью фильтра IPSec.
Рассмотрим, как запустить сервер SMBRelay на Windows 2000 при условии, что для локальной связи и ретрансляции будет использоваться интерфейс с индексом 2, а подложный сервер будет ожидать соединений для IP-адреса, соответствующего этому интерфейсу.
С:\>smbrelaу /IL 2 /IR 2
SMBRelay v0.992 - TCP (NetBT) level SMB man-in-the-middle relay attack
Copyright 2001-. Sir Dystic, Cult of the Dead. Cow
Send complaints, ideas and donations to sirdystic@cultdeadcow.com
Using relay adapter index 2: 3Com EtherLink PCI
Bound to port 139 on address 192.163.234.34
Следовательно, программа SMBRelay начнет получать входящие запросы сеансов SMB. Когда атакуемый клиент успешно установит сеанс SMB, ответные действия программы SMBRelay можно представить следующим образом.
Как видите, были захвачены оба пароля для протокола LM (не чувствительный к регистру, "case insensitive") и для протокола NTLM (чувствительный к регистру, "case sensitive"), пароли были записаны на диск в файл hashes.txt текущего рабочего каталога. Этот файл можно импортировать в программу L0phtcrack 2.5х для последующего взлома пароля.
Поскольку программы SMBRelay и L0phtcrack начиная с версии 2.52 используют различный формат файлов, хешированные пароли, перехваченные программой SMBRelay, нельзя напрямую импортировать в L0phtcrack.
Еще хуже, что с системы злоумышленника теперь можно получить доступ к удаленной системе с помощью использования адреса переадресации по умолчанию 192.1.1.1.
На клиентских системах под управлением Windows 2000, которые непреднамеренно установили соединение с сервером SMBRelay в показанном выше примере, наблюдается следующая ситуация. Сначала команда net use дает сбой, вызывая системную ошибку 64 (листинг). Запуск команды net use показывает отсутствие смонтированных дисков. Но запуск команды net session позволяет выявить соединение с подложным сервером (по имени CDC4EVER, которое программа SMBRelay использует по умолчанию, если оно не было изменено с помощью параметра /S имя при запуске сервера).
При использовании сервера SMBRelay часто возникают некоторые проблемы, которые показаны в следующем примере. Пусть IP-адрес атакуемого компьютера 192 .168.234.223.
Connection from 192.168.234.223:2173
Error receiving data from incoming connection
Обычно это происходит, если атакуемый компьютер передает неверную комбинацию "имя пользователя/пароль". Утилита SMBRelay будет продолжать прослушивать порт, но могут возникать и другие ошибки.
Connection rejected: 192.168.234.223 already connected
После неудавшейся попытки подключения с определенного IP-адреса атакуемого компьютера, эту ошибку будут вызывать все последующие попытки подключения с данного адреса (в файле readme сказано, что такое поведение обусловлено структурой программы). С этой же проблемой можно столкнуться даже после успешного подключения, тогда выдается сообщение "Login failure code: 0хС0000060". С описанными недостатками программы можно бороться перезапустив сервер SMBRelay (для его остановки нужно нажать комбинацию клавиш <Ctrl+C>). Кроме того, могут выдаваться примерно следующие сообщения.
Connection from 169.254.9.119:2174
Unable to connect to 169.254.9.119:139
Это адаптер Loopback (петли обратной связи) пытается соединиться с сервером SMBRelay — сообщения можно просто игнорировать.
Помните, что можно также использовать перенаправление протокола ARP и подмену содержимого кэш-памяти, чтобы клиентские данные перенаправлялись на подложный сервер SMB, см. [2] - Секреты хакеров. Безопасность сетей — готовые решения, четвертое издание, глава 9 .
Меры
противодействия перенаправлению
SMB-данных
Бюллетень |
Нет |
BID |
Нет |
Исправлено в SP |
Нет |
Фиксируется |
Нет |
Теоретически, сложно защититься от использования сервера SMBRelay. Поскольку сервер способен устанавливать соединение для всех разновидностей протоколов LM/NTLM, он в состоянии захватывать любые данные аутентификации, которые были ему направлены.
Для противодействия атакам посредника SMBRelay (см. описание ниже) можно организовать обмен информацией по SMB с использованием цифровой подписи, но это не защитит от атак с использованием подложного сервера, поскольку программа SMBRelay (при возможности) способна снижать уровень безопасности защищенного канала связи.
.
Атаки
посредника
Популярность |
2 |
Простота |
2 |
Опасность |
8 |
Степень риска |
3 |
Атаки посредника (MITM— Man-In-The-Middle) были указаны как главное предназначение программы SMBRelay. Хотя идея атак посредника на службы SMB ко времени выпуска этой программы уже старела, именно программа SMBRelay стала первым широко распространенным средством для их автоматизации.
Рассмотрим пример выполнения атаки посредника с помощью программы SMBRelay (листинг). В данном примере злоумышленник создает подложный сервер с адресом 192.168.234.251, используя параметр /L+. С помощью параметра /R, устанавливается адрес ретрансляции 192.168.234.252, а параметр /Т служит для задания адреса сервера 192.168.234.34.
Обратите внимание, что запрашиваемый клиентом сервер был сконфигурирован таким образом, чтобы требовалась установка SMB-соединения с цифровой подписью, а сервер SMBRelay пытается отключить эти подписи.
В данной точке злоумышленник успешно "вклинился" в поток данных SMB, передаваемых между атакованным клиентом и запрашиваемым им сервером, и получил из данных обмена "запрос-ответ" клиентские хешированные пароли LM и NTLM. Подключение к адресу ретрансляции предоставляет клиенту доступ к ресурсам запрашиваемого сервера. Например, в следующем листинге отдельная атакуемая система монтирует совместно используемый ресурс с$ по адресу ретрансляции.
Ниже показан отчет о соединении на консоли сервера SMBRelay в системе хакера (192.168.234.50).
Программа SMBRelay может давать неожиданные результаты, которые не всегда будут верными, но при успешной реализации позволяет провести разрушительную атаку: посредник получает полный доступ к ресурсам запрошенного сервера, даже не пошевелив пальцем.
Конечно же, основное препятствие здесь — заставить клиента сначала подключиться к подложному серверу, но несколько способов для этого были уже описаны. Один из них — послать по электронной почте сообщение с гиперссылкой на адрес сервера SMBRelay. Другой способ — реализовать атаку протокола ARP в целом сегменте сети, заставив тем самым все системы этого сегмента проводить аутентификацию через подложный сервер. Перенаправление протокола ARP и подмена данных кэш-памяти описаны в главе 10 книги Секреты хакеров. Безопасность сетей - готовые решения, четвертое издание. Стюарт Мак-Клар, Джоел Скембрей, Джордж Курц [2].
Блокирование
атак посредника
Бюллетень |
Нет |
BID |
Нет |
Исправлено в SP |
Нет |
Фиксируется |
Нет |
Наиболее очевидной мерой против использования SMBRelay является настройка систем семейства Windows NT на использование цифровой подписи SMB, которую можно назвать взаимодействием типа "клиент-сервер" с цифровой подписью. Подписи SMB были представлены в версии Windows NT 4 Service Pack 3 и описаны в статье базы знаний Q161372.
Как следует из названия, при использовании цифровой подписи во время взаимодействия между клиентом и сервером Windows 2000 каждый блок данных SMB будет снабжаться криптографической подписью. Эту подпись может проверять клиент или сервер для проверки целостности и аутентификации блока данных, что делает теоретически невозможной подмену сервера SMB (по меньшей мере, очень маловероятной, в зависимости от используемого алгоритма подписи). Настройки по умолчанию политик безопасности для SMB-сеансов в системах Windows Server 2003 представлены в табл. 2. Эти параметры можно найти открыв Security Policy (Политика безопасности) > Local Policies (Локальные политики) > Security Settings (Параметры безопасности). Таким образом, если сервер поддерживает цифровые подписи SMB, операционная система Windows Server 2003 будет их использовать. Для принудительного использования цифровых подписей (SMB Signing) активируйте параметры, содержащие строку Always (Всегда).
Таблица 2.
ВЫВОДЫ
В этой теме были рассмотрены атаки на службы систем семейства Windows NT, начиная от самых простых (подбор пароля) и заканчивая самыми изощренными (атаки посредника) и максимально опасными (червь Blast). Хотя у вас может голова пойти кругом от такого количества возможных атак против протоколов аутентификации Microsoft, помните о наиболее важных шагах в создании надежной защиты.
Заблокируйте доступ к Windows-службам с помощью сетевых и локальных брандмауэров.
Отключите неиспользуемые службы SMB. Самый безопасный метод для этой цели в Windows Server 2003 — убрать привязку службы совместного использования файлов и принтеров (File and Printer Sharing for Microsoft Networks) к соответствующему сетевому адаптеру (за более подробной информацией обращайтесь к теме "Инвентаризация").
Если службы SMB должны быть запущены, установите значения параметров "Network access" ("Сетевой доступ"), которые бы предотвращали получение информации об именах учетных записей пользователей (см. "Инвентаризация").
Задайте принудительное использование надежных паролей, используя параметр Security Policy (Локальная политика безопасности) > Account Policies (Политики учетных записей) > Passwords Must Meet Complexity Requirements (Пароль должен отвечать требованиям сложности), для настройки требований относительно сложности пароля.
Включите блокировку учетных записей.
Заблокируйте настоящую учетную запись администратора с помощью программы passprop.
Переименуйте настоящую учетную запись администратора и создайте подложную учетную запись Administrator, которая не должна входить ни в одну из групп.
Включите аудит событий входа в систему с помощью параметров, доступных в Security Policy (Локальная политика безопасности) > Audit Policy (Политика аудита) и часто просматривайте журналы (как было сказано, для этого можно использовать автоматизированный анализ записей в журналах и утилиты создания отчетов).
Внимательно относитесь к подбору работников, которые получают привилегии администратора,
Установите уровень аутентификации LAN Manager Authenticaiion Level, по меньшей мере, соответствующим значению "Send NTLM Response Only" на всех системах локальной сети, особенно на устаревших системах, например в Windows 9x, которые могут реализовать уровень 3 аутентификации с помощью обновления DSClient из пакета Windows 2000 Support Tools.
Остерегайтесь писем электронной почты в формате HTML, которые требуют подключения к ресурсам сервера SMB с использованием адреса file://URL (хотя такие ссылки могут быть и невидимыми для пользователя).
Используйте все доступные заплаты.