LINUX.ORG.RU

Радужные таблицы и 8 байт MD5 хеша

 


0

2

Доброго времени суток. Кто имел дело с радужными таблицами, подскажите такой момент. У меня есть от 10 до 100 8ми байтовых возможных МД5 хешей оригинального пароля. Насколько эффективно использовать для получения оригинального пароля радужные таблицы? И есть ли программа из известных, которая работает с радужными таблицами и позволяет ввести MD5 по маске, фактические первую его половину?

если в этих хэшах есть соль, то ничего не получится. если она тебе известна, то получится, но придется генерить свои таблицы, если соль разная для каждой записи-придется генерить таблицы для каждой записи

pawnhearts ★★★★★ ()
Последнее исправление: pawnhearts (всего исправлений: 1)
Ответ на: комментарий от pawnhearts

Соли нету. Но тут другой момент. Алгоритм оригинального кода был таков: 1. Генерим МД5 пароля 2. Используя МД5 хеш, также используя генерацию случайных чисел и некоторые побитовые мат.операции генерим псевдо-хеш

Имея псевдо хеш и данные, которые им зашифрованы я могу получить только половинки МД5 хеша, и то не оригинального, а набор половинок, т.к. использовался генератор случайных чисел.

В связи с этим встал выбор: брутофорс (CPU, GPU) или радужные таблицы. В случае с брутофорсом тоже нужно попотеть, т.к. известные брутофорсеры GPU работают только с полноценными MD5 хешами. Задача такая, что пароль заранее не известен, но есть вероятность совпадения пароля со словарем (или незначительные его модификации).

Random2 ()
Ответ на: комментарий от Random2

Хотел уточнить. То есть весь этот набор половинок - это предполагаемые половинки МД5 хеша. И только одна из них - есть реальная половина МД5. Какая именно - не знаю. В этом-то и проблема:)

Random2 ()
Ответ на: комментарий от pawnhearts

Вот например псевдо-хеш: B0 08 87 8F 8A 2A 6C 32 33 9C 42 3B 09 C8 20 87

Используя исходный код с некоторыми математическими преобразованиями я получил эти вероятные половины MD5-хешей: 2046B04F09777CD00000000000000000 True 2147B34E0A707DD10000000000000000 True 2248B641F7757ED60000000000000000 True 2349B14008767FD70000000000000000 True 244ACC4BF54B70D40000000000000000 True 254BCF4AF67471D50000000000000000 True 264CB24DF34972DA0000000000000000 True 274DCD4CF44A73DB0000000000000000 True 6086708FC9B7BC100000000000000000 True 6187738ECAB0BD110000000000000000 True 62887681B7B5BE160000000000000000 True 63897180C8B6BF170000000000000000 True 648A8C8BB58BB0140000000000000000 True 658B8F8AB6B4B1150000000000000000 True 668C728DB389B21A0000000000000000 True 678D8D8CB48AB31B0000000000000000 True A0C630CF89F7FC500000000000000000 True A1C733CE8AF0FD510000000000000000 True A2C836C177F5FE560000000000000000 True <<--- 8-байт префикса оригинального MD5-хеша A3C931C088F6FF570000000000000000 True A4CA4CCB75CBF0540000000000000000 True A5CB4FCA76F4F1550000000000000000 True A6CC32CD73C9F25A0000000000000000 True A7CD4DCC74CAF35B0000000000000000 True E006F00F49373C900000000000000000 True E107F30E4A303D910000000000000000 True E208F60137353E960000000000000000 True E309F10048363F970000000000000000 True E40A0C0B350B30940000000000000000 True E50B0F0A363431950000000000000000 True E60CF20D3309329A0000000000000000 True E70D0D0C340A339B0000000000000000 True

Реальный хеш: a2c836c177f5fe564ae0891c36e38830 (122677) Идея такая, чтобы взять программу, которая умеет работать с радужными таблицами и подсунуть ей список этих половинок, задав маску чтобы она искала только первую половину. Это будет быстрее, чем брутиловка? Есть ли готовый софт и радужные таблицы с возможностью указания маски?

Random2 ()
Ответ на: комментарий от Random2

В связи с этим встал выбор: брутофорс (CPU, GPU) или радужные таблицы.

брутфорс конечно. Радужные таблицы - тот же брутфорс, только УЖЕ сделанный. Сам по себе брутфорс быстрее и проще. И не надо Over9000 гигов памяти.

drBatty ★★ ()
Ответ на: комментарий от drBatty

Сам по себе брутфорс быстрее и проще

Согласен. Но давайте проанализируем. Имеем пароль цифробуквенный до 10 символов (маленькие буквы).

Брутофорс. 26+10^10 = 3 656 158 440 062 976 вариантов При скорости 15 млрд. хешей в секунду (кстате, реально ли такой скорости достичь на топовых двух видеокартах?) имеем время 67 часов.

Радужные таблицы хоть и занимают много места - 1-2 ТБ, если не ошибаюсь (кстате, это дешевле чем две топовых видеокарты), но подбирают такой пароль за ~20 минут.

Но у меня задача усложняется, т.к. имею только половину хеша, и то не один конкретный а несколько десятков штук. С радужными таблицами не работал как и GPU-брутофорсом, поэтому могу ошибаться в своей теории, обратился сюда на форум к опытным людям за советом. Что скажете по поводу теории? Как оно на практике?

Random2 ()
Ответ на: комментарий от Random2

Радужные таблицы хоть и занимают много места - 1-2 ТБ, если не ошибаюсь (кстате, это дешевле чем две топовых видеокарты), но подбирают такой пароль за ~20 минут.

дык что-бы просчитать эти таблицы, тебе понадобится эти 2 видеокарты, и ещё часов 200..300. Проще за 67.

Но у меня задача усложняется, т.к. имею только половину хеша, и то не один конкретный а несколько десятков штук.

ну и отлично. Представь, что ты имеешь не половину, а ОДИН байт хеша, причём тебе подойдёт не только 0xAE, но и 0xBC. В этом случае, тебе подходит каждый 128й случайный пароль, который ты подберёшь даже вручную! Чем сильнее алгоритм вымывает данные из хеша, тем слабее он становится. Пример - недавний скандал в жж с ICQ. Кстати, тебе и радужная таблица пойдёт готовая (их можно нагуглить), например можешь забить чем-то(всё равно чем) недостающую половину - такой пароль прекрасно подойдёт.

С радужными таблицами не работал как и GPU-брутофорсом

суть радужной таблицы - делаем брутфорс, и запоминаем ВСЕ пароли. (на самом деле не так всё просто, но суть такова). Потому - тебе нужен именно брутфорс, а не таблица. Ну и ИМХО дешевле накупить 10 обычных процессоров, чем 2 GPU. GPU юзают воены, которые денег не считают, но количество системных блоков для них критично.

drBatty ★★ ()
Ответ на: комментарий от Random2

Согласен. Но давайте проанализируем.

с такими подачам вам на pgpru.com

Umberto ★☆ ()
Ответ на: комментарий от anonymous

Они уже просчитаны, придурок. В этом и суть.

я значит придурок? Тогда найди вот этот пароль: 0da33ee1dd8b528d31a48bf6f925e477 (md5)

drBatty ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.