Несанкционированное получение данных. Получение хэш-кодов паролей WIN 2000.
Загрузка хэш-кодов с помощью pwdump2
В операционной системе WIN 2000 по умолчанию применяется кодировка SYSKEY (более подробная информация об этом содержится в разделе Q143475 базы знаний и в главе 5). Поэтому с помощью средства pwdump нельзя корректно расшифровать хэш-коды паролей из системного реестра WIN 2000. Для решения этой задачи надо использовать pwdump2 (более подробно о pwdump, pwdump2, а также о том, почему для расшифровки SYSKEY не подходит pwdump, читайте в главе 5). Более того, для локальной загрузки хэш-кодов с контроллера домена требуется обновленная версия утилиты pwdump2 (доступная по адресу http://razor.bindview.com), поскольку теперь хранение паролей организовано на базе Active Directory, а не в соответствии с традиционными принципами файла SAM.
Контрмеры против загрузки хэш-кодов с помощью pwdump2
Поскольку принципы подключения динамических библиотек в Windows не изменились, то против утилиты pwdump2 не существует никакой зашиты. Слабым утешением служит лишь тот факт, что эта утилита работает локально и для ее запуска требуются привилегии администратора. Если же хакеру удалось получить эти привилегии, то он сможет получить практически любую информацию о локальной системе (другой вопрос, как можно использовать данные SAM для новых атак).
Добавление хэш-кодов в файл SAM с помощью chntpw
Если хакер получил физический доступ к системе и у него достаточно времени для загрузки другой операционной системы, то он может реализовать сложную атаку, описанную Питером Нордалом-Хагеном (Fetter Nordahl-Hagen). В ряде статей, содержащихся на этом узле, Питер приводит поразительные факты. Например, по его словам, хэш-коды паролей можно добавить в файл SAM в автономном режиме и таким образом изменить пароль любого пользователя системы.
Но это еще не все! Далее Питер предлагает программу изменения паролей в операционной системе NT chntpw, а также загрузочную дискету с операционной системой Linux, которую можно использовать для входа в систему NT/2000, изменения пароля администратора (даже если он был переименован), перезагрузки системы и регистрации в ней с новым паролем.
Дальше больше, Питер утверждает, что этот метод работает даже при использовании шифрования SYSKEY и даже в режиме защиты ключа SYSKEY паролем или его хранения на гибком диске.
"Минуточку,– возразит читатель, – средство SYSKEY использует второй, 128-разрядный тип шифрования паролей на основе уникального ключа, который можно хранить в реестре, защитить паролем или записать на гибкий диск (см. главу 5). Как же можно изменить пароль, не зная системного ключа для его создания?"
Для таких читателей Питер рассказывает, как отключить режим SYSKEY. Более того, он обнаружил, что взломщику это не понадобится: при добавлении в файл SAM хэш-кодов старого образца (не использующих кодировку SYSKEY) они автоматически кодируются с помощью ключа SYSKEY после перезагрузки системы. Такой глубокий анализ достоин восхищения. Браво Питеру!
Питер отключает SYSKEY следующим образом (хотя можно этого и не делать).
- Устанавливает для параметра HKLM\System\CurrentControlSet\Control\LsaXSecureBoot значение 0 (этот параметр может принимать следующие значения: 0 – системный ключ отключен, 1 – ключ хранится в реестре в открытом виде, 2 – ключ хранится в реестре и защищен паролем, 3 – ключ хранится на гибком диске).
- Сбрасывает соответствующий флаг в бинарной структуре HKLM\SAM\Domains\AccountXF. Этот параметр недоступен в процессе работы операционной системы.
- В WIN 2000 задает для параметра HKLM\security\Policy\PolSecretEncryption Key\<default> значение 0.
Питер утверждает, что изменение значения лишь одного из двух первых параметров в операционной системе NT 4 даже при наличии сервисных пакетов вплоть до SP6 приводит к появлению предупреждения о несовместимости файла SAM с системными параметрами при завершении загрузки и повторному включению ключа SYSKEY. В WIN 2000 в случае несовместимости значений трех перечисленных параметров сразу же выполняется перезагрузка и значение параметров изменяется на наиболее типичное.
Применение этих приемов может привести к повреждению файла SAM. Испытывайте их только на тестовых компьютерах с системой NT/2000 и будьте готовы к возможному отказу операционной системы. В частности, не выбирайте опцию Disable SYSKEY программы chntpw в WIN 2000. По отзывам, это может привести к непредсказуемым результатам и даже необходимости полной переустановки системы. Описанный выше прием не позволяет изменять пароли пользователей на контроллере домена WIN 2000, а относится лишь к изменению файлов SAM. Напомним, что на контроллере домена хэш-коды паролей хранятся в Active Directory, а не в файле SAM.