Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Логико-лингвистические модели атак на компьютерные системы. Остапенко Г.А., Дмитриева Е.Ю.doc
Скачиваний:
39
Добавлен:
30.04.2022
Размер:
8.68 Mб
Скачать

1.3 Классификация и принцип работы программного обеспечения для подбора паролей

1.3.1 Подбор паролей в oc Windows

Для успешного выполнения атаки подбора паролей в ОС Windows необходимо получение SAM-файла и файла SYSTEM. Для усиления безопасности компания Microsoft добавила в операционную систему утилиту SYSKEY, которая первоначально входила в Service Pack 3 для Windows NT 4.0. Данная утилита позволяет дополнительно зашифровывать хэши паролей учетных записей пользователей с применением 128-битного ключа, что делает невозможным процесс извлечения хэшей из SAM-файла некоторыми программами, например программой SAMDump. В операционных системах Windows 2000/2003/XP утилита SYSKEY активирована по умолчанию, а дополнительное шифрование не может быть заблокировано.

При активированном режиме SYSKEY ключ шифрования паролей, который кодируется с помощью системного ключа, может храниться как локально, так и отдельно — на внешнем носителе.

Впервые способ преодоления защиты SYSKEY был предложен Тоддом Сабином (Todd Sabin) в его программе pwdump2. Данный способ может быть реализован только на локальной машине, и для создания дампа паролей методом pwdump2 необходимо иметь права администратора. Работа утилиты pwdump2 основана на внедрении библиотеки samdump.dll, посредством которой она записывает свой код в пространство другого процесса (lsass.exe), обладающего более высоким уровнем привилегий. Загрузив библиотеку samdump.dll в процесс lsass (системная служба Local Security Authority Subsystem, LSASS), программа использует те же самые внутренние функции интерфейса API, чтобы обратиться к хэшам паролей. Это означает, что утилита получает доступ к зашифрованным паролям без их расшифровки.

Кроме метода внедрения библиотеки, существуют и другие способы обхода ограничения защиты SYSKEY. Например, если имеется доступ к самому ключу, который может храниться на локальной машине, то можно расшифровать данные SAM-файла. Ключ является составной частью реестра, и информация о нем может быть извлечена из файла SYSTEM, который сохраняется в той же директории, что и файл SAM. При загруженной операционной системе Windows файл SYSTEM, так же как и файл SAM, является заблокированным, при этом отсутствует возможность его копирования или модификации.

Получение SAM-файла и системного ключа шифрования для локального ПК. При использовании утилит подбора паролей по их хэш-функциям необходимо получить SAM-файл и файл SYSTEM. Некоторые утилиты (в частности, SAMinside), позволяют сделать это и при загруженной операционной системе. Данная операция возможна только при условии, что компьютер загружен под учетной записью пользователя, имеющего права администратора. Но если компьютер загружен под учетной записью пользователя с правами администратора нет необходимости производить атаку подбора паролей. Поэтому, наиболее типичной является ситуация, когда учетная запись с правами администратора неизвестна, и нужно подобрать пароль администратора или любого пользователя данного ПК с правами администратора.

В этом случае необходимо предварительно скопировать два файла: SAM и SYSTEM, которые расположены в директории %systemroot%\system32\config (по умолчанию это директория С\Windows\system32\config).

Для осуществления данной процедуры требуется загрузить компьютер с помощью альтернативной операционной системы. Один из вариантов — создание загрузочного диска Live CD. Необходимо также вставить флэш-диск USB, чтобы иметь возможность скопировать на него нужные файлы.

После загрузки компьютера с помощью альтернативной операционной системы нужно скопировать на флэш-диск два файла: SAM и SYSTEM.

Данный способ получения файлов SAM и SYSTEM применяется в тех случаях, когда имеется локальный доступ к компьютеру и необходимо получить учетную базу пользователей вместе с хэш-функциями паролей, хранящимися на самом компьютере. Для получения сетевого пароля используется иная процедура.

 Получение SAM-файла и системного ключа шифрования для сетевого компьютера. В случае локальной сети файлы SAM и SYSTEM хранятся на контроллере домена, и в данном случае получить доступ сложнее. При использовании того же способа, что и для локального ПК процедура получения файлов может быть замечена. Некоторые утилиты (например, LCP 5.04) поддерживают возможность удаленного получения SAM-файла с контроллера домена. Для реализации такого способа необходимо обладать правами доступа администратора сети или контроллера домена. На контроллере домена можно легко заблокировать возможность удаленного доступа к реестру — в этом случае все попытки извлечь SAM-файл по сети будут заблокированы.

