Программы для подбора паролей: а есть ли смысл?

Сергей Пахомов

Типы парольной защиты

Сохранение пароля в самом документе

Использование хэш-функций пароля

Парольная защита с шифрованием

Типы защиты, используемые в офисных приложениях

Утилиты для подбора паролей

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

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

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

Тестирование утилит для взлома паролей

Пакет Accent Office Password Recovery v2.60

Утилита Office Key 8.1

Утилита Advanced Office Password Recovery 4.01

Утилита Advanced Office Password Breaker 1.40

Пакет Office Password Recovery Master 2.0

Выводы

 

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

Утилиты для подбора, или, попросту, взлома, паролей сейчас называют утилитами для аудита паролей либо программами для восстановления забытых паролей. Конечно, слово «аудит» звучит более благопристойно, чем «взлом», но суть-то от этого не меняется!

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

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

Типы парольной защиты

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

Сохранение пароля в самом документе

Самый простой способ заключается в том, чтобы сохранить установленный пользователем пароль в самом файле документа. В этом случае доступ к документу (или к его редактированию) пользователь получит только при совпадении вводимого пароля с установленным. Однако данный способ парольной защиты легко преодолеть — ведь если пароль в открытом виде сохраняется в самом документе, то ничто не мешает извлечь его оттуда. К примеру, его можно подсмотреть с помощью любого HEX-редактора. Тем не менее данный способ парольной защиты, несмотря на свою ненадежность, иногда применяется, в частности в документах MS Office (Word, Excel) предусмотрено использование пароля защиты документа от записи, который сохраняется в самом документе в чистом виде (в unicode).

Использование хэш-функций пароля

Для того чтобы исключить возможность того, что кто-то может подсмотреть пароль, сохраняемый в самом документе или в файле, часто применяется несколько более продвинутый способ защиты с помощью хэш-функций (hash) паролей. Хэш-функция получается в результате одностороннего преобразования пароля по специальному алгоритму, при помощи которого для исходного блока данных произвольной длины вычисляется уникальный идентификатор фиксированной длины. Особенность алгоритма хэширования паролей заключается в том, что, зная хэш пароля (результат преобразования), в принципе нельзя вычислить исходный блок данных, то есть сам пароль. Собственно, невозможность расшифровки пароля по его хэш-функции (реализации обратного преобразования) и заложена в понятие одностороннего (то есть только в одну сторону) преобразования. Как уже отмечалось, независимо от длины пароля его хэш-функция имеет фиксированную длину. Алгоритмов одностороннего преобразования (хэширования) пароля существует огромное множество, причем самостоятельная разработка такого алгоритма не представляет сложности.

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

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

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

В-третьих, можно попытаться подобрать пароль. При этом стойкость защиты зависит от длины хэш-функции. К примеру, если длина хэш-функции составляет 32 бита, то количество возможных хэш-функций равно 232 = = 4 294 967 296, что не так уж много. Естественно, что одной и той же хэш-функции может соответствовать несколько паролей, поэтому при такой длине хэша подобрать подходящий пароль несложно, причем совсем необязательно, что найденный пароль будет таким же, какой изначально установлен пользователем.

Парольная защита с шифрованием

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

Алгоритм защиты в данном случае следующий. В каждом зашифрованном документе (файле) сохраняются две контрольные последовательности. Первая — это произвольная случайная последовательность, а вторая — последовательность, полученная в результате смешивания (хэширования) первой контрольной последовательности и ключа шифрования, вычисляемого на основе пароля. То есть вторая контрольная последовательность представляет собой хэш первой последовательности на основе ключа шифрования. При проверке пароля определяются ключ шифрования и соответствие контрольных последовательностей одна другой. Таким образом, в самом документе в явном виде не сохраняется ни пароль, ни секретный ключ. Контрольные последовательности, хранимые в документе, можно изъять или даже подменить, но это не позволит определить секретный ключ, а следовательно, расшифровать весь документ.

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

Типы защиты, используемые в офисных приложениях

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

В случае защиты документов Word от редактирования применяется сохранение хэш-функций пароля в заголовке самого документа. Длина хэша в этом случае составляет 32 бита (4 байта).

Абсолютно такой же способ парольной защиты с помощью хэш-функций применяется при защите документов Excel, когда посредством пароля документ защищается от изменения. Правда, в документах Excel существуют и другие специфические пароли, которые устанавливаются на книгу или на отдельный лист (пароль защиты от видоизменения структуры книги, пароль защиты на редактирование листа). Принцип парольной защиты от редактирования листа примерно такой же, как и от изменений в документе. Отличие лишь в том, что в данном случае длина хэша еще меньше — всего 16 бит (2 байта) и существует всего 216 = 65 536 различных вариантов хэшей, поэтому подобрать такой пароль не составит особого труда.

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

