Русская Википедия:RainbowCrack

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка программы

RainbowCrack — компьютерная программа для быстрого взлома хешей.

Является реализацией техники Филиппа Окслина faster time-memory trade-off[1], основанной на так называемых радужных таблицах. Она позволяет создать базу предсгенерированных хешей, с помощью которой можно за незначительное время взломать практически любой алфавитно-цифровой пароль заданной длины.

Введение

В то время как большинство проектов, связанных с компьютерной безопасностью, тратит много времени для взлома одного пароля шифровальных систем (полный перебор), RainbowCrack за время, сравнимое с временем взлома одного хеша простым перебором, получает таблицы хешей, по которым с очень высокой вероятностью можно в тысячи раз быстрее взломать любой хеш из проверенного диапазона[2]. Обычно хеши и алгоритм хеширования известны всем, но обратное преобразование слишком сложно. На этом основывается безопасность многих систем. Обладая отсортированной таблицей хешей и соответствующей таблицей паролей, можно получить систему, позволяющую с помощью быстрого бинарного поиска по всем таблицам выполнить обратное преобразование хеша в пароль.[3]

Стандартный клиент поддерживает следующие алгоритмы: LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL, ORACLE-SYSTEM и MD5-HALF; другие алгоритмы могут быть подключены в виде плагинов. [4]

Быстрая работа перебора паролей достигается ценой большого объёма радужных таблиц (для паролей до 7 символов, состоящих из букв цифр и специальных символов, объём таблиц может составлять порядка 900 Гб). Для оптимизации объёма используется следующий способ: хеши располагаются в цепочки по несколько тысяч комбинаций. Зная одну цепочку, мы можем получить следующую комбинацию из предыдущей с помощью функции хеширования. В таблицы записываются только начало и конец цепочки. Для нахождения пароля по такой таблице нужно применить к заданному хешу функцию хеширования много раз (зависит от длины цепочек) и на очередном цикле получится хеш, который является концом одной из цепочек в радужной таблице. После этого мы прогоняем эту цепочку и заново применяем функцию хеширования от начального до нужного нам хеша. После нескольких цепочек мы находим комбинацию, соответствующую заданному хешу — это и есть искомый пароль.

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

Преимущества

  • Большая мощность системы расшифровки паролей.
  • Процесс расчёта таблицы может быть остановлен и позднее возобновлён.
  • При расчётах требуется мало памяти (2 МБ).
  • Входные данные занимают мало памяти (несколько байт для одной таблицы).
  • В программу, которая позволяет расшифровать пароли по полученным таблицам, можно добавлять новые алгоритмы хеширования. Таким образом, существует возможность создания собственного проекта, аналогичного RainbowCrack.

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Программное обеспечение для взлома паролей Шаблон:Добровольные вычисления