Полезные статьи: Windows 2000 – система более защищенная, чем NT. Но обратная совместимость делает ее уязвимой.

Защита паролей – одно из слабых мест системы безопасности Windows NT. Тем администраторам, которым предстоит производить миграцию своих систем с NT на Windows 2000, необходимо иметь ясное представление об изменениях в области политики использования паролей. Несмотря на то что Windows 2000 обеспечивает более высокий уровень защиты паролей, чем NT, защита паролей в новой операционной системе все же далека от совершенства. Программы, с успехом «взламывающие» пароли пользователей NT, в новом операционном окружении не работают, однако и в Windows 2000 проблеме безопасности паролей по-прежнему следует уделять повышенное внимание.

«Взлом» паролей

Несколько лет тому назад группа программистов-хакеров, называющих себя L0pht Heavy Industries, создала программный пакет L0phtCrack, с помощью которого в течение короткого времени можно было взломать парольный хеш NT. Эффективность работы программы L0phtCrack объяснялась уязвимостью алгоритма хеширования, который применялся в операционной системе NT для поддержки протокола сетевой аутентификации NT LAN Manager (NTLM). Когда представители Microsoft заявили, что проверенный временем протокол Kerberos заменит «родной» протокол NTLM, многие администраторы решили, что на уязвимости парольного хеша в базе данных SAM можно будет поставить точку. Да, операционная система Windows 2000 показывает высокую «сопротивляемость» попыткам взлома паролей и «прослушивания» сетевого трафика, нежели NT, но Windows 2000 не решает проблемы безопасности в связи с необходимостью поддержки обратной совместимости с NT. В ряде случаев Windows 2000 продолжает использовать протокол NTLM при соединении с другими компьютерами сети. А, следовательно, Windows 2000 сохраняет пароли в уязвимом NTLM-формате, и злоумышленник может воспользоваться «услугами» программы L0phtCrack, чтобы раскрыть пароли пользователей Windows 2000.

Так же, как в системах NT, компьютеры Windows 2000 Server, которые являются членами домена (но не его контроллерами), как и станции Windows 2000 Professional, поддерживают локальную базу данных SAM. Но, в отличие от NT, при запуске программы L0phtCrack, выборе из меню Tools команды Dump passwords from registry и запуске программы взлома защиты, в случае системы Windows 2000 ничего внятного L0phtCrack не сообщит – ни один пароль «взломан» не будет. L0phtCrack здесь бессильна, поскольку в системе Windows 2000 по умолчанию активизирована поддержка защиты паролей с помощью программы Syskey. Программа Syskey впервые появилась в служебном пакете NT 4.0 Service Pack 3 (SP3). С ее помощью шифрование паролей SAM выполняется по 128-разрядному ключу, в результате чего хеш SAM становится непроницаемым для программы L0phtCrack. Однако злоумышленник с административными полномочиями может воспользоваться утилитой pwdump2 (автор Тод Сейбин) и сделать дамп хеш-паролей Windows 2000 непосредственно из оперативной памяти, где информация не шифруется. После чего результаты работы pwdump2 передаются программе L0phtCrack. Теперь можно запускать программу «взлома» паролей как ни в чем не бывало. Но, повторяю, этот метод в удаленном режиме не работает.

Описанная техника «взлома» паролей применима только к серверам Windows 2000 Server, входящим в состав какого-то домена, и рабочим станциям Windows 2000 Professional. Для обоих случаев поддержка локальной базы данных SAM не характерна. Для того чтобы «взломать» пароли пользователей домена, нужно запустить утилиту pwdump2 непосредственно на контроллере домена Windows 2000, после чего попытаться «взломать» хеш. Наибольшие шансы на успех имеет последняя версия pwdump2 от 28 марта 2000 г. Она позволяет создавать дамп хеша паролей непосредственно из структуры Active Directory (AD), внутри которой Windows 2000 хранит сведения об учетных записях пользователей. Предыдущие версии pwdump2 работали на платформе NT, но могли прочитать хеш из AD.

