Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТПАСБ / Лекции / pdf / lec11

.pdf
Скачиваний:
76
Добавлен:
24.02.2016
Размер:
2.73 Mб
Скачать

Носов В.В. "Технології аудиту інформаційних систем"

\LSA\LMCompatibilityLevel, устанавливая значения от 0 до 5, несмотря на то, что эти числа и не отображаются в интерфейсе Windows 2000 Security Policy (см. статью базы знаний Microsoft Q147706).

Помните, что пока в окружении есть системы с уровнем аутентификации ниже 2, остается уязвимым все окружение, даже если на серверах этот параметр имеет значение 4 или 5. Даже если серверы не будут поддерживать LM-ответ, клиенты по-прежнему будут передавать его.

Одной из наиболее серьезных проблем, с которыми сталкивались большие организации при изменении значения параметра реестра LMCompatibilityLevel, был тот факт, что клиенты старых версий Windows не могли передавать ответ по протоколу NTLM. Для решения этой проблемы был выпущен клиент Directory Services Client, который есть на компакт-диске Windows 2000 в каталоге clients\Win9x\Dsclient.exe. После установки программа DSCIient позволяет клиентам Windows 9x передавать ответ по протоколу NTLMv2. Кроме того, необходимо настроить систему Windows 9* таким образом, чтобы передавался только ответ NTLMv2, для чего необходимо создать в реестре параметр

HKLMASystem\CurrentControlSetXControl и добавить в него следующее значение.

Value

Name:

LMCompatibility

Data

Type:

REG_WORD

Value:

3

0,3

Valid

Range:

На клиентах Windows 9х при наличии установленной программы DSClient параметр реестра должен называться LMCcompability, а не LMCompatoilityLeval, как в системах Windows NT 4.

Также важно отметить, что значение уровня аутентификации LAN Manager Authentication Level применяется к соединениям SMB. Еще один параметр реестра управляет защитой удаленного вызова процедур Microsoft Remote Procedure Call (MSRPC) и встроенной аутентификации по протоколу HTTP, и для клиента, и для сервера (они должны совпадать).

HKLM\System\CurrentControlSet\concrol\LSA\MSV1_0 Value Name: NtlmMinClientSec or NtlmMinServerSec Data Type: REG_WORD

Value: one of the values below: 0x00000010 - Message integrity 0x00000020 - Message confidentiality 0x00080000 - NTLM 2 session security 0x20000000- 128-bit encryption 0x80000000- 56-bit encryption

Windows 2000 и следующие версии позволяют выполнять аутентификацию еще одного типа, по протоколу Kerberos. Это совершенно другой протокол, потому он не уязвим для утилиты SMB Packet Capture. К сожалению, нельзя заставить клиентские программы использовать протокол Kerberos простой установкой значения параметра реестра, как в случае уровня аутентификации LM, поэтому, пока в окружении присутствуют системы с более низким уровнем защищенности, скорее всего, будет использоваться аутентификация типа запрос-ответ по протоколам LM/NTLM.

Кроме того, даже в гомогенном окружении Windows 2000 или более новых версий существует множество ситуаций, в которых протокол Kerberos не будет использоваться. Например, протокол Kerberos не используется, если две системы под управлением Windows 2000 находятся в разных лесах (за исключением случая, когда между лесами однородных доменов Windows Server 2003 установлены доверительные отношения). Если две машины находятся в одном лесу, то использование протокола Kerberos возможно, но только в тех случаях, если обращение к машинам происходит по имени NetBIOS или DNS. Если для обращения к машинам используются их IP-адреса, то будет использован протокол LM/NTLM. Если в домене Windows Server 2003 используется приложение, которое не поддерживает протокол Kerberos, но поддерживает аутентификацию запрос-ответ LM/NTLM, то, конечно же, протокол Kerberos

21

Носов В.В. "Технології аудиту інформаційних систем"

использован не будет, а данные аутентификации можно будет перехватить программой SMB Packet Capture.

Помните, что для установки в окружении Windows 2000 (и более поздних версий Windows) протокола Kerberos, в домене должна использоваться служба Active Directory. Для проверки, используется ли протокол Kerberos в конкретных сеансах работы, существуют специальные утилиты. Например, утилита с графическим интерфейсом kerbtray из набора Resource Kit или утилита для использования из командной строки klist.

3. Підроблена аутентифікація

Теперь рассмотрим последний из существующих типов атак при аутентификации. Это атаки, при которых не используется подбор паролей или их перехват. Здесь все внимание сосредоточено на возможности "вклинивания" хакера в процесс аутентификации в целях получения идентификационных данных или даже перехвата открытого сеанса связи. Здесь обсудим:

атаки с применением подложного сервера;

атаки посредника.

Атаки с применением подложного сервера

Популярность

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

22

Носов В.В. "Технології аудиту інформаційних систем"

(отключить поддержку 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 можно представить следующим образом.

23

Носов В.В. "Технології аудиту інформаційних систем"

Как видите, были захвачены оба пароля для протокола 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

24

Носов В.В. "Технології аудиту інформаційних систем" 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-данных

25

Носов В.В. "Технології аудиту інформаційних систем"

Бюллетень

Нет

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 пытается отключить эти подписи.

26

Носов В.В. "Технології аудиту інформаційних систем"

В данной точке злоумышленник успешно "вклинился" в поток данных 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 будет снабжаться криптографической

27

Носов В.В. "Технології аудиту інформаційних систем"

подписью. Эту подпись может проверять клиент или сервер для проверки целостности и аутентификации блока данных, что делает теоретически невозможной подмену сервера 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

28

Носов В.В. "Технології аудиту інформаційних систем"

(Локальная политика безопасности) > Audit Policy (Политика аудита) и часто просматривайте журналы (как было сказано, для этого можно использовать автоматизированный анализ записей в журналах и утилиты создания отчетов).

Внимательно относитесь к подбору работников, которые получают привилегии администратора,

Установите уровень аутентификации LAN Manager Authenticaiion Level, по меньшей мере, соответствующим значению "Send NTLM Response Only" на всех системах локальной сети, особенно на устаревших системах, например в Windows 9x, которые могут реализовать уровень 3 аутентификации с помощью обновления DSClient из пакета Windows 2000 Support Tools.

Остерегайтесь писем электронной почты в формате HTML, которые требуют подключения к ресурсам сервера SMB с использованием адреса file://URL (хотя такие ссылки могут быть и невидимыми для пользователя).

Используйте все доступные заплаты.

29

Соседние файлы в папке pdf