== Введение ==
В то время как большинство проектов, связанных с компьютерной безопасностью, тратит много времени для взлома одного пароля шифровальных систем (простой перебор), RainbowCrack за время, сравнимое с временем взлома одного хэшахеша простым перебором, получает таблицы хэшейхешей, по которым с очень высокой вероятностью можно в тысячи раз быстрее взломать любой хэшхеш из проверенного диапазона.<ref>[http://www.ethicalhacker.net/content/view/94/24/ The Ethical Hacker Network — Tutorial: Rainbow Tables and RainbowCrack] {{webarchive|url=https://web.archive.org/web/20070501034436/http://www.ethicalhacker.net/content/view/94/24/ |date=2007-05-01 }}</ref>
Обычно хэшихеши и алгоритм хеширования известны всем, но обратное преобразование слишком сложно. На этом основывается безопасность многих систем.
Обладая отсортированной таблицей хэшейхешей и соответствующей таблицей паролей, можно получить систему, позволяющую с помощью быстрого бинарного поиска по всем таблицам выполнить обратное преобразование хэшахеша в пароль.<ref>[https://distributed.ru/pro/rainbowcrack RainbowCrack — Распределённые вычисления<!-- Заголовок добавлен ботом -->]</ref>
Стандартный клиент поддерживает следующие алгоритмы: [[Lm|LM]], [[NTLM]], [[MD5]], [[SHA1]], [[MYSQLSHA1]], [[HALFLMCHALL]], [[NTLMCHALL]], [[ORACLE-SYSTEM]] и [[MD5-HALF]], другие алгоритмы могут быть подключены в виде [[плагин]]ов.
== Основная проблема ==
Размер [[Радужная таблица|радужных таблиц]] слишком большой. Для решения этой проблемы используется следующий способ: [[хэшхеш]]и располагаются в цепочки по несколько тысяч комбинаций. Зная одну цепочку, мы можем получить следующую комбинацию из предыдущей с помощью функции [[Хеширование|хеширования]]. В таблицы записываются только начало и конец цепочки. Для нахождения пароля по такой таблице нужно применить к заданному хэшухешу функцию хеширования много раз (зависит от длины цепочек) и на очередном цикле получится хэшхеш, который является концом одной из цепочек в [[Радужная таблица|радужной таблице]]. После этого мы прогоняем эту цепочку и заново применяем функцию хеширования от начального до нужного нам хэшахеша. После нескольких цепочек мы находим комбинацию, соответствующую заданному [[Хеш|хэшухеш]]у — это и есть искомый пароль.
Такие таблицы называют [[Радужная таблица|радужными]]. Их преимущество состоит в том, что, во-первых, они имеют меньший размер (в тысячи раз меньше обычных таблиц, содержащих те же пароли), во-вторых, они позволяют за несколько минут найти обратное преобразование любого алгоритма хеширования, если искомый пароль уже был в этих таблицах.
|-
|hash_algorithm
|ХэшХеш-алгоритм ([[LM]], [[NTLM]], [[MD5|md5]] и т.д.).
|-
|charset
== Результаты ==
На данный момент размер радужных таблиц превышает 900 ГБ. Они позволяют из заданного хэшахеша за несколько минут с очень высокой вероятностью (около 99 %) найти пароль длиной не больше 7 символов, состоящий из букв, цифр и многих специальных символов. Процесс расшифровки паролей реализуется следующими алгоритмами: LanMan, SHA1, NT, MD2, Cisco PIX, MD4, MD5, MySQL 3.23, RIPEMD-160, MySQL SHA1 (базы данных).
== Примечания ==
|