Итак, рабочие станции Windows 2000, серверы – члены домена, и контроллеры домена по-прежнему остаются доступны для злоумышленников, если те обладают полномочиями администратора. Вместе с тем, уязвимость паролей заставляет обзаводиться средствами дополнительной защиты паролей и усиливать политику безопасности. Администраторам домена я рекомендую периодически использовать программу L0phtCrack. Но совсем не для того, чтобы определить, могут ли пароли пользователей противостоять натиску L0phtCrack комбинация L0phtCrack и pwdump2 в состоянии за несколько часов или дней раскрыть любой пароль. Цель подобного мероприятия в том, чтобы установить круг лиц, чьи пароли легко поддаются расшифровке. Словарь L0phtCrack, который помогает это сделать, насчитывает 29 тыс. английских слов. При использовании программы L0phtCrack для расшифровки паролей домена своей компании нередко оказывается, что доля легко раскрываемых паролей составляет более 40% от их общего числа.

Если угодно, для достижения большего эффекта можно воспользоваться специализированными и иностранными словарями. Для этого нужно обратиться по адресу: ftp://ftp.cso.uiuc.edu/pub/security/wordlists/. Можно создать и собственный словарь. Чтобы сообщить программе L0phtCrack о подключении нового словаря, следует выбрать команду Wordlist в меню File. Я помогаю поддерживать систему безопасности компании, персонал которой в основном говорит по-немецки, поэтому настроил L0phtCrack на работу с немецким словарем, сохранив английский словарь как основной. Прогон L0phtCrack продемонстрировал, что более 70% сотрудников пользуются в повседневной работе очень простыми паролями, как правило, отражающими различные аспекты их личной жизни. Соответствующие службы выработали новую политику использования паролей, а глава департамента безопасности призвал сотрудников компании с большей ответственностью отнестись к вопросу выбора пароля. Тем временем IT-специалисты продолжали применять L0phtCrack для тестирования политики защиты паролей. На протяжении следующих трех месяцев число явно неудовлетворительных паролей снизилось более чем наполовину.

Перехват паролей по сети

Протокол Kerberos, неуязвимый для атак L0phtCrack, заменил протокол NTLM в качестве основного протокола аутентификации. Но это утверждение справедливо только в следующей ситуации: если в процедуре аутентификации участвуют системы на базе Windows 2000 (или системы Windows 9x с загруженным AD-клиентом), которые находятся в одном и том же домене (или доменах, связанных доверительными отношениями – другими словами, в лесу). Во всех других случаях операционная система Windows 2000 по-прежнему использует протокол NTLM. Например, когда пользователь со станции Windows 2000 выполняет команду подсоединения к сетевому диску серверной системы Windows 2000, не входящей в состав какого-либо домена, для аутентификации используется протокол NTLM. Всякий раз, когда система Windows 2000 устанавливает соединение со станцией NT, или наоборот, протоколом аутентификации также является NTLM, поскольку операционная система NT протокол Kerberos не использует. На Рисунке 1 изображены различные сценарии соединений и показано, когда применяется протокол NTLM, а когда Kerberos. В тех случаях, когда Windows 2000 использует протокол NTLM, он может стать объектом «прослушивания» с последующим «взломом», как если бы это происходило в обычной NT-сети. В состав программы L0phtCrack входит функция перехвата пакетов SMB, которая называется Server Message Block (SMB) Packet Capture. Она позволяет копировать в файл вызовы и ответы по протоколу NTLM, которые возникают при установлении клиентом соединения с какой-либо сетевой системой. Дальше этот файл, содержащий NTLM-«переговоры» между клиентом и сервером, передается программе L0phtCrack, которая расшифровывает вызовы и ответы участников «переговоров» и, пользуясь хешированными паролями последних, создает собственный ответный пакет на основе перехваченной информации. Если подложный ответ соответствует перехваченному, программа L0phtCrack вычисляет пароль.