RainbowCrack: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м Bot: добавление заголовков в сноски; исправление дублирующихся сносок
м Бот: удалил заголовок-ссылку в тексте. см. ; косметические изменения
Строка 18:
 
'''RainbowCrack''' — компьютерная программа для быстрого [[Атака нахождения прообраза|взлома]] [[хеш]]ей. Является реализацией техники Филиппа Окслина ''faster time-memory trade-off''.<ref>{{статья|автор=Philippe Oechslin|заглавие=Making a Faster Cryptanalytic Time-Memory Trade-Off|ссылка=http://lasecwww.epfl.ch/pub/lasec/doc/Oech03.pdf|издание=Lecture Notes in Computer Science |год=2003 |том=2729 |страницы=617-630 |doi=10.1007/978-3-540-45146-4_36}}</ref>Она позволяет создать базу предсгенерированных LanManager хешей, с помошью которой можно почти мгновенно взломать практически любой алфавитно-цифровой пароль.
== Введение ==
В то время как большинство проектов, связанных с компьютерной безопасностью тратит много времени для взлома одного пароля шифровальных систем (простой перебор), RainbowCrack за время, сравнимое с временем взлома одного хэша простым перебором, получает таблицы хэшей, по которым с очень высокой вероятностью можно в тысячи раз быстрее взломать любой хэш из проверенного диапазона.<ref>[http://www.ethicalhacker.net/content/view/94/24/ The Ethical Hacker Network — Tutorial: Rainbow Tables and RainbowCrack]</ref>
 
Строка 25:
Обладая отсортированной таблицей хэшей и соответствующей таблицей паролей, можно получить систему, позволяющую с помощью быстрого бинарного поиска по всем таблицам выполнить обратное преобразование хэша в пароль.<ref>[https://distributed.ru/pro/rainbowcrack RainbowCrack - Распределённые вычисления<!-- Заголовок добавлен ботом -->]</ref>
 
Стандартный клиент поддерживает следующие алгоритмы: [[Lm|LM]], [[NTLM]], [[MD5]], [[SHA1]], [[MYSQLSHA1|MYSQLSHA1]], [[HALFLMCHALL|HALFLMCHALL]], [[NTLMCHALL|NTLMCHALL]], [[ORACLE-SYSTEM|ORACLE-SYSTEM]] и [[MD5-HALF|MD5-HALF]], другие алгоритмы могут быть подключены в виде [[плагин]]ов.
<ref>{{статья
| автор = А.В. Аграновский, И.В. Мамай
Строка 41:
 
== История ==
В [[1982]] году была создана основная часть проекта [[RainbowCrack]], но у неё было несколько недостатков, связанных с пересечениями цепочек. Поэтому проекты, созданные в то время, до сих пор являются не столь эффективными. Для исправления этих недостатков, в начале 90-х годов создатели [[UNIX-подобная операционная система|UNIX-систем]] внесли изменения в данный проект, тем самым оказав большое влияние на развитие метода. Они ввели динамическую составляющую в [[Хеширование|хэш-функцию]], создающую уникальную функцию для каждой отдельной [[UNIX-подобная операционная система|UNIX-систем]]. В то же время Internet-проекты, системы Windows, базы данных до сих пор продолжают использовать статические [[Хеширование|хэш-функции]], для которых за один полный проход ключевого пространства можно расшифровать все пароли сервисов и целого класса программ.
 
В [[2003]] году частично решена проблема пересечений цепочек, в связи с чем проект стал работать эффективнее.
Строка 51:
В том же [[2005]] году было запущено несколько проектов: Латышский [http://passcracking.com], Русский [http://passcracking.ru] и др, где все желающие имели возможность использовать эти таблицы через [[Веб-служба|онлайн-сервис]]. Сейчас все эти проекты закрыты.
 
В конце [[2005]] года был запущен проект [http://rainbowcrack.com]. Его можно было улучшить увеличивая размеры цепочек, т.е. уменьшая размеры таблиц (чем меньше таблица, тем больше время поиска по ней) и дав всем желающим доступ к подобному сервису.<ref>[https://distributed.ru/forum/?t=794 Проект RainbowCrack :: Распределённые вычисления в Интернете<!-- Заголовок добавлен ботом -->]</ref>
 
Сейчас проект [[RainbowCrack]] расширяет количество задействованных [[Сервер|серверов]].
 
== Основная проблема ==
Размер [[Радужная таблица|радужных таблиц]] слишком большой. Для решения этой проблемы используется следующий способ: [[Хэш|хэши]] располагаются в цепочки по несколько тысяч комбинаций. Зная одну цепочку мы можем получить следующую комбинацию из предыдущей с помощью функции [[Хэширование|хэширования]]. В таблицы записываются только начало и конец цепочки. Для нахождения пароля по такой таблице, нужно применить к заданному хэшу функцию хэширования много раз (зависит от длины цепочек) и на очередном цикле получится хэш, который является концом одной из цепочек в [[Радужная таблица|радужной таблице]]. После этого мы прогоняем эту цепочку и заново применяем функцию хэширования от начального до нужного нам хэша. После нескольких цепочек мы находим комбинацию, соответствующую заданному [[Хеш|хэшу]] - это и есть искомый пароль.
 
Такие таблицы называют [[Радужная таблица|радужными]]. Их преимущество состоит в том, что во-первых они имеют меньший размер (в тысячи раз меньше обычных таблиц, содержащих те же пароли), во-вторых они позволяют за несколько минут найти обратное преобразование любого алгоритма хэширования, если искомый пароль уже был в этих таблицах.
 
== Описание алгоритма ==
Строка 100:
part_index
|Table_index связан с "reduce function", которая используется в [[Радужная таблица|радужной таблице]].
Chain_len — длина каждой «Радужной цепи» в таблице. «Радужная цепь» размером 16 [[Байт|байт]] является наименьшей единицей в [[Радужная таблица|радужной таблице]]. [[Радужная таблица|Радужная таблица]] содержит много радужных цепей.
 
Chain_num — число радужных цепочек в таблице.
Part_index — параметр, определяющийся, как «startpoint» при генерации каждой радужной цепи. Он должен быть числом (или начинаться с цифры) в [[RainbowCrack]] 1,3 и 1,4.
 
Строка 191:
Если свободный объем оперативной памяти системы меньше размера отсортированных радужных таблиц, то для хранения оставшихся данных будет выделено место на жестком диске.
 
=== Шаг 3.Использование rcrack программы для поиска радужных таблиц ===
== Преимущества ==
*Большая Большая мощность системы расшифровки паролей.
 
* Процесс расчёта таблицы может быть продолжен после его некорректного прерывания или зависания машины .
 
* При расчетах требуется мало памяти (2 МБ).
 
* Входные данные занимают мало памяти ( несколько байт для одной таблицы ).
 
* В программу, которая позволяет расшифровать пароли по полученным таблицам, можно добавляться новые алгоритмы хэширования. Таким образом существует возможность создания собственного проекта, аналогичного RainbowCrack.
 
== Недостатки ==
* На данный момент в таблицах еще нет паролей из символов кириллицы.
 
* В таблицах могут присутствовать либо только прописные, либо только строчные символы, а пароли вида LanMan (Windows) не различают строчные/прописные символы.
 
== Результаты ==
На данный момент размер радужных таблиц превышает 900 ГБ. Они позволяют из заданного хэша за несколько минут с очень высокой вероятностью (около 99%) найти пароль длиной не больше 7 символов, состоящий из букв, цифр и многих специальных символов. Процесс расшифровки паролей реализуется следующими алгоритмами: LanMan, SHA1, NT, MD2, Cisco PIX, MD4, MD5, MySQL 3.23, RIPEMD-160, MySQL SHA1 (базы данных).
 
Строка 214:
{{примечания}}
== См. также ==
* [[Полный перебор]]
* [[Перебор]]
* [[MD5]]
 
== Ссылки ==