Утилита LCP 5.04 (рисунок 1.5) является очень мощным средством подбора паролей по LM- и NT-хэшам. Эта утилита бесплатна и имеет русскоязычный интерфейс.

 

Рисунок - 1.5 - Главное окно утилиты LCP 5.04

Для того чтобы начать работу с данной утилитой, прежде всего требуется импортировать в нее учетную базу пользователей. Программа LCP 5.04 поддерживает импорт учетных записей пользователей с локального и удаленного компьютеров, импорт SAM-файла, импорт Sniff-файлов, а также импорт файлов, созданных другими утилитами (в частности, файлов LC, LCS и PwDump).

Импорт учетных записей пользователей с локального компьютера подразумевает два варианта операционной системы: Windows NT/2000/2003/XP без Active Directory и то же самое, но с Active Directory (рисунок 1.6).

 

Рисунок 1.6 - Окно импорта учетных записей пользователей с локального компьютера

Однако если применяется операционная система Windows XP SP2, то импорт с локального компьютера невозможен. При выборе любого из вариантов срабатывает защита операционной системы и компьютер, предварительно уведомив об этом пользователя, перезагружается.

Импорт учетной базы пользователей с удаленного ПК позволяет выбрать компьютер в составе локальной сети, указать тип импорта (импорт из реестра или из памяти) и, в случае необходимости, ввести имя пользователя и пароль при подключении к удаленному ПК (рисунок 1.7). При использовании удаленного подключения пользователь должен иметь права администратора.

 

Рисунок 1.7 - Окно настройки импорта учетных записей пользователей с удаленного ПК

 

Рисунок 1.8 - Окно настройки импорта SAM-файла

При импорте SAM-файла необходимо указать путь к нему, а также к файлу SYSTEM (рисунок 1.8). При этом предполагается, что файлы SAM и SYSTEM предварительно скопированы описанным выше способом.

После того как в программу LCP 5.04 произведен импорт учетных записей пользователей, содержащих имя пользователя, LM- и NT-хэши, можно приступать к процедуре подбора паролей (рисунок 1.9). Утилита поддерживает подбор как по LM, так и по NT-хэшу. При наличии LM-хэша атака будет направлена именно на него.

 В утилите LCP 5.04 реализовано три типа атак для подбора паролей по их хэшам: атака по словарю, гибридная атака по словарю и атака методом последовательного перебора.

Рисунок 1.9 - Главное окно утилиты LCP 5.04 с импортированными данными учетных записей пользователей

Рисунок 1.10 - Настройка атаки по словарю в утилите LCP 5.04

 В частности, к словарю можно добавлять имена пользователей, учитывать возможность использования соседних клавиш, повтора слова, обратного порядка символов в словах, конкатенации с обратным порядком символов, применения усеченных слов, слов без гласных, транслитерации. Кроме того, можно проверять изменение раскладки на латинскую или на локализованную. Также для атаки по словарю можно подключать разные словари, или сразу несколько.

При подборе паролей методом гибридной атаки по словарю к каждому слову либо к его модификации справа и/или слева добавляются символы. Для каждой получившейся комбинации вычисляется хэш, который сравнивается с хэшами паролей пользователей. В программе LCP 5.04 можно задать количество символов, добавляемых слева или справа от слова (его модификации) (рисунок 1.11).

Рисунок 1.11 - Настройка гибридной атаки в утилите LCP 5.04

При использовании атаки методом последовательного перебора можно указывать набор символов, применяемых для подбора, из нескольких предопределенных наборов (рисунок 1.12), задавать набор символов вручную. Кроме того, можно указывать длину пароля и ограничивать минимальную и максимальную длину. Если известны некоторые символы пароля или хотя бы регистр символов, то можно дополнительно указывать, какие символы должны присутствовать в пароле (и их местоположение) (рисунок 1.13), а также определять для каждого неизвестного символа его регистр (верхний, нижний, неизвестно).

 

Рисунок 1.12 - Окно настройки атаки методом последовательного перебора в утилите LCP 5.04

