Administrator: в поисках сокровищ
Передача хэш-кода
Пол Эштон (Paul Ashton) выдвинул идею модификации SMB-клиента сервера Samba системы UNIX, обеспечивающего совместный доступ к файлам (http://www.saniba.org) с целью реализации описанного выше приема. Исходный документ Пола можно найти в архивах бюллетеня NT Bugtraq по адресу http://www.ntbugtraq.com. Новые версии программы smbclient для системы UNIX позволяют зарегистрироваться на клиентских системах NT с использованием лишь хэш-кода.
Технические подробности процесса передачи хэш-кода содержатся в статье Гернана Очоа (Heman Ochoa) из компании CORE-SDI. Из этой статьи можно узнать, как подсистема LSASS (Local Security Authority Subsystem) хранит информацию о сеансах регистрации и связанных с ними данными учетных записей. Гернан показал, как напрямую отредактировать эти данные в оперативной памяти и изменить регистрационную информацию незаметно для пользователя. Подтверждением работоспособности такого подхода может послужить рис. 5.3 (для обеспечения безопасности реальные имена были изменены).
Однако подобные подходы не получили широкого распространения, поскольку справиться с данной задачей могут лишь программисты довольно высокой квалификации. Таким образом, риск атаки, основанной на отправке хэш-кода, невысок.
Рис. 5.3. Программа, предназначенная для отправки хэш-кода
Контрмеры: запрещение аутентификации в локальной сети
В сервисном пакете Service Pack 4.0 была добавлена поддержка нового параметра системного реестра, призванного запретить узлу NT выполнять аутентификацию в локальной сети (с использованием хэш-кодов LM). Для того чтобы воспользоваться этой возможностью, нужно добавить параметр LMCompatibilityLevel со значением REG_DWCRD=4 к следующему ключу системного реестра. HKEY_LOCAL_MACHINE\System\CurrentControlSet\LSA.
Значение 4 запрещает контроллеру домена (DC – domain controller) принимать запросы на аутентификацию. Как объясняется в статье Q147706 базы знаний компании Microsoft, значения 4 и 5 зарезервированы для контроллеров доменов.
К сожалению, любые клиенты низкого уровня не смогут пройти аутентификацию на контроллере домена, на котором установлен пакет Service Pack 4 и выполнены описанные выше действия (например, такими клиентами являются системы Windows 9x, Windows for Workgroups). Это объясняется тем, что модернизированная система аутентификации такого контроллера будет выполнять аутентификацию лишь с использованием кэш-кода NT. Более того, поскольку клиенты, не использующие систему Windows NT, не могут реализовать вычисление хэш-кода NT, они все равно будут отправлять по сети запросы на аутентификацию, содержащие значения хэш-кодов LM. Это сведет на нет все усилия, направленные на защиту от перехвата SMB-пакетов. Вывод напрашивается сам собой: в составе домена не должно быть клиентских компьютеров, работающих под управлением старых версий Windows. Однако в большинстве компаний, использующих в сети системы с различными версиями Windows, такое решение вряд ли можно воплотить в жизнь.
До появления сервисного пакета SP4 не было возможности запретить обработку хэш-кодов LМ на узле NT, используемых для аутентификации. Как следствие, такие узлы абсолютно не защищены от опасности перехвата SMB-пакетов.
С выходом новой операционной системы WIN 2000 компания Microsoft предоставила другую возможность передачи регистрационных данных по локальной сети клиентами WIN 9х. Ее предоставляет клиент службы каталогов (DSClient – Directory Services Client), который можно найти на установочном компакт-диске системы Windows 2000 в папке Clients\win9x (файл Dsclient.exe). Теоретически пользователи WIN 9x могут установить специальные параметры системного реестра и использовать более надежную защиту благодаря использованию хэш-кодов NT. В статье Q239869 описывается, как установить программу DSClient и настроить клиентов WIN 9x для использования протокола идентификации NTLM версии 2.
Использование подписи SМВ
Хотя полностью защититься от атак с использованием хэш-кодов нельзя, можно наложить некоторые ограничения на удаленную регистрацию в системе Windows с помощью подписи SMB (SMB signing). Такая возможность появится в системе NT, если на ней установить сервисный пакет SP3 или более поздний. Здесь мы упоминаем этот механизм исключительно для обеспечения полноты изложения. При использовании подписи SMB каждый пакет 8MB, передаваемый правильно настроенными клиентами и серверами NT, будет проверяться с применением криптографических методов. Это позволит предотвратить вставку в поток данных регистрации пакетов взломщика. Как и ранее, это решение годится только для Windows NT, так как клиенты WIN 9x не поддерживают описанный выше механизм. Кроме того, как отмечается в статье Q161372 базы знаний Microsoft, посвященной режиму использования подписи SMB, активизация этого средства влечет за собой снижение производительности на 10-15%.