Длина пароля на открытие документов MS Office Word 97-2003 и Excel 97-2003 ограничивается 15 символами (для документов MS Office 2003 длину пароля можно сделать неограниченной, но для этого нужно выбрать шифрование с 128-битным ключом). Попробуем рассчитать, сколько возможных паролей при этом может существовать, учитывая, что в качестве символа можно использовать спецсимволы (30 символов), цифры (10 символов), а также заглавные и строчные буквы как английского (52 символа), так и локализованного алфавита (66 символов). Итого, количество возможных символов — 30 + 10 + 52 + 66 = 158. При максимальной длине пароля в 15 символов получим возможных комбинаций 1581 + 1582 +… + 15815. Число это просто огромно, и с задачей перебора всех возможных паролей за приемлемое время не справится ни один суперкомпьютер.

В документах MS Word 2007 и Excel 2007 длина пароля на открытие документов вообще ничем не ограничивается, то есть пароль может быть любым, а количество возможных паролей бесконечно велико.

Однако и в данном случае есть одно «но». В ранних версиях MS Office (MS Office Word 97-2003 и Excel 97-2003) для шифрования документов использовался алгоритм симметричного шифрования RC4. В данном алгоритме ключ шифрования мог иметь длину до 128 бит, однако экспортные ограничения на криптоалгоритмы не допускали применения секретного ключа такой длины. Поэтому ключ, применяемый при шифровании RC4 в документах MS Office, имел длину только 40 бит, что существенно снижало стойкость этого алгоритма. Реализовать перебор всех возможных секретных ключей можно на обычном ПК за приемлемое время. Действительно, при длине секретного ключа 40 бит количество возможных секретных ключей составляет 240 = 1 099 511 627 776. Перебор всех этих комбинаций на современном ПК займет менее одного месяца.

Впоследствии в пакете MS Office 2003 стали использовать ключ шифрования длиной 128 бит. Соответственно количество возможных секретных ключей составило 2128 = 3,4·1038. С перебором такого количества ключей за приемлемое время (хотя бы за несколько лет) уже не справится ни один, даже самый мощный компьютер. Отметим, что по умолчанию в документах MS Office 2003 применяется 40-битный ключ шифрования и для использования 128-битного ключа необходимо выбрать соответствующий алгоритм шифрования.

Кроме того, в приложениях Office 2007 для шифрования применяется алгоритм AES, а не RC4, и алгоритм хэширования SHA-1.

В сравнении с предыдущими версиями пакета MS Office в пакете MS Office 2007 изменился и алгоритм преобразования пароля в ключ шифрования. Если ранее пароль просто хэшировался вместе со случайным набором байтов, уникальных для каждого документа (SHA-1 преобразование), то в пакете MS Office 2007 для преобразования пароля в ключ нужно выполнить последовательно 50 тыс. SHA-1-преобразований. При открытии документа это незаметно — операция выполняется за доли секунды. Однако когда мы начинаем последовательно перебирать пароли, то скорость перебора катастрофически падает. Поэтому если использовать вычислительную мощность только одного компьютера, то реально можно найти пароль длиной лишь до 4-5 символов, не более.

В MS Office 2007 существенно изменился и алгоритм проверки паролей Read only (открытие в режиме чтения), защиты документа, а также книг и листов Excel. Раньше в документе хранился хэш пароля, состоящий из 2 байт. Соответственно было возможно его реверсирование в первый подходящий пароль. В MS Office 2007 в алгоритме хэширования используются 50 тыс. итераций хэша SHA-1, а следовательно, этот пароль мгновенно найти уже не представляется возможным.

Нужно отметить, что пакет MS Office 2007 позволяет сохранять документы в режиме совместимости с предыдущими версиями пакета. В этом случае для обеспечения совместимости применяются режимы защиты, которые характерны для предыдущих версий пакета.

Утилиты для подбора паролей

Сегодня можно найти достаточно много как платных, так и бесплатных программ для подбора паролей к офисным документам. Более того, некоторые компании предлагают даже онлайн-сервис по подбору пароля к документу (небесплатный, конечно).

Принцип работы всех программ, позволяющих взламывать пароли, практически одинаковый — различия лишь в деталях. Существует два базовых алгоритма взлома паролей. Первый заключается в том, чтобы подбирать не сам пароль к документу, а именно секретный ключ и соответственно расшифровывать документ без знания его пароля. Такой тип атаки по ключу называется keyspace attack.

Второй алгоритм — это подбор пароля. Различные утилиты обеспечивают разную скорость перебора пробных паролей, в них могут быть реализованы и разные алгоритмы генерации пробных паролей (типы атак). Традиционно выделяют три типа атак на пароли:

  • атака по словарю;
  • атака методом последовательного перебора;
  • атака по маске.

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