Еще одной особенностью утилиты LCP 5.04 является возможность разбиения атаки последовательным перебором на части (с их последующим объединением). Каждая часть задачи может независимо от других частей выполняться на отдельном компьютере. Соответственно чем больше задействуется компьютеров для перебора, тем выше скорость выполнения задачи.

Утилита LCP 5.04 поддерживает экспорт результатов (найденных паролей) в текстовый файл и добавление паролей в словарь, что в дальнейшем позволяет более эффективно подбирать пароли пользователей.

Рисунок 1.13 - Настройка маски известных символов пароля

Утилита SAMinside тоже предназначена для подбора паролей по хэш-функциям, однако по функциональности она несколько отличается от утилиты LCP 5.04.

Утилита SAMinside поддерживает несколько языков, в частности интерфейс утилиты можно настроить на русский язык (рисунок 1.14).

 

Рисунок 1.14 - Главное окно утилиты SAMinside

Перед началом работы с данной утилитой необходимо импортировать в нее учетную базу пользователей. Программа SAMinside обеспечивает импорт файлов реестров SAM и SYSTEM, импорт файла реестра SAM и файла с ключом SYSKEY, импорт учетных записей пользователей с локального компьютера с применением процедур LSASS и Sheduler. Кроме того, предусмотрен импорт базы учетных записей пользователей из других программ (в частности, файлов LCP, LCS, LC, LST и PwDump).

При сравнении возможностей утилит SAMinside и LCP 5.04, нужно отметить, что утилита SAMinside не поддерживает импорт учетной базы пользователей с удаленного ПК, но может импортировать ее с локального компьютера с использованием процедур LSASS и Sheduler. Для выполнения данной операции, необходимо иметь права администратора на локальном ПК.

При импорте SAM-файла необходимо указать путь к нему, а также к файлу SYSTEM. При этом предполагается, что оба файла предварительно скопированы с нужного компьютера.

После того как произведен импорт учетных записей пользователей в программу SAMinside, можно приступать к процедуре восстановления паролей. Утилита поддерживает подбор как по LM-, так и по NT-хэшу.

В утилите SAMinside реализовано несколько типов атак для подбора паролей по их хэшам: атака по словарю, гибридная атака по словарю, атака по маске, атака методом последовательного перебора и атака по Rainbow-таблицам.

При атаке по словарю предусмотрены гибкие возможности по настройке. К словарю можно добавлять имена пользователей, проверять дважды записанные слова, слова, записанные в обратном порядке, последовательности соседних клавиш и повторы одинаковых символов (рисунок 1.15). Однако в настройках атаки по словарю (рисунок 1.16) не предусмотрена возможность проверять замену раскладки на латинскую или на локализованную.

 

Рисунок 1.15 - Настройка атаки по словарю в утилите SAMinside

Рисунок 1.16 - Подключение словарей в утилите SAMinside

При подборе паролей методом гибридной атаки по словарю к каждому слову словаря либо к его модификации справа и/или слева добавляются символы. С помощью настроек программы можно указать количество таких символов (рисунок 1.17).

 

Рисунок 1.17 - Настройка гибридной атаки в утилите SAMinside

При атаке методом последовательного перебора (рисунок 1.18) возможно указывать набор символов, используемых для подбора, из нескольких предопределенных наборов или задавать набор символов вручную. Кроме того, можно указывать длину пароля и ограничивать минимальную и максимальную длину.

 

Рисунок 1.18 - Окно настройки атаки методом перебора в утилите SAMinside

Также имеется возможность выполнять подбор методом последовательного перебора на нескольких компьютерах.

При настройке атаки по маске (рисунок 1.19) можно задать максимальную длину пароля и для каждого символа настроить маску. Если точно известен символ в пароле и его позиция, то можно указать данный символ. Кроме того, для каждого символа в качестве маски можно использовать предопределенный набор символов.

 

Рисунок 1.19 - Окно настройки атаки по маске в утилите SAMinside

Еще одна возможность атаки, реализованная в программе SAMinside, — это атака по Rainbow-таблицам (применяется только для LM-хэшей). Программа поддерживает таблицы, сгенерированные утилитой rainbowcrack. Для генерации таблиц используется файл rtgen.exe.

