Стармания
- 1 year ago
- 0
- 0
RainbowCrack — компьютерная программа для быстрого взлома хешей .
Является реализацией техники Филиппа Окслина faster time-memory trade-off , основанной на так называемых радужных таблицах . Она позволяет создать базу предсгенерированных хешей, с помощью которой можно за незначительное время взломать практически любой алфавитно-цифровой пароль заданной длины.
В то время как большинство проектов, связанных с компьютерной безопасностью, тратит много времени для взлома одного пароля шифровальных систем ( полный перебор ), RainbowCrack за время, сравнимое с временем взлома одного хеша простым перебором, получает таблицы хешей, по которым с очень высокой вероятностью можно в тысячи раз быстрее взломать любой хеш из проверенного диапазона . Обычно хеши и алгоритм хеширования известны всем, но обратное преобразование слишком сложно. На этом основывается безопасность многих систем. Обладая отсортированной таблицей хешей и соответствующей таблицей паролей, можно получить систему, позволяющую с помощью быстрого бинарного поиска по всем таблицам выполнить обратное преобразование хеша в пароль.
Стандартный клиент поддерживает следующие алгоритмы: LM , NTLM , MD5 , SHA1 , , , , и ; другие алгоритмы могут быть подключены в виде плагинов .
Быстрая работа перебора паролей достигается ценой большого объёма радужных таблиц (для паролей до 7 символов, состоящих из букв цифр и специальных символов, объём таблиц может составлять порядка 900 Гб). Для оптимизации объёма используется следующий способ: хеши располагаются в цепочки по несколько тысяч комбинаций. Зная одну цепочку, мы можем получить следующую комбинацию из предыдущей с помощью функции хеширования . В таблицы записываются только начало и конец цепочки. Для нахождения пароля по такой таблице нужно применить к заданному хешу функцию хеширования много раз (зависит от длины цепочек) и на очередном цикле получится хеш, который является концом одной из цепочек в радужной таблице . После этого мы прогоняем эту цепочку и заново применяем функцию хеширования от начального до нужного нам хеша. После нескольких цепочек мы находим комбинацию, соответствующую заданному хешу — это и есть искомый пароль.
Такие таблицы называют радужными . Их преимущество состоит в том, что, во-первых, они имеют меньший размер (в тысячи раз меньше обычных таблиц, содержащих те же пароли), во-вторых, они позволяют за несколько минут найти обратное преобразование любого алгоритма хеширования, если искомый пароль уже был в этих таблицах.