При атаке по словарю в утилитах используется внешний словарь и для каждого из содержащихся в нем слов последовательно вычисляются хэши, которые затем сравниваются с хэшем пароля. Преимуществом данного метода является его высокая скорость, а недостатком — большая вероятность отсутствия пароля в словаре. Для увеличения эффективности атаки по словарю в некоторых утилитах предусмотрена возможность производить дополнительные настройки такой атаки. В частности, к словарю можно добавлять сочетания соседних клавиш (типа последовательностей qwert и др.), проверять дважды записанное слово (например, useruser), обратный порядок символов в словах (например, resu), конкатенацию с обратным порядком символов (в частности, userresu), усеченные слова, слова без гласных, транслитерацию букв (типа parol). Кроме того, можно проверять замену локализованной раскладки латинской (слово «пароль» в латинской раскладке будет выглядеть как «gfhjkm») и замену латинской раскладки локализованной (слово «password» в русской раскладке — «зфыыцщкв»). Помимо этого, при атаке по словарю возможно подключение нескольких словарей.

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

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

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

Методом последовательного перебора подобрать пароль можно всегда — это лишь вопрос времени, которое может исчисляться годами, столетиями или даже тысячелетиями. Поэтому эффективность такого метода весьма низкая. Естественно, если заранее известен набор символов, используемый для пароля (например, только английские буквы и цифры, или только русские буквы, или только цифры), а также приблизительная длина пароля, то это существенно упрощает задачу его подбора и делает ее вполне решаемой. Если же заранее о пароле ничего не известно, то подобрать его методом последовательного перебора практически невозможно.

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

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

Классификация программ

Утилиты подбора паролей можно условно разбить на два класса: многоцелевые программные пакеты, позволяющие подбирать пароли к различному типу файлов, и специализированные утилиты, которые ориентированы на подбор паролей к файлам, созданным каким-либо одним приложением. Фактически многоцелевые программные пакеты представляют собой сборник отдельных утилит (иногда такие пакеты предусматривают использование единой программной оболочки для доступа к отдельным утилитам).

Среди многоцелевых программных пакетов можно выделить:

Все вышеперечисленные пакеты — это собрания множества утилит, объединенных единым интерфейсом. Все утилиты, входящие в эти пакеты, можно приобрести и по отдельности.

Далее мы рассмотрим несколько наиболее популярных пакетов и отдельных утилит, позволяющих подбирать пароли к различным файлам. Причем если говорить о многоцелевых пакетах, то в данной статье мы рассмотрим лишь те утилиты, которые позволяют подбирать пароли к документам, созданным в MS Office (Word, Excel, Access).

Тестирование утилит для взлома паролей

Для тестирования всех пакетов и утилит мы специально создали несколько тестовых, закрытых паролями на открытие и на изменение документов.

Файлы создавались с помощью пакетов Microsoft Office 2003 и Office 2007.

При создании пароля на открытие документа в Word 2003 и Excel 2003 можно выбрать один из десяти способов шифрования:

  • слабое шифрование (XOR);
  • режим совместимости с Office 97/2000;
  • RC4, Microsoft Base Cryptographic Provider v.1.0 (40 bit);
  • RC4, Microsoft Base DSS and Diffie-Hellman Cryptographic Provider (40 bit);
  • RC4, Microsoft DH SChannel Cryptographic Provider (40 bit);
  • RC4, Microsoft Enhanced Cryptographic Provider v.1.0 (128 bit);
  • RC4, Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider (128 bit);
  • RC4, Microsoft Enhanced RSA and AES Cryptographic Provider (128 bit);
  • RC4, Microsoft SChannel Cryptographic Provider (128 bit);
  • RC4, Microsoft Strong Cryptographic Provider (128 bit).

Для тестирования мы создали по десять файлов в Word 2003 и Excel 2003 с различными типами шифрования, а также файлы Word 2003 и Excel 2003 с паролями на редактирование. Кроме того, были созданы файлы Word 2007 и Excel 2007 с паролями доступа и с паролями на внесение изменений в документы.

Аналогично мы создали базу данных в приложениях Access 2003 и Access 2007 с паролями на открытие доступа и паролями на редактирование.

Тестирование всех утилит проводилось на компьютере с четырехъядерным процессором Intel Core 2 Quad Q6600, оснащенным 2 Гбайт памяти DDR2-1066 и операционной системой Windows Vista Ultimate (32-bit).

Пакет Accent Office Password Recovery v2.60

Первый рассматриваемый нами пакет — Accent Office Password Recovery v2.60 (рис. 1) от компании AccentSoft (www.passwordrecoverytools.com) — относится к разряду многоцелевых и позволяет восстанавливать пароли для документов, созданных в приложениях Microsoft Office: Access, Excel и Word. Данный пакет является условно-бесплатным (shareware). Демо-версия программы имеет существенное ограничение: она позволяет восстанавливать пароли с максимальной длиной до четырех символов. Полнофункциональная зарегистрированная версия пакета стоит 50 долл. (для домашних пользователей). Кроме того, вместо полного пакета Accent Office Password Recovery v2.60 можно приобрести по отдельности входящие в него утилиты Access Password Recovery, Excel Password Recovery, Word Password Recovery, Internet Password Recovery и Money Password Recovery.

 

