|
Участник форума
Регистрация: 05.02.2005
Сообщений: 121
С нами:
11189246
Репутация:
10
|
|
История работы пользователя в Windows-системе кроме специальных журналов, протоколирующих события, хранится в системном реестре. Об этом у меня был цикл из трех статей в КГ, опубликованных в номерах с 15 по 17, под общим заголовком “Анализ активности”. Копии есть у меня на сайте. Правда, следует сделать оговорку: “анализ активности”, рассмотренный в статьях, велся применительно и преимущественно к локальным Windows-системам.
6. Чего следует избегать
У большинства компьютерных систем пароль пользователя участвует как параметр в криптоалгоритме для генерации хэш-значения (“hash” — дословно мусор). Для справки: хэш-функции широко используются в базах данных или в языке “Java” для сопоставления каждому объекту уникального значения. Однако, уникальность хэш-значения для каждого объекта в Java, да и не только в Java, не более чем идеализация, и у разных объектов (и у значений хэш-функций после криптопреобразования с участием пароля) хэш-значения могут совпадать. На этом принципе основана криптоатака под названием “коллизия паролей”. Следующее требование, которое предъявляется хэш-значению — это отсутствие возможности или сложность в реальном масштабе времени на реальных компьютерных системах восстановить оригинальное значение по соответствующему хэш-значению.
Далее хэш-значение, сгенерированное после введения пароля, сравнивается со значением, хранящимся в системе. Если значения совпали, то пароль и пользователь, соответственно, считаются легальными. Это общий принцип проверки при регистрации в системе. Хотя бывают более сложные протоколы регистрации, когда идет проверка путем так называемого “рукопожатия”, при которой клиент и сервер обмениваются паролями и проверяют валидность друг друга.
Процесс взлома пароля чаще всего состоит из получения доступа к файлу, хранящему пароли (хэш-значения) пользователей, последующему его копированию и, затем, подбору паролей до тех пор, пока не совпадут хэш-значения. В реальности хэш-функции или слабы, или имеют специально поставленные “люки”, и одному значению могут соответствовать несколько паролей (коллизия) либо иметь “универсальные пароли”. Перебор через сеть, без получения копии файла с паролями, я здесь не рассматриваю, это тоже практикуется, но слишком медленно, в особенности, если атака идет не через локальную сеть.
Далее я, в общих чертах, покажу самые ходовые способы атак на пароли. Это информация вряд ли представляет какой-либо интерес или новизну для хакеров, скорее это “информация к размышлению” для пользователей.
Для взлома пароля практикуют в основном три метода:
1. Подбор “социально-ориентированных” паролей. Другими словами, многие пользователи из-за собственной лени или отсутствия фантазии для пароля используют само имя учетной записи (грубейшая ошибка, какую вообще можно совершить), либо берут слово из своей жизни: свое имя, часто — имя любимого человека. Об этом у меня была статья в Компьютерных вестях “Слабые пароли”, опубликованная в 8(239) номере за 4-10 марта 1999 года. Копия есть у меня на сайте. Подобное “головотяпство” встречается часто (до 30% случаев), на этом допущении был основан знаменитый “сетевой червь” Морриса. И этой “рабочей гипотезой” широко пользуются начинающие хакеры.
2. Атака “грубой силой” (“brute force” в английском варианте) или прямым перебором. Здесь имеется в виду простая проба перебором всех возможных комбинаций, пока не будет найдено совпадение хэш-значений. Утилиты для атак “грубой силой” имеют встроенные функции задания диапазона символов и максимальную длину пароля.
3. Атака “по словарю” подразумевает перебор возможных (если точнее, то прогнозируемых) вариантов, хранящихся в словаре. Кроме возможности подключения новых словарей, новейшие утилиты имеют функции постановки “фильтров”: замены символов в заданной позиции, превращающих, например, слово “elite” в “e1i4e” или “idiot” в “1d10t”, или задания правил манипуляции со словами: склейка двух или более слов, перестановка символов в обратном порядке, добавление в начало, в конец, в середину слова служебных символов и т.д.
4. Похищение пароля. Для этого используют разрушающие программные средства во всех вариантах: “клавиатурных шпионов”, “троянских коней”, “вирусов-разведчиков”. Суть в перехвате клавиатурного ввода, копировании содержимого окна с введенным паролем и последующей его передачей по сети, сохранении в файле. Также используется так называемое “подставное окно”, которое эмулирует “настоящее”, и после введения пароля выдается ошибка о том, что пароль “неверен”, пользователь вводит пароль еще раз, но уже в “настоящее” окно. Рекомендую следить за окнами тем, кого это действительно заботит.
4. Атака “по открытому тексту”. Это уже “чистейшей воды” криптоанализ. Здесь для успешной криптоатаки нужна часть файла, о которой точно известно, что она хранится в зашифрованном файле. Это широко практикуется, например, при взломе архивов, закрытых паролем, и сокращает время подбора пароля до считанных минут. Так что пользователям, ведущим “борьбу с проникновением извне”, следует тщательно удалять временные файлы, файлы резервных копий и проводить зачистку свободного пространства и файла “виртуальной” памяти.
Более продвинутые методы “компрометации шифросистем” или криптоанализа здесь не будут рассматриваться.
Не взламывайте пароли ни на каких машинах, кроме своей собственной и только на защищенном разделе. Если вы ломаете их, например, в университете и “корень” (root) видит ваш процесс, к тому же администратор проверит — в “истории” засветится не только ваша хакерская учетная запись, но и информация о сайте, с которого взят файл с паролями, и весь университет будет таращить на вас глаза. Скачайте данные с паролями и ломайте их на стороннем компьютере в фоновом режиме. Нет необходимости иметь много “ломанных” учетных записей, достаточно нескольких.
Windows 95/98 хранит свои пароли к “экранной заставке” (“ScreenSaver”) и к “разделяемым” (“shared”) ресурсам — в системном реестре и Пароли пользователей на вход в систему в файлах с расширением “*.PWL”, находящимся в “%WinDir%\<имя_пользователя>.PWL , где “%WinDir%” — каталог, в который установлена Windows. По умолчанию папка “C:\Windows”. Переменные окружения и каталог Windows можно легко вывести командой “set”, набрав ее в DOS-сеансе в командной строке.
Учетные записи пользователей в Windows NT ведет SAM (security account manager — “диспетчер учетных записей”). Размещение базы данных пользователей находится в “\SYSTEM32\CONFIG\SAM”, обычно глобально доступной “на чтение”, однако, при работе ОС доступ к ней заблокирован, так как она используется компонентами системы. Возможно наличие в системе файлов “SAM.SAV”, которые будет разрешено читать и которые тоже нелишне будет взять для получения информации о паролях. В процессе инсталляции Windows NT копия базы данных с паролями, в которой будут только гостевая и администраторская учетные записи, помещается в “\REPAIR”. Этой копии вполне хватит при условии, что администратор не сменил пароль. Если администратор обновил диски для аварийного восстановления, то копия базы данных паролей “SAM._” будет в каталоге “ERD”.
В системном реестре Windows NT информация об учетных записях пользователей с их правами и паролями хранится в разделе “HKEY_LOCAL_MACHINE\SAM”. Файл резервной копии “SAM.LOG” тоже может быть мишенью для хакерских атак. Обобщая, можно сказать, что для получения доступа к паролям с последующей на них атакой необходимо искать те или иные версии “SAM.*” файлов.
Файл с похищенными паролями рекомендовано хранить зашифрованным и открывать только для “работы”. Если его обнаружат у вас, он будет важной уликой, и не в вашу пользу. Необходимо иметь также файл с легальными паролями (своими собственными). При желании можно импортировать базу данных с учетными записями взламываемых данных. При раскрытии вашей активности можно будет сослаться на то, что вы были заняты “реставрацией” собственных паролей или тестированием системы, хотя это не лучшее оправдание.
Если вы запускаете критичные утилиты, такие, как ypx, iss, satan, или взламываете программы, переименуйте их перед запуском или используйте немного общих данных для обмена с работающей программой, присутствующей в списке процессов. Любой пользователь подкованный в безопасности (и вне сомнения администратор) поймет, что происходит, когда увидит 5 ypx программ, работающих в фоновом режиме... И, конечно, если это возможно, не вводите параметры в командной строке, когда программа поддерживает интерактивный режим, например, такая как telnet. Наберите “telnet” и затем лишь “open target.host.com”, не засветив имя целевого хоста как параметр в списке процессов.
Атака “по словарю” затребует скоростных дисковых ресурсов, тогда как для атак “прямым” перебором нужен быстрый процессор. “Прямой перебор” может существенно захватить вычислительные ресурсы, поэтому процессы, запущенные утилитой, по возможности, необходимо перевести на пониженный приоритет (“idle”), иначе машина, однопроцессорная в особенности, может просто “впасть в коллапс”. Windows 95, в отличие от NT, не имеет возможности манипулировать приоритетом процессов встроенными средствами. Для этого я бы рекомендовал утилиту PrcView для Windows 9.x и Windows NT (бывший PView95), позволяющую менять приоритеты и “убивать” процессы.
***ПРОДОЛЖЕНИЕ НИЖЕ***
|