Идея Rainbow-таблиц заключается в следующем: атака методом последовательного перебора занимает чрезвычайно много времени, для ускорения процесса можно воспользоваться предварительно сформированными таблицами, в которых сохранялись бы сгенерированные наборы символов и соответствующие им LM-хэши.

Процесс генерации Rainbow-таблиц может занять от нескольких дней до нескольких лет в зависимости от применяемых настроек. Однако если такие таблицы созданы, то их использование существенно повышает скорость подбора паролей, который в этом случае занимает несколько минут. Rainbow-таблицы являются наиболее эффективным и быстрым средством для подбора паролей.

Утилита Proactive Password Auditor. Еще одна популярная утилита, позволяющая восстанавливать пароли по их хэш-функциям, — это Proactive Password Auditor от компании Elcomsoft.

Программа Proactive Password Auditor (рисунок 1.20) поддерживает русскоязычный интерфейс и очень проста в эксплуатации.

 

Рисунок 1.20 - Главное окно программы Proactive Password Auditor

Перед началом работы с данной утилитой необходимо импортировать в нее учетную базу пользователей. Утилита Proactive Password Auditor поддерживает импорт учетной базы пользователей, как с локального, так и с удаленного ПК.

Импорт учетных записей пользователей с локального ПК может быть реализован за счет доступа к памяти локального компьютера или реестра.

Импорт учетных записей пользователей с удаленного компьютера осуществляется только за счет доступа к памяти удаленного компьютера. При этом предварительно нужно выбрать сетевой компьютер (рисунок 1.21), к которому необходимо подключиться для доступа к памяти. Данная процедура возможна только при наличии администраторских привилегий.

 

Рисунок 1.21 - Получение учетной базы пользователей с удаленного ПК

Утилита поддерживает подбор как по LM-, так и по NT-хэшу.

В утилите Proactive Password Auditor реализовано несколько типов атак для подбора паролей по их хэшам: атака по словарю, атака по маске, атака методом последовательного перебора и атака по Rainbow-таблицам.

При атаке по словарю каких-либо настроек не предусматривается. Возможно лишь одновременное подключение множества словарей.

При атаке методом последовательного перебора можно указывать набор символов, применяемых для подбора из нескольких предопределенных наборов, или задавать набор символов вручную. Кроме того, можно указывать длину пароля и ограничивать минимальную и максимальную длину.

При настройке атаки по маске можно задать максимальную длину пароля и, если точно известен символ в пароле и его позиция, указать данный символ в маске. Кроме того, при атаке по маске, как и в случае атаки, методом перебора, имеется возможность указывать набор символов, используемых для подбора, из нескольких предопределенных наборов или задавать набор символов вручную.

 

Рисунок 1.22 - Настройка режима генерации Rainbow-таблиц в программе Proactive Password Auditor

Как и в случае утилиты SAMinside, программа Proactive Password Auditor поддерживает атаку по Rainbow-таблицам (как для LM, так и для NT-хэшей). Причем уникальной особенностью данной программы является генерация Rainbow-таблиц с гибкими возможностями по настройке (рисунок 1.22 и рисунок 1.23).

 

Рисунок 1.23 - Генерация Rainbow-таблиц в программе Proactive Password Auditor

Сравнение утилит SAMinside, LCP 5.04 и Proactive Password Auditor. Утилиты SAMinside, LCP 5.04 и Proactive Password Auditor представляют собой весьма эффективные инструменты для подбора паролей. У каждой из них есть свои преимущества, поэтому для практического применения необходимо иметь все утилиты. Основные их характеристики приведены в таблице 1.2.

Таблица 1.2. Основные характеристики утилит SAMinside, LCP 5.04 и Proactive Password Auditor

Функции

SAMinside

LCP 5.04

Proactive Password Auditor

Поддержка русского языка

Есть

Есть

Есть

Импорт учетных записей пользователей с локального ПК

Есть

Нет

Есть

Импорт учетных записей пользователей с удаленного ПК

Нет

Есть

Есть

Поддержка распределенных вычислений

Есть

Есть

Нет

Атака по словарю

Хуже

Лучше

Хуже

Гибридная атака

Есть

Есть

Нет

Атака по маске

Лучше

Хуже

Лучше

Атака методом последовательного перебора

Есть

Есть

Есть

Атака по Rainbow-таблицам

Есть

Нет

Есть

Генерация Rainbow-таблиц

Нет

Нет

Есть

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]