Рис. 1. Главное окно программы Accent Office Password Recovery v2.60

Программа Accent Office Password Recovery v2.60 имеет русскоязычный интерфейс, однако простым и понятным его не назовешь. Большую часть графического интерфейса занимает информационное окно, в котором отображаются действия программы. Под ним расположено окно помощи, содержащее короткие подсказки. Управление программой осуществляется через систему меню. Кроме того, все основные возможности пунктов меню дублируются кнопками и горячими клавишами.

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

Согласно информации на сайте производителя, пакет Accent Office Password Recovery v2.60 позволяет подбирать:

  • пароль открытия файла MS Word 6/95/97/2000/XP/2003;
  • пароль разрешения редактирования файла MS Word 6/95/97/2000/XP/2003;
  • пароль открытия файла MS Excel 97/2000/XP/2003;
  • пароль разрешения редактирования файла MS Excel 97/2000/XP/2003;
  • пароль защиты листов книги от редактирования;
  • пароль VBA-макросов в документах Excel/MS Word;
  • пароль базы данных MS Access 6/95/97/2000/XP/2003.

Отметим, что никакой информации относительно возможностей работы программы с документами, созданными в пакете MS Office 2007, не приводится.

Пароли к файлам баз данных, созданных в Microsoft Access версий 6.0, 97, 2000, XP и 2003, восстанавливаются мгновенно, что объясняется типом используемой защиты.

Кроме того, мгновенно восстанавливаются пароли на изменение содержимого XLS-файла, созданного приложением Microsoft Excel версий 97, 2000, XP и 2003, а также на изменение содержимого DOC-файла, созданного приложением Microsoft Word версий 97, 2000, XP и 2003. Пароли на открытие XLS- и DOC-файлов, созданных упомянутыми приложениями, предусматривают длительное восстановление.

Кроме того, согласно информации на сайте производителя, данный пакет совместим с операционной системой Windows XP.

Для подбора паролей в программе Accent Office Password Recovery v2.60 предусмотрены три типа атак: методом последовательного перебора (Brute-force attack), по маске и по словарю.

При атаке последовательным перебором необходимо указать алфавит и диапазон символов, из которых будут генерироваться пароли (можно выбирать из стандартных наборов либо создать набор символов вручную). Следует также установить минимальную длину пароля (не более 15 символов), а кроме того, указать комбинацию символов, с которой программа начнет поиск (Start search with). Нужно отметить, что настройка атаки методом перебора реализована очень удобно и неочевидно.

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

При атаке по словарю, помимо обычной проверки, возможна трансформация считываемых из словаря словоформ. В настройках программ можно указать, чтобы изменялся регистр символов, соседние символы менялись местами, осуществлялся пропуск символов. Программа допускает использование любых стандартных словарей, а кроме того, можно скачать словарь, содержащий более 3 млн словоформ (в латинице) с сайта www.passwordrecoverytools.com.

В ходе тестирования выяснилось, что данная программа не поддерживает работу с документами, созданными в пакете MS Office 2007 (если только документы не сохраняются в режиме ограниченной совместимости с предыдущими версиями). Впрочем, это, конечно, нельзя отнести к недостатку программы. В конечном счете никто и не обещал поддержки этого формата файлов. Однако важно другое. Дело в том, что даже с заявленными режимами работы пакет Accent Office Password Recovery v2.60 не справляется. Так, если говорить о документах Excel, то программа не может восстановить пароль на редактирование документа Excel 2003. Подбор пароля на открытие документа Excel 2003 возможен только в том случае, если шифрование производится в режиме совместимости с Office 97/2000. В этом случае скорость перебора паролей составляет примерно 250-270 тыс. паролей в секунду. А вот другие типы шифрования документа Excel 2003 не поддерживаются. В частности, невозможны слабый тип шифрования XOR и все остальные алгоритмы шифрования.

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

Подбор паролей на доступ к базе данных Access XP/2003 программа выполняет мгновенно.

Если попытаться резюмировать все вышеизложенное, то можно сделать такой вывод. Данная программа хотя и является платной, но на самом деле абсолютно бесполезна. Мало того что в сравнении с другими аналогичными решениями у нее очень скудные функциональные возможности — новая версия программы практически не работоспособна, хотя предыдущая версия (версия 2.5) работала вполне стабильно.

Утилита Office Key 8.1

