четверг, 7 сентября 2006 г.

Проект RainbowCrack, или Ломаем ВСЕ пароли

Проект RainbowCrack, или Ломаем ВСЕ пароли

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





Описание от Алексея Петрова.

Тогда как некоторые, хорошо известные нам проекты тратят миллионы компьютерных лет на взлом одного пароля, проект RainbowCrack предлагает за такое же время (полный перебор) создать таблицы, в которые записать все возможные пароли и соответствующие им хэши по всем распространённым в мире алгоритмам хэширования. Обычно хэшированный вариант пароля хранится в открытом доступе и известно, по какому алгоритму получен этот хэш (например MD5), но обратное преобразование считается слишком сложной операцией, требующей, в общем случае, перебора всех возможных комбинаций. Это ставится в основу безопасности многих современных систем. Если же иметь сортированные таблицы хэшей и соответствующие им пароли — получим систему, которая с помощью быстрого бинарного поиска по таблице может получать обратное преобразование хэша в пароль для любого существующего алгоритма хэширования.

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

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

Сейчас в проекте уже создано 900 ГБ таблиц, которые позволяют с вероятностью порядка 99% найти за несколько минут обратное преобразование из хэша в любой пароль длиной до 7 символов (не только из букв, но также цифр и многих спецсимволов), зашифрованных по алгоритмам LanMan (авторизация в Windows), NT LanMan (авторизация в Windows NT, в том числе сетевых доменах), MD2, MD4, MD5, SHA1, RIPEMD-160, Cisco PIX (большинство маршрутизаторов), MySQL 3.23, MySQL SHA1 (базы данных).

Всем участникам проекта предоставляется возможность уже сейчас пользоваться полученной системой расшифровки паролей в виде онлайн-сервиса — частота использования сервиса одним участником не ограничена, но ограничено время действия каждого аккаунта. Для продления времени доступа участникам предлагается рассчитывать новые таблицы, увеличивающие количество поддерживаемых алгоритмов и комбинаций паролей. Обычно на расчёт таблицы уходит от нескольких дней до недели процессорного времени (2 ГГц) — за каждую таблицу время доступа продлевается на 2 недели.

Работает это следующим образом: качается клиент, на сайте резервируется диапазон для обсчёта и считается, затем заливается взад. У меня пока обсчиталась половина задания, выходной файл уже 300 метров — чувствую заливаться будет долго =) А вот как это выглядит:

Изображение недоступно

Есть русский аналог. Правда, там база будет поменьше. Вот такая ботва...

Автор: Всякая ботва.

Интересное...




Другие посты по этой теме:



0 коммент.:

Отправить комментарий

Ваш комментарий появится в блоге после проверки администратором