RainbowCrack (RainbowCrack)
RainbowCrack | |
---|---|
Тип | взлом хешей |
Разработчик | Zhu Shuanglei |
Операционные системы | Windows и Linux |
Последняя версия | 1.8 (25 августа 2020) |
Сайт | project-rainbowcrack.com |
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.
Примечания
[править | править код]- ↑ Philippe Oechslin. Making a Faster Cryptanalytic Time-Memory Trade-Off // Lecture Notes in Computer Science. — 2003. — Т. 2729. — С. 617—630. — doi:10.1007/978-3-540-45146-4_36. Архивировано 4 февраля 2012 года.
- ↑ The Ethical Hacker Network — Tutorial: Rainbow Tables and RainbowCrack Архивировано 1 мая 2007 года.
- ↑ RainbowCrack — Распределённые вычисления . Дата обращения: 21 декабря 2012. Архивировано 28 сентября 2013 года.
- ↑ А.В. Аграновский, И.В. Мамай. O методах оптимизации алгоритма RainbowCrack в целях аудита информационной безопасности web-систем // Системы управления и информационные технологии. — 2006. — № 4.1 (26). — С. 108—111.
Ссылки
[править | править код]- project-rainbowcrack.com (англ.) — официальный сайт RainbowCrack