Утилиту Office Key 8.1 (рис. 2) можно приобрести как отдельно, так и в составе пакета Passware Kit Enterprise 8.1 от компании Passware (www.lostpassword.com). Демо-версия данной программы практически бесполезна, поскольку ограничения настолько жесткие, что пользоваться ею просто невозможно. Стоимость полнофункциональной версии зависит от комплектации (существует множество вариантов комплектации) и варьируется от 65 до 875 долл.

 

Рис. 2. Главное окно программы Office Key 8.1

Утилита Office Key 8.1 предназначена для взлома паролей ко всем типам файлов Microsoft Office: Access, Excel, Outlook, Word, PowerPoint и Visual Basic for Applications (VBA).

Согласно спецификации на сайте производителя, утилита Office Key 8.1 поддерживает подбор паролей к документам, созданным с использованием пакета MS Office любой версии, включая MS Office 2007. В частности, она позволяет:

  • подбирать пароль на открытие и редактирование файлов MS Word всех версий;
  • подбирать пароль на открытие и редактирование файлов MS Excel всех версий;
  • мгновенно подбирать пароль к защите диапазона ячеек в документах Excel XP/2003;
  • подбирать пароль VBA-макросов в документах Excel/MS Word;
  • мгновенно подбирать пароль к базе данных MS Access любой версии.

Утилита Office Key 8.1 имеет англоязычный интерфейс, который, однако, настолько прост и интуитивно понятен, что разобраться с ним не составляет особого труда.

Работа с утилитой начинается с настройки одного из четырех типов атаки: по словарю, методом перебора (Brute-force), методом перебора по маске и атаки, называемой Xieve optimization.

При настройке атаки по словарю имеется возможность указывать минимальную и максимальную длину пароля, а также проверять модифицированные слова из словаря. Под модификацией слов понимается обратный порядок букв в слове (user -> resu), написание слова с прописной буквы, написание всего слова прописными буквами и проверка комбинаций, когда любые буквы в слове могут быть прописными.

Настройка атаки методом перебора подразумевает возможность устанавливать минимальную и максимальную длину пароля, а также применять маску пароля. При настройке маски допускается использование как отдельных известных символов пароля, так и неопределенных символов «?». К примеру, маска «good???» будет соответствовать паролю «goodday». Кроме того, допускается применение символа «*», заменяющего собой любой набор символов, например маска «*more» соответствует паролю «nevermore».

Отметим, что при использовании атаки методом перебора максимальная длина пароля — 7 символов.

Фирменный тип атаки Xieve optimization, согласно документации, позволяет существенно ускорить атаку методом перебора и представляет собой не что иное, как модифицированную атаку методом перебора. Модификация в данном случае заключается в том, что пропускаются бессмысленные комбинации символов, то есть комбинации, не несущие смысловой нагрузки. В случае атаки Xieve optimization максимальная длина пароля не может превосходить 9 символов.

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

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

Настроив атаки и указав тип атаки (допускается последовательное применение всех типов атак), можно открыть документ MS Office, после чего программа сразу приступит к подбору паролей. Информация о документе и результат работы программы отображаются в главном окне.

В ходе тестирования выяснилось (табл. 1), что если документ (Word, Access) создан в пакете Office 2003, то определение пароля доступа к базе данных, а также пароля на изменение содержимого документа Word 2003 происходит мгновенно. В то же время программа не может вскрыть пароль на редактирование документа Excel 2003, поскольку она просто не в состоянии определить, что документ закрыт паролем на редактирование.

Таблица 1. Результаты тестирования пакета Office Key 8.1

Тип пароля и алгоритм шифрования

Скорость перебора паролей, тыс. шт./с

Excel 2003

Word 2003

Пароль на редактирование

Несовместим

Мгновенно

Слабое шифрование (XOR)

Мгновенно

Несовместим

Режим совместимости с Office 97/2000

519

569

RC4, Microsoft Base Cryptographic Provider v.1.0 (40 bit)

120

120

RC4, Microsoft Base DSS and Diffie-Hellman Cryptographic Provider (40 bit)

128

129

RC4, Microsoft DH SChannel Cryptographic Provider (40 bit)

129

130

RC4, Microsoft Enhanced Cryptographic Provider v.1.0 (128 bit)

122

123

RC4, Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider (128 bit)

134

134

RC4, Microsoft Enhanced RSA and AES Cryptographic Provider (128 bit)

120

124

RC4, Microsoft SChannel Cryptographic Provider (128 bit)

124

124

RC4, Microsoft Strong Cryptographic Provider (128 bit)

120

124

При использовании шифрования (пароль на открытие документа) в документах Word 2003 и Excel 2003 скорость перебора паролей при применении атаки методом последовательного перебора зависит от типа шифрования и длины ключа. Так, при использовании слабого шифрования (XOR) пароль для документа Excel 2003 восстанавливается мгновенно, а вот с документом Word 2003 при применении того же шифрования возникают проблемы. Программа Office Key 8.1 выдает ошибку и не в состоянии подобрать пароль.

