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 -ca

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

Раджу відразу перевіряти на цифри, а потім на цифри і букви.

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