special

This webpage has been robot translated, sorry for typos if any. To view the original content of the page, simply replace the translation subdomain with www in the address bar or use this link.

MD5 дешифраторы или атака на хеш

По теме:


MD5 дешифраторы или атака на хеш

Цель:

Рассказать о способах расшифровки.

Научить молодых хакеров узнавать пароли(либо другие данные) зашифрованные алгоритмом MD5(и не только MD5) самим, основываясь на реальных примерах.

Показать пользователям, что нада внимательнее относиться к выбору пароля.

Последовательность:

Будут по-очерёдно рассмотрены методы нахождения пароля от лёгкого(по моему мнению) до сложного(в плане скорости и т.д.).

О MD5:

MD5 (англ. Message Digest 5) — 128-битный алгоритм хеширования, разработанный профессором Рональдом Л. Ривестом из Массачусетского технологического института (Massachusetts Institute of Technlogy, MIT) в 1991 году.

Предназначен для создания «отпечатков» или «дайджестов» сообщений произвольной длины.

О расшифровке:

На самом деле называть это расшифровкой будет некорректно, так как при этой так называемой расшифровке мы(точнее программы) подбираем такой же хэш, начальное значение которого нам известно.

Пример: у нас есть хэш 0575c8d592fb7b088226750aceec2b4e, нам надо узнать начальное его значение, также у нас есть слово tutorial хеш которого 0575c8d592fb7b088226750aceec2b4e, итак, мы берём наш хеш 0575c8d592fb7b088226750aceec2b4e и пытаемся найти такой же, начальное значение которого известно, по совпадению мы получаем ответ,что есть такой хэш и что этому хэшу соответствует значение tutorial.

Имейте ввиду, что чем длиннее по символам начальное значение тем больше времени(кроме словарного перебора) вам(а точнее программе) придётся потратить на его нахождение.

Методы "расшифровки":

Подбор по словарю.

Подбор по радужным таблицам
(http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B4%D1%83%D0%B6%D0%BD%D0%B0%D1%8F_% D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0).

Брут
(http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B3%D1%80%D1%83% D0%B1%D0%BE%D0%B9_%D1%81%D0%B8%D0%BB%D1%8B).

Что нам нужно для "расшифровки":

Сайт для проверки на возможное совпадение.

Программа для проверки совпадений, по словарю, радужным таблицам, бруту. Необязательно одна программа, вы поймёте почему.

Словарь, радужная таблица.

Сайты:

http://crackfor.me/ Правда нету простых паролей как на других сервисах, но простые пароли очень быстро можно узнать самим, об этом ещё пойдёт речь.

Итак, для примера заходим на этот сервис и вписываем в поле для хэша наш хэш 0575c8d592fb7b088226750aceec2b4e, жмём поиск и получаем такой ответ: пароль tutorial найден в нашей базе данных!

Было найдено совпадение в базе данных и выведено начальное значение хэша 0575c8d592fb7b088226750aceec2b4e = tutorial.

Программы:

Именно при помощи программ можно получить начальное значение хэша 3 способами.

Способ первый, подборка по радужным таблицам

Радужные таблицы и программа которая будит проверять и сравнивать их чтобы получить начальное значение которое нам нужно.

Итак, что касается таблиц, мы либо скачиваем их, либо генерируем.

Найти где скачать можно в google.

Я использую программу в пакет которой также входит и генератор. Она называется Cain & Abel и скачать её можно от сюда http://www.oxid.it/cain.html

Скачали, установили (при инсталляции спросит, устанавливать ли winpcap, выберите да).

В главной папке програмы есть подпапка с названием Winrtgen, там генератор таблиц, запускаем его. Жмём Add Table, вот тут надо настраивать какие таблицы будим иметь.

На момент написания статьи я генерировал таблицы 4-7 символов, вот мои настройки, поиграйтесь, там есть все данные(я описал на картинке) о вашей будущей таблице, они меняются при разных настройках.

Итак жмём ок, и ещё раз ок, пошла генерация. Кстати вы можете останавливать и продолжать её когда захотите. Вроде всё.

Приступим к нахождению, запускаем программу, идём во вкладку Cracker и слева выбераем MD5 Hashes. Видим пустой список, нажимаем на нём правую кнопку мышки и выбераем Add to list. В открывшемся окне вписываем наш хэш, жмём ок, хэш появился в списке. Жмём правую кнопку на нашем появившимся хэше и выбираем Cryptanalysis Attack via Rainbow Tables. В открывшимся окне жмём Add Table и добавляем наши таблицы. Жмём start, ждём, если в таблице будит нужное значение мы получим ответ.

Второй способ, подборка по словарю

Сойдёт таже программа, только нужны словари, их можно взять от сюда http://www.passwords.ru/dic.php http://www.passwords.ru/dic.php

Некоторые словари с расширением .dic, меняем на .txt

Всё как и в 1 способе, только вместо Cryptanalysis Attack via Rainbow Tables выбираем Dictionary Attack, в открывшемся окне видим пустой список, жмём правую кнопку на нём и Add to list.

Выбираем наши словари. Жмём start, также перед стартом можем поиграться с галочками, они описаны в примерах. Если будет найдено совпадение мы получим интересующий нас ответ.

Последний способ, БРУТ

Для брута также можно использовать Cain & Abel, но это медленно. Я использую barswf, пока что самый быстрый брут MD5 какой я только видил, брутит миллионами хэшей в секунду.

Скачать можно тут http://3.14.by/ru/md5

Используем через CMD.

Пример: C:\>barswf.exe -h 0575c8d592fb7b088226750aceec2b4e -c a

Программа начнёт брутить для хэша 0575c8d592fb7b088226750aceec2b4e только маленькие буквы, чтоб увидеть какие можно задавать параметры с описанием, наберите C:\>barswf.exe

Советую сразу проверять на цифры, а потом на цифры и буквы.

Для практических занятий пробуйте зашифровывать что-нибуть тут http://www.md5encryption.com/ и потом пробовать узнать всеми способами.


Created/Updated: 25.05.2018