Что такое парольный взломщик
Трудно представить, что сегодня какому-нибудь злоумышленнику может придти в голову шальная мысль о том, чтобы попытаться подобрать имя и пароль для входа в операционную систему, по очереди перебирая в уме все возможные варианты и вводя их с клавиатуры. Скорость такого подбора пароля будет чрезвычайно низкой, тем более что в операционных системах с хорошо продуманной парольной защитой количество подряд идущих повторных вводов конкретного пользовательского имени и соответствующего ему пароля всегда можно ограничить двумя-тремя и сделать так, что если это число будет превышено, то вход в систему с использованием данного имени блокируется в течение фиксированного периода времени или до прихода системного администратора.
Гораздо более эффективным является другой метод взлома парольной защиты операционной системы, при котором атаке подвергается системный файл, содержащий информацию о ее легальных пользователях и их паролях. Однако любая современная операционная система надежно защищает при помощи шифрования пользовательские пароли, которые хранятся в этом файле. Доступ к таким файлам, как правило, по умолчанию запрещен даже для системных администраторов, не говоря уже о рядовых пользователях. Тем не менее, в ряде случаев злоумышленнику удается путем различных ухищрений получить в свое распоряжение файл с именами пользователей и их зашифрованными паролями. И тогда ему на помощь приходят так называемые парольные взломщики — специализированные программы, которые служат для взлома паролей операционных систем.
Глава 3. Парольная защита операционных систем
Парольные взломщикиХранение паролей пользователей
Именно в учетных записях базы данных SAM находится информация о пользовательских именах и паролях, которая необходима для идентификации и аутентификации пользователей при их интерактивном входе в систему. Как и в любой другой современной многопользовательской операционной системе, эта информация хранится в зашифрованном виде. В базе данных SAM каждый пароль пользователя обычно бывает представлен в виде двух 16-байтовых последовательностей, полученных разными методами.
При использовании первого метода строка символов пользовательского пароля хэшируется с помощью функции MD4. В итоге из символьного пароля, введенного пользователем, получается 16-байтовая последовательность — хэшированный пароль Windows NT. Данная последовательность затем шифруется по DES-алгоритму5, и результат шифрования сохраняется в базе данных SAM. При этом в качестве ключа используется так называемый относительный идентификатор пользователя (Relative Identifier, RID), который представляет собой автоматически увеличивающийся порядковый номер учетной записи данного пользователя в базе данных SAM.
Для совместимости с другим программным обеспечением корпорации Microsoft (Windows for Workgroups, Windows 95/98 и Lan Manager) в базе данных SAM хранится также информация о пароле пользователя в стандарте Lan Manager. Для ее формирования используется второй метод. Все буквенные символы исходной строки пользовательского пароля приводятся к верхнему регистру, и, если пароль содержит меньше 14 символов, то он дополняется нулями. Из каждой 7-байтовой половины преобразованного таким образом пароля пользователя отдельно формируется ключ для шифрования фиксированной 8-байтовой последовательности по DES-алгоритму. Полученные в результате две 8-байтовые половины хэшированного пароля Lan Manager еще раз шифруются по DES-алгоритму (при этом в качестве ключа используется RID пользователя) и помещаются в базу данных SAM.
Использование пароля
Информация о паролях, занесенная в базу данных SAM, служит для аутентификации пользователей Windows NT. При интерактивном или сетевом входе в систему введенный пользователем пароль сначала хэшируется и шифруется, а затем сравнивается с 16-байтовой последовательностью, записанной в базе данных SAM. Если они совпадают, пользователю разрешается вход в систему.
Обычно в базе данных SAM хранятся в зашифрованном виде оба хэшированных пароля. Однако в некоторых случаях операционная система вычисляет только один из них. Например, если пользователь домена Windows NT изменит свой пароль, работая на компьютере с Windows for Workgroups, то в его учетной записи останется только пароль Lan Manager. А если пользовательский пароль содержит более 14 символов или если эти символы не входят в так называемый набор поставщика оборудования (original equipment manufacturer, OEM), то в базу данных SAM будет занесен только пароль Windows NT.
Как предотвратить несанкционированную загрузку системы
В ходе инсталляции операционной системы Windows 95/98 корпорация Microsoft настойчиво рекомендует ее пользователям сразу же создать так называемый загрузочный диск. В этой рекомендации есть свой резон: если возникнут какие-либо проблемы при переходе на Windows 95/98, вы сможете воспользоваться загрузочным диском, чтобы внести необходимые поправки.
Если вы не создали загрузочную дискету во время инсталляции операционной системы, вы можете сделать это в любой момент. Выберите опцию
Как работает парольный взломщик
Криптографические алгоритмы, применяемые для шифрования паролей пользователей в современных операционных системах, в подавляющем большинстве случаев являются слишком стойкими, чтобы можно было надеяться отыскать методы их дешифрования, которые окажутся более эффективными, чем тривиальный перебор возможных вариантов. Поэтому парольные взломщики иногда просто шифруют все пароли с использованием того же самого криптографического алгоритма, который применяется для их засекречивания в атакуемой операционной системе, и сравнивают результаты шифрования с тем, что записано в системном файле, где находятся шифрованные пароли ее пользователей. При этом в качестве вариантов паролей парольные взломщики используют символьные последовательности, автоматически генерируемые из некоторого набора символов. Данный способ позволяет взломать все пароли, если известно их представление в зашифрованном виде и они содержат только символы из данного набора. Максимальное время, которое потребуется для взлома пароля, можно вычислить по следующей формуле:
где N — число символов в наборе, L — предельная длина пароля, S — количество проверок в секунду (зависит от операционной системы и быстродействия компьютера, на котором производится взлом ее парольной защиты).
Из приведенной формулы видно, что за счет очень большого числа перебираемых комбинаций, которое растет экспоненциально с увеличением чист символов в исходном наборе, такие атаки парольной защиты операционной системы могут занимать слишком много времени. Однако хорошо известно, что большинство пользователей операционных систем не затрудняют себя выбором стойких паролей (т. е. таких, которые трудно взломать). Поэтом) для более эффективного подбора паролей парольные взломщики обычно используют так называемые словари, представляющие собой заранее сформированный список слов, наиболее часто применяемых на практике в качестве паролей.
Для каждого слова из словаря парольный взломщик использует одно или несколько правил. В соответствии с этими правилами слово изменяется и порождает дополнительное множество опробуемых паролей. Производится попеременное изменение буквенного регистра, в котором набрано слово, порядок следования букв в слове меняется на обратный, в начало и в конец каждого слова приписывается цифра 1, некоторые буквы заменяются на близкие по начертанию цифры (в результате, например, из слова password получается pa55wOrd). Это повышает вероятность подбора пароля, поскольку в современных операционных системах, как правило, различаются пароли, набранные г заглавными и строчными буквами, а пользователям этих систем настоятельно рекомендуется выбирать пароли, в которых буквы чередуются с цифрами.
Одни парольные взломщики поочередно проверяют каждое слово из словаря, применяя к нему определенный набор правил для генерации дополнительного множества опробуемых паролей. Другие предварительно обрабатывают весь словарь при помощи этих же правил, получая новый словарь большего размера, и затем из него черпают проверяемые пароли. Учитывая, что обычные словари человеческих языков состоят всего из нескольких сотен тысяч слов, а скорость шифрования паролей достаточно высока, парольные взломщики, осуществляющие поиск с использованием словаря работают достаточно быстро.
Пользовательский интерфейс подавляющего большинства парольных взломщиков трудно назвать дружественным. После их запуска на экране Дисплея, как правило, появляется лаконичный запрос File?, означающий, что необходимо ввести имя файла, где хранится словарь. Да и документацию к парольным взломщикам обильной не назовешь. Правда, для этого есть свои объективные причины.
Во-первых, парольные взломщики предназначены исключительно для подбора паролей. Такая узкая специализация не способствует разнообразию их интерфейса и обилию сопроводительной документации.
Во-вторых, авторами большей части парольных взломщиков являются люди компьютерного подполья, которые создают их "на лету" для удовлетворения собственных сиюминутных потребностей, и поэтому редко снабжают их подробной документацией и встроенными справочными системами. Приятное исключение из этого правила составляют только парольные взломщики, созданные специалистами в области компьютерной безопасности для выявления слабостей в парольной защите операционных систем. В этом случае дистрибутив парольного взломщика, помимо самой программы, обязательно включает разнообразные дополнительные сведения, касающиеся технических сторон ее эксплуатации, а также небольшой словарь.
В настоящее время Windows корпорации Microsoft является наиболее распространенной операционной системой. Подавляющее большинство компьютеров, которые повсеместно используются для решения самых разнообразных задач, функционируют именно под ее управлением.
Однако, признавая отменные потребительские качества операционных систем корпорации Microsoft, нельзя обойти вниманием имеющиеся в них значительные изъяны. В первую очередь, это касается парольной зашиты Windows 95 и Windows 98. Фактически парольная защита в Windows 98 осталась на прежнем уровне по сравнению с Windows 95. Поэтому все сказанное в ходе дальнейшего изложения в равной степени относится к ним обеим. А следовательно, рассматривая парольную защиту Windows 95 и Windows 98, можно вести речь не о двух отдельных операционных системах, а о единой, обобщенной операционной системе, которую будем условно называть Windows 95/98.
Далеко не все пользователи знают, что для парольной защиты Windows 95/98 характерны существенные недостатки, связанные с тем, что при ее разработке корпорация Microsoft не уделила должного внимания проблемам безопасности компьютеров, для которых предназначалась эта операционная система. Рассмотрим подробнее, что представляет собой парольная защита в Windows 95/98, какие у нее имеются изъяны и как от них избавиться средствами самой операционной системы.
Проблему безопасности компьютерных сетей надуманной не назовешь. Практика показывает: чем масштабнее сеть и чем более ценная информация доверяется подключенным к ней компьютерам, тем больше находится желающих нарушить ее нормальное функционирование ради материальной выгоды или просто из праздного любопытства. В самой крупной компьютерной сети в мире (Internet) атаки на компьютерные системы возникают подобно волнам цунами, сметая все защитные барьеры и оставляя после себя впавшие в паралич компьютеры и опустошенные винчестеры. Эти атаки не знают государственных границ. Идет постоянная виртуальная война, в ходе которой организованности системных администраторов противостоит изобретательность компьютерных взломщиков.
Основным защитным рубежом против злонамеренных атак в компьютерной сети является система парольной защиты, которая имеется во всех современных операционных системах. В соответствии с установившейся практикой перед началом сеанса работы с операционной системой пользователь обязан зарегистрироваться, сообщив ей свое имя и пароль. Имя требуется операционной системе для идентификации пользователя, а пароль служит подтверждением правильности произведенной идентификации. Информация, введенная пользователем в диалоговом режиме, сравнивается с топ. что имеется в распоряжении операционной системы. Если проверка лает положительный результат, то пользователю становятся доступны все ресурсы операционной системы, связанные с его именем.
Почему парольная защита Windows 95/98 ненадежна
После того как была установлена парольная защита, каждый раз, когда включается компьютер, Windows 95/98 станет вежливо осведомляться о том, каковы ваши регистрационное имя и пароль. Продолжение нормальной работы с Windows 95/98 будет возможно только в том случае, если регистрационное имя и соответствующий ему пароль были введены без ошибок. Означает ли это, что система парольной защиты Windows 95/98 гарантирует: злоумышленник не сможет знакомиться с содержимым всех ваших файлов и запускать любые программы на вашем компьютере?
Отнюдь. Почему? Да по той простой причине, что в основе функционирования Windows 95/98 лежат принципы, которые были применены на практике при создании другой, более примитивной операционной системы корпорации Microsoft — DOS. Несмотря на то, что Windows 95/98 старается "упрятать" DOS как можно дальше, она по-прежнему использует эту безнадежно устаревшую операционную систему для обеспечения работоспособности старых программ, которые остались у пользователей, сменивших DOS на Windows 95/98. А ведь хорошо известно, что в DOS напрочь отсутствуют защитные механизмы, которые предотвращают несанкционированный доступ к файлам и программам компьютера, работающего под ее управлением. Ведь в сущности DOS и задумывалась-то именно для выполнения совершенно противоположной задачи — предоставить всем возможность обращаться к любым файлам. Как следствие, существует несколько способов обойти парольную защиту Windows 95/98, загружая на компьютере операционную систему DOS вместо Windows 95/98.
Соблюдайте осторожность: парольная защита ненадежна
Попробуйте набрать произвольную последовательность символов, когда Windows 95/98 предложит вам ввести свое регистрационное имя и соответствующий пароль. Вы думаете, эта операционная система гневно ответит вам: "Руки прочь от компьютера! Введенное вами имя нельзя использовать, т. к. оно не зарегистрировано"? Ничего подобного! Вместо этого она ласково скажет: "Да вы, батенька, никогда раньше этим именем не пользовались. А не желаете ли зарегистрироваться?"
Злоумышленник, конечно же, с радостью согласится, и Windows 95/98 будет в его полном распоряжении. Примерно то же самое получится, если в ответ на приглашение зарегистрироваться нажать на клавиатуре компьютера клавишу <ESC>.
Эти простые приемы должны убедить вас в полной бесполезности парольной защиты Windows 95/98 в деле обеспечения безопасной работы с компьютером. Если вас такое положение дел не устраивает, загрузите улучшенный вариант библиотеки программ, реализующий парольную защиту в Windows 95/98, с Internet-сервера корпорации Microsoft
Таким образом, для создания загрузочного диска не требуется каких-либо особенных познаний. Зато с его помощью можно без всяких хлопот обойти систему парольной защиты Windows 95/98. Эта система активируется только при загрузке Windows 95/98. При использовании же загрузочного диска происходит запуск не Windows 95/98, а ее подсистемы, функционально эквивалентной операционной системе DOS и не имеющей никаких средств обеспечения безопасной работы с компьютером (наподобие парольной защиты). Затем путем нехитрых манипуляций злоумышленник может не только установить собственный пароль для последующего открытия сеанса работы с Windows 95/98, но и сделать так, чтобы все остальные ее пользователи ничего не заметили и продолжали регистрироваться в Windows 95/98 посредством своих законных паролей.
Чтобы предотвратить несанкционированный доступ к компьютеру через загрузочный диск, необходимо применять дополнительные физические меры защиты (например, закрывать на замок дверь, ведущую в помещение, где находится компьютер), блокировать клавиатуру или кнопку включения питания компьютера при помощи ключа, использовать установки BIOS компьютера для предотвращения неконтролируемой загрузки операционной системы с гибкого диска, а также для задания пароля включения питания и изменения установок BIOS.
Подобные меры окажутся весьма действенными и в том случае, если злоумышленник захочет использовать возможность загрузки Windows 95/98 в режиме защиты от сбоев, который также называется защищенным режимом (Safe Mode). Этот режим представляет собой специальный способ работы с Windows 95/98, с помощью которого можно запустить эту операционную систему, невзирая на всякие "мелочи" вроде парольной защиты. Для этого после включения питания компьютера достаточно удерживать в нажатом положении клавишу <F5> компьютерной клавиатуры.
Помимо <F5>, на клавиатуре имеются две другие особо "опасные" клавиши — <Ctrl> и <F8>, нажимая которые в ходе первоначальной загрузки Windows 95/98, злоумышленник может вызвать на экран дисплея специальное меню. В нем в качестве одной из опций присутствует возможность вместо Windows 95/98 запустить операционную систему DOS. С помощью этого меню можно заставить Windows 95/98 грузиться в режиме защиты от сбоев. Присутствие обеих этих возможностей одинаково нежелательно с точки зрения обеспечения в Windows 95/98 надежной парольной защиты.
Поэтому использование <F5>, <F8> и <Ctrl> и других подобных им клавиш в ходе первоначальной загрузки следует запретить, заставив Windows 95/98 никак не реагировать на их нажатие. Для этого достаточно отредактировать системный файл MSDOS.SYS, располагающийся, как правило, в разделе жесткого диска, с которого грузится Windows 95/98. Открыв MSDOS.SYS при помощи обычного редактора, вы увидите текст примерно следующего содержания:
[Paths]
WinDir=C:\WINDOWS
WinBootDir=C:\WINDOWS
HostWinBootDrv=C
[Options]
BootGUI=l
;
;The following lines are required for compatibility with other programs.
;Do not remove them (MSDOS.SYS needs to be >1024 bytes).
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxa ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx c
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x e ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxf ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxg ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxh ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi
; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх j ; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх k
; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх m
; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх o
; хххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххр xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxq
; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх r
; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх s
Добавьте в раздел [Options] файла MSDOS.SYS одну из двух команд: BootKeys = 0 или BootDeiay= 0 . Обе эти команды позволяют дезактивировать работу клавиш <F5>, <F8> и <Ctrl> в ходе первоначальной загрузки. А чтобы слишком умный взломщик не смог незаметно убрать команду BootKeys = 0 или BootDeiay= 0 , предусмотрительно помещенную вами в файл MSDOS.SYS, следует защитить его при помощи антивирусного сканера, который своевременно предупредит вас обо всех попытках внести несанкционированные изменения в этот файл.
Возможные атаки на базу данных SAM
Обычно основным предметом вожделения, испытываемого взломщиком парольной защиты операционной системы, являются административные полномочия. Их можно получить, узнав в хэшированием или символьном виде пароль администратора системы, который хранится в базе данных SAM. Поэтому именно на базу данных SAM бывает направлен главный удар взломщика парольной защиты Windows NT.
По умолчанию в операционной системе Windows NT доступ к файлу \winnt_root\System32\Config\SAM заблокирован для всех без исключения ее пользователей. Тем не менее, с помощью программы NTBACKUP любой обладатель права на резервное копирование файлов и каталогов Windows NT может перенести этот файл с жесткого диска на магнитную ленту. Резервную копию реестра также можно создать утилитой REG ВАК из Windows NT Resource Kit. Кроме того, несомненный интерес для любого взломщика представляют резервная копия файла SAM (SAM.SAV) в каталоге \winnt_root\System32\Config и сжатая архивная копия SAM (файл SAM._) в каталоге \winnt_root\Repair.
При наличии физической копии файла SAM извлечь хранимую в нем информацию не представляет никакого труда. Загрузив файл SAM в реестр любого другого компьютера с Windows NT (например, с помощью команды Load Hive программы REGEDT32), можно в деталях изучить учетные записи пользователей, чтобы определить значения RID пользователей и шифрованные варианты их хэшированных паролей. Зная RID пользователя и имея зашифрованную версию его хэшированного пароля, компьютерный взломщик может попытаться расшифровать этот пароль, чтобы использовать его, например, для получения сетевого доступа к другому компьютеру. Однако для интерактивного входа в систему одного лишь знания хэшированного пароля недостаточно. Необходимо получить его символьное представление.
Для восстановления пользовательских паролей операционной системы Windows NT в символьном виде существуют специальные парольные взломщики, которые выполняют как прямой подбор паролей, так и поиск по словарю, а также используют комбинированный метод взлома парольной зашиты, когда в качестве словаря задействуется файл с заранее вычисленными хэшированными паролями, соответствующими символьным последовательностям, которые часто применяются в качестве паролей пользователей операционных систем. Одной из самых известных программ взлома паролей операционной системы Windows NT является LOphtCrack
Взлом парольной защиты операционной системы UNIX
В операционной системе UNIX информацию о пароле любого пользователя можно отыскать в файле passwd, находящемся в каталоге etc. Эта информация хранится в зашифрованном виде и располагается через двоеточие сразу после имени соответствующего пользователя. Например, запись, сделанная в файле passwd относительно пользователя с именем bill, будет выглядеть примерно так:
bill:5fg63fhD3d5g:9406:12:Bill Spencer:/home/fsg/will:/bin/bash
Здесь 5fg63fhD3d5g — это и есть информация о пароле пользователя bill.
При первоначальном задании или изменении пользовательского пароля операционная система UNIX генерирует два случайных байта (в приведенном выше примере 5 и f) к которым добавляются байты пароля. Полученная в результате байтовая строка шифруется при помощи специальной криптографической процедуры Crypt2 (в качестве ключа используется пароль пользователя) и в зашифрованном виде (g63fliD3d5g) вместе с двумя случайными байтами (5f) записывается в файл /etc/passwd после имени пользователя и двоеточия.
Если злоумышленник имеет доступ к парольному файлу операционной системы UNIX, то он может скопировать этот файл на свой компьютер и затем воспользоваться одной из программ для взлома парольной защиты UNIX.
Самой эффективной и популярной такой программой является Crack. И хотя она предназначена для запуска на компьютерах, работающих только по.: управлением операционных систем семейства UNIX, инициируемый ею процесс поиска паролей может быть без особых усилий распределен междх различными платформами, подключенными к единой компьютерной сет. Среди них могут оказаться и IBM-совместимые персональные компьютеры , с операционной системой Linux, и рабочие станции RS/6000 с AIX. и Macintosh с A/UX.
CrackJack — еще одна известная программа для взлома паролей операционной системы UNIX. К сожалению, работает она только под управлением операционной системы DOS, но зато весьма непритязательна в том, что касается компьютерных ресурсов. К другим недостаткам этого парольною взломщика можно отнести запрет на одновременное использование сразу нескольких словарей и принципиальную невозможность запуска CrackJack под Windows 95/98.
В отличие от CrackJack, парольный взломщик PaceCrack95 работает пол Windows 95/98 в качестве полноценного DOS-приложения. К тому же он достаточно быстр, компактен и эффективен.
Парольные взломщики Q-Crack и John the Ripper примечательны тем, что существуют версии этих взломщиков, предназначенные для работы не только на DOS/Windows-платформах, но и на компьютерах с операционной системой Linux.
А парольный взломщик Hades лучше остальных документирован и содержит ряд очень полезных утилит, которые позволяют осуществлять слияние нескольких словарей в один большой словарь, удалять из словаря повторяющиеся слова и добавлять в уже имеющийся словарь пароли, взломанные в процессе работы Hades.
Существует множество других программ взлома паролей операционной системы UNIX. Они устойчивы к сбоям электропитания компьютеров, на которых работают (XiT), позволяют планировать время своей работы (Star Cracker), при выполнении монополизируют процессор для достижения максимальной производительности (Killer Cracker), не только взламывают пароли операционной системы UNIX, но и помогают преодолеть парольную защиту других программ, которые требуют, чтобы пользователь зарегистрировался путем ввода своего имени и соответствующего пароля (Claymore).
Что же касается защиты от взлома паролей операционной системы UNIX, то ее пользователям следует настоятельно порекомендовать применять только стойкие пароли, а в качестве критерия стойкости пароля использовать его отсутствие в словарях, предназначенных для парольных взломщиков. Да и сами файлы с информацией о пользовательских паролях следует прятать подальше от посторонних любопытных глаз. Достигается это обычно с помощью так называемого затенения (shadowing), когда в файле passwd шифрованные пароли пользователей заменяются служебными символами (например, звездочками), а вся парольная информация скрывается в каком-нибудь укромном месте. И хотя существуют программы, специально созданные для отыскания спрятанных парольных файлов операционной системы UNIX, к счастью для системных администраторов эти программы далеко не универсальны и успешно срабатывают не для всех операционных систем семейства UNIX.
Одним из основных компонентов системы безопасности Windows NT является диспетчер учетных записей пользователей. Он обеспечивает взаимодействие других компонентов системы безопасности, приложений и служб Windows NT с базой данных учетных записей пользователей (Security Account Management Database, SAM). Эта база обязательно имеется на каждом компьютере с операционной системой Windows NT. В ней хранится вся информация, используемая для аутентификации пользователей Windows NT при интерактивном входе в систему и при удаленном доступе к ней по компьютерной сети.
База данных SAM представляет собой один из кустов (hive) системного реестра (registry) Windows NT. Этот куст принадлежит ветви (subtree) HKEY_LOCAL_MACHINE и называется SAM. Он располагается в каталоге \wmnt_root\System32\ConfIg (winnt_root — условное обозначение каталога с системными файлами Windows NT) в отдельном файле, который тоже называется SAM.
Информация в базе данных SAM хранится в основном в двоичном виде. Доступ к ней обычно осуществляется через диспетчер учетных записей. Изменять записи, находящиеся в базе данных SAM, при помощи программ, позволяющих напрямую редактировать реестр Windows NT (REGEDT или REGEDT32), не рекомендуется. По умолчанию этого и нельзя делать, т. к. доступ к базе данных SAM запрещен для всех без исключения категорий пользователей операционной системы Windows NT.
Защита системы от парольных взломщиков
Итак, вывод однозначен: одна из главных задач системного администратора Windows NT состоит в защите от несанкционированного доступа той информации, которая хранится в базе данных SAM. С этой целью ему, прежде всего, необходимо ограничить физический доступ к компьютерам сети и прежде всего — к контроллерам доменов. Дополнительно, при наличии соответствующих программно-аппаратных средств, следует установить пароли BIOS на включение компьютеров и на изменение настроек BIOS. Затем, , используя настройки BIOS, рекомендуется отключить загрузку компьютеров с гибких и компакт-дисков. А для обеспечения контроля доступа к файлам и папкам операционной системы Windows NT системный раздел жесткою диска должен иметь формат NTFS.
Каталог \winnt_root\repair нужно средствами операционной системы закрыть для доступа всех пользователей, включая администраторов, и разрешать к ней доступ только во время работы утилиты RDISK, создающей в этом каталоге архивные копии системного реестра Windows NT. Системные администраторы также должны внимательно следить за тем, где и как хранятся дискеты аварийного восстановления (Emergency Repair Disks) и архивные копии на магнитных лентах, если на последних присутствует дубликат системного реестра Windows NT.
Если компьютер с операционной системой Windows NT входит в домен, то по умолчанию имена и хэшированные пароли последних 10-ти пользователей, регистрировавшихся на этом компьютере, сохраняются (кэшируются) в его локальном системном реестре (в разделе SECURITY\Policy\Secrets куста HKEY LOCAL_MACHINE). Чтобы отменить кэширование паролей на компьютерах домена, нужно с помощью утилиты REGEDT32 в раздел Micro-soft\WindowsNT\CurrentVersion\Winlogon куста HKEY_LOCAL MACHINE добавить параметр CashedLogonsCount, установив его значение равным нулю, а тип — REG_SZ.
Для защиты базы данных SAM можно применить утилиту SYSKEY, входящую в состав пакета обновления Windows NT Service Pack 3. Эта утилита позволяет включить режим дополнительного шифрования информации о паролях, которая хранится в базе данных SAM. Уникальный 128-битовый ключ для дополнительного шифрования паролей (так называемый ключ шифрования паролей — Password Encryption Key, РЕК) автоматически сохраняется в системном реестре для дальнейшего использования.
Перед помещением в системный реестр ключ РЕК шифруется при помощи Другого 128-битового ключа, который называется системным ключом (System Key), и может храниться либо в системном реестре, либо в файле с именем STARTUP.KEY в корневом каталоге на отдельной дискете. Можно не сохранять системный ключ на магнитном носителе, и тогда каждый раз при запуске операционной системы он будет вычисляться с помощью алгоритма MD5 на основе пароля, набираемого на клавиатуре в диалоговом окне утилиты SYSKEY. Последние два способа хранения системного ключа обеспечивают максимальную защиту паролей в базе данных SAM, однако приводят к невозможности автоматической перезагрузки операционной системы, поскольку для завершения процесса перезагрузки потребуется либо вставить дискету с системным ключом и подтвердить ее наличие в дисководе путем нажатия кнопки ОК в появившемся диалоговом окне, либо вручную ввести системный ключ с клавиатуры.
Для повышения стойкости паролей пользователей операционной системы Windows NT ко взлому рекомендуется с помощью утилиты Диспетчер пользователей (User Manager) задать минимальную длину пользовательских паролей равной не менее 8 символов и включить режим устаревания паролей, чтобы пользователи периодически их обновляли. При этом чем выше вероятность атак на парольную защиту Windows NT, тем короче должен быть срок такого устаревания. А чтобы пользователи не вводили свои старые пароли повторно, необходимо включить режим хранения некоторого числа ранее использовавшихся паролей.
Утилита PASSPROP из состава Windows NT Resource Kit, запущенная с ключом /COMPLEX, заставляет пользователей вводить более устойчивые пароли, которые или сочетают буквы в разном регистре, или буквы с цифрами, или буквы со специальными символами. Более строгие правила фильтрации нестойких паролей можно задать после установки любого из пакетов обновления Windows NT, начиная с Service Pack 2. Тогда специальная библиотека PASSFJLT.DLL, находящаяся в каталоге \winnt_root\System32, будет следить за тем, чтобы каждый пользовательский пароль состоял не менее чем из 5 символов, не содержал имени пользователя, включал символы, по крайней мере, трех наборов из четырех возможных, составленных из прописных букв, строчных букв, цифр и специальных символов (знаков препинания и т. д.) соответственно. Чтобы задать такой режим проверки паролей пользователей, необходимо в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControISet\Control\Lsa системного реестра с помощью программы REGEDT32 добавить параметр Noti fi cation Packages типа REG_MULTI_SZ и вписать в него строку PASSFILT Если этот параметр уже имеется, то новую строку следует дописать после уже существующей.
В заключение необходимо отметить, что хотя в умелых руках злоумышленника программы взлома паролей операционных систем представляют огромную опасность для их парольной защиты, сами парольные взломщики все же являются не менее ценным инструментом для системных администраторов, которые заинтересованы в выявлении слабых мест в парольной защите своих операционных систем. Основная проблема состоит не в том ч го на свете существуют парольные взломщики, а в том, что ими недостаточно часто пользуются системные администраторы. Надеюсь, что после выхода в свет этой книги положение дел изменится к лучшему.