Windows for Workgroups. Более простой алгоритм хэширования
LanManager
уже давно
был изучен, поэтому в большинстве случаев пароли сервера NT можно получить доста-
точно просто. Все зависит лишь от их длины и набора символов. Например,
lOphtcrack,
одна из самых популярных утилит взлома файлов SAM, позволяет взломать любой бук-
венно-цифровой пароль за 24 часа на компьютере с процессором Pentium II 450 МГц
(версия 2.5; подробнее см.
http://www.atstake.com/research/lc3/index.htm).
По
этому же адресу можно найти техническое обоснование слабости подхода, применяе-
мого при хэшировании паролей в NT, которое рассматривается также ниже в разде-
ле "Строгие правила выбора пароля" этой главы.
Утилиты взлома паролей, несмотря на кажущуюся сложность решаемой ими зада-
чи, на самом деле не что иное, как быстрые и оптимизированные инструменты авто-
матизированного подбора паролей. Сначала по заданным
входным
данным (список
слов из словаря или случайным образом генерируемые строки) и с использованием
алгоритма шифрования они получают результат, а затем сравнивают его с хэш-кодом
пользовательского пароля. Если оба значения совпадают, значит, пароль угадан, т.е.
"взломан". Данный процесс обычно выполняется в автономном режиме с использо-
ванием перехваченного файла паролей, поэтому блокировки учетной записи в таких
случаях вообще не возникает, а процесс подбора пароля может продолжаться сколь
угодно долго. Как правило обработка зашифрованных данных оказывается весьма
ресурсоемким процессом. Однако, как мы уже упоминали, знание тех или иных не-
достатков взламываемой системы, к каким, например, относится хорошо изученный
алгоритм хэширования LanMan, позволяет значительно ускорить этот процесс. Таким
образом, получение пароля — это лишь вопрос производительности процессора и
размера словаря (некоторые примеры словарей и списков слов можно найти по адресу
http://coast.cs.purdue.edu).
He хотите ли воспользоваться этими инструментами, чтобы проверить, насколько
хороши выбранные вашими пользователями пароли? Что ж, тогда приступим.
Получение базы данных SAM
При осуществлении любых попыток взлома первый этап состоит в получении
файла паролей, который в случае NT называется файлом данных SAM.
Система NT хранит данные SAM в файле с именем (ни за что не догадаетесь!) SAM,
который содержится в каталоге
%systemroot%\system32\config
(во время работы
операционной системы доступ к этому файлу заблокирован). Файл SAM является од-
ним из пяти основных ульев системного реестра NT и представляет собой физическое
место хранения данных из группы параметров системного реестра
HKEY_LOCAL_
MACHINEXSAM.
Эта
группа параметров недоступна
для
изменения,
даже после регист-
рации в качестве администратора. (Однако, используя некоторые хитрости и службу
Schedule, это все же можно осуществить. Для получения об этом более подробной
информации читайте раздел "Аудит доступа к базе данных SAM?" ниже в этой главе).
Существует четыре способа получения данных SAM: перезагрузка компьютера с
помощью дискеты с альтернативной операционной системой и последующее копиро-
вание файла SAM на съемный носитель; копирование резервной копии файла SAM,
созданной утилитой восстановления системы NT; извлечение
хэшированных
паролей
непосредственно из SAM. Четвертый метод основывается на перехвате данных об
именах пользователей и паролях, передаваемых по сети (такой подход уже рассматри-
вался в разделе "Перехват паролей, передаваемых по сети" выше в этой главе).
Перезагрузка с помощью альтернативной операционной системы
Для того чтобы перезагрузиться с использованием другой операционной системы,
достаточно подготовить системную дискету с DOS. Если на жестком диске интере-
Глава 5. Хакинг Windows NT
197