Windows Password Recovery - атака по таблицам Passcape
Радужные таблицы Passcape являются дальнейшим логическим развитием простых предвычисленных таблиц. Они более "заточены" для поиска осмысленных комбинаций и сложных паролей практически неограниченной длины.
Принцип действия простых радужных таблиц
Принцип действия простых радужных таблиц состоит в задании диапазона символов (например, a..z) и максимальной длины пароля. Затем просчитываются все возможные варианты и создаются миллионы цепочек. Каждая цепочка вычисляется по следующей формуле:
P0 -> hash(P0) -> H1 -> R(H1) ->
P1 -> hash(P1) -> H2 -> R(H2) ->
P2 ...
где P - пароль, hash - функция хэширования, R - функция редукции. Таким образом из первоначального пароля с помощью функции хэширования получается хэш, из которого на выходе функции редукции получается следующий пароль и процесс повторяется сначала, что ведет к созданию цепочек. В каждой такой цепочке сохраняется только первоначальное и конечное значение. Хранение только первого и последнего элементов является операцией, ведущей к компромиссу, сохраняя память за счет временных затрат на криптоанализ.
Для восстановления искомого пароля, он подвергается хэшированию и функции редукции, а затем ищется в таблице. Для этого создается цепочка ключей, начиная с R(Hn) до максимальной длины цепочки. Если Hn окажется полученным с помощью пароля, использованного при создании таблицы, то мы в итоге получим ключ, соответствующий последнему ключу соответствующей цепочки. Этот последний ключ был сохранен в таблице вместе с первым ключом цепочки. Используя первый ключ цепочки, возможно восстановить всю цепочку – в частности, значение, стоящее перед R(Hn). Это и есть тот ключ, который использовался для генерации Hn, т.е. наш искомый пароль.
Принцип действия радужных таблиц Passcape
Поиск с использованием радужных таблица Passcape во многом схож с поиском по простым таблицам. Но в отличие от последних, он является чем-то вроде гибрида идентификационной и простой табличной атаки, где проверка паролей производится не в заданном диапазоне символов, а в диапазоне т.н. отпечатков слов. Суть идентификационной атаки, разработанной в Passcape, сводится к тому что из исходного словаря создается банк отпечатков слов, необходимых для проверки пароля, а во время атаки производится поиск всех возможных вариантов слов, состоящих из двух таких отпечатков.
Подобно идентификационной атаке, в радужных таблицах Passcape в начале происходит создание банка отпечатков слов из заданного пользователем словаря. Банк отпечатков слов является аналогом диапазона символов в простых радужных таблицах. Он используется как при генерации Passcape таблиц, так и при проверке пароля. Таким образом, радужная таблица Passcape состоит из одной или нескольких файлов *.prt (непосредственно самих таблиц) и банка отпечатков (*.prti), который может быть задействован только с созданными с помощью него таблицами.
Использование отпечатков слов вместо диапазона символов при создании таблиц имеет ряд преимуществ:
- Длина проверяемых паролей в таблицах Passcape практически неограничена. В отличие от простых радужных таблиц, создание которых для паролей длиной более 9 символов на практике не представляется возможным, в таблицах Passcape с одинаковой долей вероятности можно найти как односимвольный, так и 50-символьный пароль.
- Диапазон символов в обычной таблице сильно влияет на ее критические параметры: чем шире диапазон символов, тем больше должна быть длина цепочки или общее количество цепочек для сохранения success rate (процент успеха при поиске пароля) этой таблицы. В таблице Passcape диапазон символов не влияет на критические параметры таблицы.
- В обычных таблицах имеются определенные сложности при создании таблиц для проверки паролей в национальных кодировках: не все программы корректно работают с такими таблицами, не все могут их создавать. В радужных таблицах Passcape при создании таблиц, например, для русских паролей, достаточно задать исходный словарь на русском языке.
- Поиск паролей в Passcape таблицах осуществляется по более осмысленным комбинациям, однако это в значительной степени зависит от исходного словаря.
К недостаткам радужных таблиц Passcape можно отнести следующее:
- Не все исходные словари одинаково хорошо подойдут для таблиц. Использование больших словарей (как правило, более 1 Мб) генерирует слишком большой банк отпечатков, соответственно, создание таблиц может занять очень много времени и ресурсов.
- Не рекомендуется использовать словари с длинными словами или фразами по причине, сказанной выше.
- Атака по радужным таблицам кушает очень много ресурсов: банк отпечатков должен полностью умещаться в оперативную память компьютера.
Настройки атаки по радужным таблицам Passcape
Опции атаки по радужным таблицам Passcape довольно тривиальны. Необходимо указать один или несколько *.prt таблиц в одном каталоге с которыми должен находиться банк отпечатков (*.prti файл). Поскольку данная атака потребляет больше памяти, чем атака с использованием обычных радужных таблиц, рекомендуется ограничить объем потребляемой памяти, выставив соответствующую опцию.
Для создания своих собственных таблиц, воспользуйтесь соответствующим инструментом.
С нашего сайта можно скачать несколько Passcape таблиц для данной атаки.
Таблицы могут взламывать только ту хеш-функцию, для которой они создавались, то есть таблицы для LM могут взломать только LM хеш.