При использовании шифрования в режиме совместимости с документами Office 97/2000 скорость перебора паролей для документов Excel составляет примерно 519 тыс. паролей в секунду, а для документов Word — 569 тыс. паролей в секунду. При применении алгоритма шифрования RC4 с длиной ключа 40 и 128 бит скорость перебора паролей для документов Word и Excel составляет примерно 120-130 тыс. паролей в секунду и зависит от используемого алгоритма шифрования.

Если речь идет о документах, созданных в пакете Office 2007, то ситуация будет следующей.

В документах Excel 2007 с паролем на редактирование программа Office Key 8.1 вообще не обнаруживает пароля, а при попытке подобрать пароль на редактирование к документу Word 2003 происходит сбой в работе программы и выдается ошибка.

При использовании пароля на доступ к файлам Word 2007 и Excel 2007 скорость последовательного перебора паролей составляет порядка 50 паролей в секунду. Естественно, при такой скорости перебора подобрать пароль невозможно.

Что же касается документов Access 2007, то программа Office Key 8.1 вообще с ними несовместима.

Утилита Advanced Office Password Recovery 4.01

Утилиту Advanced Office Password Recovery 4.01 (рис. 3) можно приобрести либо отдельно, либо в составе многоцелевого пакета Elcomsoft Password Recovery Bundle от компании ElcomSoft (www.elcomsoft.com, www.passwords.ru). Данный пакет представляет собой сборник отдельных утилит по подбору паролей к различным типам файлов, Windows-паролей и др. Естественно, рассмотрение всех утилит, входящих в этот пакет, выходит за рамки данной статьи, поэтому мы сконцентрируемся лишь на утилите Advanced Office Password Recovery 4.01, позволяющей подбирать пароли к документам MS Office всех версий, включая MS Office 2007.

 

Рис. 3. Главное окно программы Advanced Office Password Recovery 4.01

Данная утилита является платной. Ее стоимость зависит от типа лицензии (Standard, Professional, Enterprise). Лицензия Standard стоимостью 995 руб. подразумевает использование одного процессора. В лицензии Professional предусмотрена поддержка двух процессоров, а ее стоимость составляет 5995 руб. В лицензии Enterprise поддерживаются до 32 процессоров, а стоимость лицензии — 11 995 руб. С сайта производителя можно скачать лишь ограниченную по функциональности 30-дневную демо-версию программы.

Утилита Advanced Office Password Recovery 4.01 имеет как английский, так и русский интерфейс, что делает процесс ее освоения очень простым. При этом никаких проблем не возникнет даже у новичка — все предельно просто и понятно.

В утилите Advanced Office Password Recovery 4.01 предусмотрены все традиционные типы атак: по словарю, методом перебора и методом перебора по маске.

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

Атака методом перебора по маске предусматривает задание маски пароля с помощью символа «?», заменяющего любой символ из предопределенного набора символов, конкретного известного символа, а также символа «*», применяемого для замены нескольких неопределенных символов.

При настройке атаки по словарю можно подключать словарь (правда, один), а также задавать проверку модифицированных слов словаря. Под модифицированными словами в данном случае понимаются сочетания прописных и строчных букв. К примеру, если в словаре имеется базовое слово длиной n букв, то путем сочетания прописных и строчных букв из него можно получить еще n2 слов. Понятно, что при использовании данной опции, когда рассматриваются все возможные сочетания прописных и строчных букв, проверка даже небольшого по объему словаря может занять очень много времени. Поэтому при настройке атаки по словарю в утилите Advanced Office Password Recovery 3.04 предусмотрена еще одна возможность — интеллектуальная модификация слов. В данном случае тоже рассматриваются различные сочетания прописных и строчных букв, но не все возможные, а только выборочные сочетания, в которых прослеживается некоторая логика. К примеру, пусть в словаре имеется базовое слово «password». Понятно, что если рассматривать все возможные сочетания прописных и строчных букв, то мы получим 64 различных слова. Однако запомнить пароль, полученный из базового слова «password» путем случайного сочетания прописных и строчных букв (типа PasSWOrd), довольно сложно. Поэтому можно предположить, что в сочетании прописных и строчных букв будет присутствовать либо симметрия, либо логика, чтобы можно было легко запомнить такой пароль. Например, такой логикой или симметрией будут обладать пароли Password, passworD, PaSsWoRd, PASSword, passWORD, password.

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

Еще одной интересной особенностью утилиты Advanced Office Password Recovery 4.01 является возможность проведения предварительного тестирования на скорость перебора паролей к документам. Хотя практического значения данная функция не имеет — разве что поможет оценить, сколько времени уйдет на подбор пароля, с тем чтобы бросить это безнадежное занятие.

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

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

Для тестирования мы использовали пакет Advanced Office Password Recovery Professional Edition 4.01. Как и ожидалось, несмотря на четырехъядерный процессор, нагрузку получают только два ядра. Напомним, что в лицензии Professional предусмотрена поддержка только двух процессоров.

