Добавление хэшкодов в файл SAM с помощью chntpw
Добавление хэш-кодов в файл SAM с помощью chntpw
Если хакер получил физический доступ к системе и у него достаточно времени для загрузки другой операционной системы, то он может реализовать сложную атаку, описанную Питером Нордалом-Хагеном (Fetter Nordahl-Hagen). В ряде статей, содержащихся на этом узле, Питер приводит поразительные факты. Например, по его словам, хэш-коды паролей можно добавить в файл SAM в автономном режиме и таким образом изменить пароль любого пользователя системы.
Но это еще не все! Далее Питер предлагает программу изменения паролей в операционной системе NT chntpw, а также загрузочную дискету с операционной системой Linux, которую можно использовать для входа в систему NT/2000, изменения пароля администратора (даже если он был переименован), перезагрузки системы и регистрации в ней с новым паролем.
Дальше больше, Питер утверждает, что этот метод работает даже при использовании шифрования SYSKEY и даже в режиме защиты ключа SYSKEY паролем или его хранения на гибком диске.
"Минуточку ,— возразит читатель, — средство SYSKEY использует второй, 128-разрядный тип шифрования паролей на основе уникального ключа, который можно хранить в реестре, защитить паролем или записать на гибкий диск (см. главу 5). Как же можно изменить пароль, не зная системного ключа для его создания?"
Для таких читателей Питер рассказывает, как отключить режим SYSKEY. Более того, он обнаружил, что взломщику это не понадобится: при добавлении в файл SAM хэш-кодов старого образца (не использующих кодировку SYSKEY) они автоматически кодируются с помощью ключа SYSKEY после перезагрузки системы. Такой глубокий анализ достоин восхищения. Браво Питеру!
Питер отключает SYSKEY следующим образом (хотя можно этого и не делать).
1. Устанавливает для параметра HKLM\System\CurrentControlSet\Control\LsaXSecureBoot значение 0 (этот параметр может принимать следующие значения: 0 — системный ключ отключен, 1 — ключ хранится в реестре в открытом виде, 2 — ключ хранится в реестре и защищен паролем, 3 — ключ хранится на гибком диске).
2. Сбрасывает соответствующий флаг в бинарной структуре HKLM\SAM\Domains\AccountXF. Этот параметр недоступен в процессе работы операционной системы.
3. В 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.