Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #82, ОКТЯБРЬ 2005 г.

Радуга в таблицах

Никита Кислицин

Хакер, номер #082, стр. 082-050-6


Вместо *.rt можно указать конкретные имена файлов с таблицами. Если же тебе нужно сломать целый файл с хэшами, просто укажи его имя после флага -l.

[заключение]

Ну вот и все, пожалуй, о чем я хотел тебе сегодня рассказать. Теперь ты хотя бы на пальцах знаешь, как работают эти таблицы- радуги, какой есть софт для их создания, использования, и как с их помощью ломают хэши. А то ведь еще вчера об этом и понятия не имел, верно? Так что я сделал свою работу. Если заинтересовался этой темой, то на диске лежит несколько оригинальных документов, набор необходимого софта и мой Maple-скрипт для тестирования параметров. Еще надо сказать, что некоторые рассуждения я приводил в утрированном виде, и на самом деле, изложенная модель немного отличается от той, что используется в Rainbow Crack. Но так и должно быть - между теорией и практикой всегда есть небольшой зазор.

[как прикрутить свою хэш-функцию]

Просто вопрос из FAQ :). На самом деле, это актуальная проблема. Производители включили в список поддерживаемых функций только три самых популярных: md5, lm и sha1. Чтобы добавить какой-то другой алгоритм, нужно внести небольшие изменения в исходник RainbowCrack. Открой файл HashRoutine.cpp и добавь туда следующие строки:

CHashRoutine::CHashRoutine()

{

AddHashRoutine("ownhash", CoolHash, 16);

}

Прототип функции AddHashRoutine:

void AddHashRoutine(string sHashRoutineName, HASHROUTINE pHashRoutine, int nHashLen)

Здесь sHashRoutineName - название добавляемого алгоритма, причем, как пишут в документации, не следует использовать символ «_»; nHashLen - длина генерируемого хэша; pHashRoutine - указатель на хэш-функцию:

typedef void (*HASHROUTINE)(unsigned char* pPlain, int nPlainLen, unsigned char* pHash);

Тут pPlain - шифруемый текст, nPlainLen - длина этой строки, а pHash - ссылка, куда записывается значение хэш-функции. Разумеется, необходимо также описать саму хэш-функцию, CoolHash, лучше всего это сделать рядом с остальными функциями в файле HashAlgorithm.cpp, разместив прототип в HashAlgorithm.h.

После этого нужно пересобрать RainbowCrack и попробовать добавленный алгоритм в действии, вот так:

rtgen ownhash loweralpha 1 7 0 100 16 test

[сервисы по взлому хэшей]

В интернете есть несколько энтузиастов, предоставляющих бесплатные услуги по быстрой расшифровке хэшей. Эти ребята не пожалели системного времени, памяти и места на диске, чтобы предоставить возможность быстро ломать популярные хэши. К примеру, md5 можно за несколько часов раздраконить на http://passcracking.com. Правда, с тех пор, как об этом сервисе написали в slashdot, количество заявок, а значит, и время ожидания, многократно возросло.

Если же тебе необходимо поломать LM HASH, отправляйся на http://sarcaprj.wayreth.eu.org. 18750 мегабайт с таблицами сделают всю работу быстро и качественно. За время работы хозяин проекта потерял 1678875.57 секунд машинного времени и помог раздраконить 5445 хэшей.

WWW

Сервисы по взлому хэшей: http://passcracking.com, http://sarcaprj.wayreth.eu.org. Интересные документы для чтения: www.antsight.com/zsl/rainbowcrack/rcracktutorial.htm, http://lasecwww.epfl.ch/pub/lasec/doc/Oech03.pdf, http://cryptography.hyperlink.cz/md5/MD5_collisions.pdf.

Назад на стр. 082-050-5  Содержание  Вперед на стр. 082-050-7