В ходе тестирования выяснилось (табл. 2), что если документ (Word, Excel, Access) создан в пакете Office 2003, то определение пароля доступа к базе данных, а также паролей на изменение содержимого документов Excel и Word происходит мгновенно.

Таблица 2. Результаты тестирования пакета
Advanced Office Password Recovery 4.01

Тип пароля и алгоритм шифрования

Скорость перебора паролей, тыс. шт./с

Excel 2003

Word 2003

Пароль на редактирование

Мгновенно

 

Слабое шифрование (XOR)

Мгновенно

 

Режим совместимости с Office 97/2000

540-550

609-610

RC4, Microsoft Base Cryptographic Provider v.1.0 (40 bit)

809-810

809-810

RC4, Microsoft Base DSS and Diffie-Hellman Cryptographic Provider (40 bit)

809-810

809-810

RC4, Microsoft DH SChannel Cryptographic Provider (40 bit)

809-810

809-810

RC4, Microsoft Enhanced Cryptographic Provider v.1.0 (128 bit)

755-756

755-756

RC4, Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider (128 bit)

755-756

755-756

RC4, Microsoft Enhanced RSA and AES Cryptographic Provider (128 bit)

755-756

755-756

RC4, Microsoft SChannel Cryptographic Provider (128 bit)

755-7560

755-756

RC4, Microsoft Strong Cryptographic Provider (128 bit)

755-756

755-756

При использовании шифрования (пароль на открытие документа) в документах Word 2003 и Excel 2003 скорость перебора паролей при применении атаки методом последовательного перебора зависит от типа шифрования и длины ключа. Так, при использовании слабого шифрования (XOR) пароль восстанавливается мгновенно. При использовании шифрования в режиме совместимости с документами Office 97/2000 скорость перебора паролей для документов Excel составляет 540-550 тыс. паролей в секунду, а для документов Word — 609-610 тыс. паролей в секунду. При применении алгоритма шифрования RC4 с длиной ключа 40 бит скорость перебора паролей для документов Word и Excel равна 809-810 тыс. паролей в секунду, а при применении 128-битного ключа — 755-756 тыс. паролей в секунду.

Если речь идет о документах, созданных в пакете Office 2007, то ситуация кардинально меняется. Во-первых, в документах Word 2007 и Excel 2007 с паролем на редактирование программа Advanced Office Password Recovery Professional Edition 4.01 вообще не обнаруживает пароля и соответственно в принципе не может подобрать пароль. Во-вторых, при использовании пароля на доступ к файлам Word 2007 и Excel 2007 скорость последовательного перебора паролей составляет порядка 80-85 паролей в секунду. Понятно, что при такой скорости перебора применение программы Advanced Office Password Recovery Professional Edition 4.01 для взлома паролей лишено всякого смысла.

Что же касается документов Access 2007, закрытых паролем, то для них скорость перебора паролей составляет примерно 810 тыс. паролей в секунду.

Утилита Advanced Office Password Breaker 1.40

Еще одна интересная утилита из пакета Elcomsoft Password Recovery Bundle — это Advanced Office Password Breaker, особенность которой заключается в том, что она реализует метод атаки не на пароли, а на секретные ключи (keyspace attack).

Данная утилита позволяет открывать документы MS Word и MS Excel, закрытые паролем на открытие. При этом поддерживаются файлы MS Word 97/2000 и MS Excel 97/2000, а также файлы MS Word XP/2003 и MS Excel XP/2003, но только в том случае, если они зашифрованы в режиме совместимости с Office 97/2000, используемом по умолчанию.

Утилита Advanced Office Password Breaker не позволяет найти пароль, но зато гарантированно обеспечивает открытие документа, поскольку перебрать все возможные секретные ключи диной 40 бит — задача вполне выполнимая. При этом решение такой задачи вообще никак не связано с длиной пароля и набором используемых для пароля символов.

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

Настройка программы заключается в том, что необходимо указать тип процессора (для оптимизации алгоритма работы) и количество используемых процессоров (для SMP-систем), а также так называемый диапазон (Range), в котором производится подбор ключа. В программе все 1 099 511 627 776 ключей разбиты на 65 535 блоков (по 16 777 216 ключей в каждом блоке), поэтому можно задать диапазон блоков, в котором производится поиск ключа. Это позволяет применять несколько компьютеров для решения одной задачи, например на первом компьютере используются блоки от 1 до 10 000, на втором — от 10 001 до 20 000 и т.д.

На нашем стенде скорость перебора ключей составила 1 350 000 ключей в секунду. К сожалению, данная программа не понимает современных многоядерных процессоров (несмотря на поддержку SMP-систем), поэтому при использовании четырехъядерного процессора нагружается только одно его ядро.

Пакет Office Password Recovery Master 2.0

Пакет Office Password Recovery Master 2.0 (рис. 4) от компании Rixler Software (www.rixler.com) — это бесплатная многоцелевая программа, позволяющая восстанавливать все типы паролей к документам MS Word, MS Excel, MS Outlook и базам данных MS Access. Сразу оговоримся, что документы, созданные в пакете MS Office 2007, программой Office Password Recovery Master не поддерживаются.

 

Рис. 4. Главное окно программы Office Password Recovery Master 2.0

Если более конкретно, то программа позволяет удалять пароль на открытие документов Word и Excel, подбирает пароль защиты на исправление документов, восстанавливает пароль к персональным файлам (*.pst) MS Outlook, взламывает пароли баз данных (*.mdb), а также пароли VBA-проектов в документах MS Word, MS Excel и Outlook.

В качестве ограничений к программе указывается, что удаление паролей на открытие документов возможно только в том случае, если используется стандартный тип шифрования (шифрование, совместимое с Word/Excel 97/2000).

К сожалению, в описании к программе не указано, какие типы атак в ней применяются.

В освоении программа крайне проста, поскольку вообще не имеет никаких настроек. Единственное, что требуется от пользователя, — это загрузить в программу документ, защищенный паролем. В случае пароля на внесение изменений в документы или пароля к базе данных, то есть в случае защиты без шифрования всего документа, пароль восстанавливается мгновенно.

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

Может быть, сама по себе идея организации распределенных вычислений в Интернете для решения подобного рода задач и неплоха, но кажется весьма сомнительной. Все-таки подобные добровольные объединения пользователей — это не сети P2P с трэкер-серверами, которые приобретают огромную популярность и объединяют миллионы пользователей. Такой одиночный проект организации распределенных вычислений — это скорее немногочисленное (в силу своей специфики) объединение единомышленников. В отношении практической целесообразности данного проекта у нас возникают большие сомнения. Ведь для эффективности распределенных вычислений необходимо, чтобы к такой сети одновременно были подключены сотни пользователей, которые предоставляли бы в распоряжение других вычислительные возможности своих ПК, что, как нам кажется, маловероятно.

Выводы

Итак, по завершении тестирования утилит для взлома паролей к документам Word, Excel и Access можно сделать следующие выводы.

Взламывать пароли имеет смысл только в том случае, если документы созданы в Microsoft Office 2003 или более ранних версиях. Взлом паролей для документов Word 2007 и Excel 2007 фактически невозможен. При скорости перебора паролей в несколько десятков паролей в секунду для подбора пароля потребуется столько времени, что задачу можно смело отнести к разряду нерешаемых. Пожалуй, единственная уязвимость в защите документов Word 2007 и Excel 2007 связана с человеческим фактором. Что делать, но в большинстве случаев пароль — это осмысленное слово, а не произвольный набор символов. Просто так его легче запомнить. А в том случае, когда пароль — это осмысленное слово, подобрать его несложно, поскольку все программы взлома предусматривают атаку по словарю.

Таким образом, если вы хотите надежно защитить документ, не применяйте в качестве пароля слова. При этом вовсе не обязательно, чтобы пароль был трудно запоминаемым набором символов. Достаточно использовать в качестве пароля не одно слово, а фразу, написанную без пробелов. Еще лучше, когда фраза на русском языке пишется латинскими буквами. К примеру, пароль «vjqlzlzcfvs[xtcnys[ghfdbk» с первого взгляда кажется абракадаброй и, естественно, ни в одном словаре такого слова нет. Но запомнить этот пароль проще простого, так как он соответствует фразе «мой дядя самых честных правил», только написанной без пробелов и латинскими буквами.

Так что создать легко запоминаемый пароль, которого заведомо нет ни в одном словаре, достаточно просто.

А вот с базой данных Access 2007 дела обстоят получше. Пакет Advanced Office Password Recovery 4.01 позволяет с хорошей скоростью (810 тыс. паролей в секунду) подобрать к ней пароль.

Вообще, если выбирать лучший пакет для подбора паролей, то на данный момент это Advanced Office Password Recovery 4.01. Все остальные программы просто не выдерживают критики и, по сути, являются абсолютно бесполезными.

Впрочем, как мы уже отмечали, если документ надежно защищен, то никакие утилиты не позволят получить к нему доступ. Например, к защите, используемой в Office 2007, можно добавить шифрование с помощью современных архиваторов WinRAR и WinZip. Архиватор WinRAR позволяет шифровать файлы по алгоритму AES с 128-битным ключом, а архиватор WinZip — реализовать AES-шифрование с 256-битным ключом. Взломать такую защиту просто нереально.

Так имеет ли смысл разрабатывать программы для взлома того, что в принципе взломать нельзя?

 

В начало В начало

КомпьютерПресс 3'2008

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует