RisenAngels

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » RisenAngels » Отдохнем и поболтаем » декодировка хэшей


декодировка хэшей

Сообщений 1 страница 30 из 43

1

надо декодировать в слова 2 хэша:
0x35bcc7037f351d8f283f273c854a9b38
0xcab158df9301ce43ef39e7d0192fcfde

кто поможет?

0

2

x` ,kt&  :blink:

0

3

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

0

4

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

Попробывал бы на какой-нить спец. форум лучше обратиться >.<

0

5

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

0

6

какую кодировку шв юзает?

0

7

бля я раньше этой хуйней страдал слегка,ща нех не вспомню,была прога еще вроде милая,декодировала с шансом 40-60%

0

8

PasswordsPro вроде, кодировка MD5 или sha1 ,но я могу ошибаца.

0

9

Название алгоритма - пример

MD4 - 4a4a963e47c7b8a3b355e0e0c90d0a
a0
MD4 (HMAC) - 04ce8b342ca8a9d7406cd4897d2567
9a
MD4 (Base64) - SkqWPkfHuKOzVeDgyQ0KoA==

MD5 (64bit) - d0b506200fc60348
MD5 (128bit - md5($pass)) - 97f44b13955235245b2497399d7a93 - один из часто используемых алгоритмов, применяется в 80% случаев.
MD5 (HMAC) - 62cbf70244d4712b399c6dfb639d64
dc
MD5 (Base64) - Qpf0SxOVUjUkWySXOZ16kw==+dU=
MD5 (Unix) - $1$qwe$pBmwBb8acK8LffnIJif6T1
MD5 (APR) - $apr1$qwe$4EO8hVkTlZyQnU0L2dsJB.

MYSQL (64bit) - 5668a61a05d9c04b
MYSQL5 (160bit) - e56a114692fe0de073f9a1dd68a00e
eb9703f3f1, также встречается варианты со звездочкой в начале, не стоит путаться, это все тот же mysql5...

SHA-1 (160bit) - 601f1889667efaebb33b8c12572835
da3f027f78
SHA-1 (HMAC) - f52c1ee3b7b74c8ced47ae9a8a1891
cc49db07e6
SHA-1 (Base64) - YB8YiWZ++uuzO4wSVyg12j8Cf3g=

Domain Cached Credentials - f6f53c5ea599e94a0b5264c2831203
01

Применяются в php:

md5(md5($pass)) - 63ee451939ed580ef3c4b6f0109d1f
d0 - применяется в e107
md5(md5($pass).$salt) - 3b66224a098f5eb18ce1a0bc962826
9e - применяется в vBulletin
md5(md5($salt).md5($pass)) - 231b7727e6471d3f22ef56e190a3bf
61 - применяется в IPB 2.x.x
sha1($username.$pass) - da39a3ee5e6b4b0d3255bfef956018
90afd80709

хз, мб чем помогёт, по поваду выяснить кодировку

0

10

к утру чую будет дохуя критики от атцов,на тему какие мы с сентом нубы  :)

0

11

2 Ex3t1nG
ну если они расшифруют хеш, тогда мб и покритикуют))

А так многие даже и не знают, что это такое. Я тоже)) только по наслышке)) А дела никогда с этим не имел.

Короче, Сент. Забудь про чара  :D

0

12

Вообще, 0х - это начало хекса, а не хеша >.<

0

13

Некая прога так переводит hex в стринг:

0x35bcc7037f351d8f283f273c854a9b38  --> 5јЗ5Џ(?'<…J›8
0xcab158df9301ce43ef39e7d0192fcfde  --> К±XЯ“ОCп9зР/ПЮ

все чем могу помочь)

0

14

passwordpro только латиницу держит...

0

15

PasswordsPro вроде, кодировка MD5 или sha1 ,но я могу ошибаца.

MD5 до сих пор не взломан. Он лишь 'частично небезопасен'. Недавно удалось найти коллизии, но не более. Все эти ресурсы в и-нете которые якобы расшифровывают именно MD5  - фейк. 
А по поводу остальных алгоритмов ничего не знаю, только MD5 интересовался в свое время.

0

16

собсно, на моих глазах расшифровали мд5 хэш, но там был циферный пароль.

0

17

Алгоритм MD5
Cхема работы алгоритма MD5

На вход алгоритма поступает входной поток данных, хеш которого необходимо найти. Длина сообщения может быть любой (в том числе нулевой). Запишем длину сообщения в L. Это число целое и не отрицательное. Кратность каким-либо числам не обязательна. После поступления даных идет процесс подготовки потока к вычислениям.

Ниже приведены 5 шагов алгоритма:

[править] Шаг 1. Выравнивание потока

Входные данные выравниваются так, чтобы их размер был сравним с 448 по модулю 512 (L’ = 512 × N + 448). Сначала дописывают единичный бит в конец потока, затем необходимое число нулевых бит (выравнивание происходит, даже если длина уже конгруэнтна — сравнима с 448).

[править] Шаг 2. Добавление длины сообщения

В оставшиеся 64 бита дописывают 64-битное представление длины данных до выравнивания. Если длина превосходит 264 − 1, то дописывают только младшие биты. После этого длина потока станет кратной степеням двойки — 16, 32. Вычисления будут основываться на представлении этого потока данных в виде массива слов по 512 бит.

[править] Шаг 3. Инициализация буфера

Для вычислений инициализируются 4 переменных размером по 32 бита и задаются начальные значения шестнадцатеричными числами:

А = 01 23 45 67;
В = 89 AB CD EF;
С = FE DC BA 98;
D = 76 54 32 10.

В этих переменных будут храниться результаты промежуточных вычислений. Начальное состояние ABCD называется инициализирующим вектором.

Определим еще функции и константы, которые нам понадобятся для вычислений.

    * Потребуются 4 функции для четырех раундов. Введем функции от трех параметров — слов, результатом также будет слово.

    1 раунд Fun F(X,Y,Z) = (X\wedge{Y}) \vee (\neg{X} \wedge{Z}).
    2 раунд Fun G(X,Y,Z) = (X\wedge{Z}) \vee (\neg{Z} \wedge{Y}).
    3 раунд Fun H(X,Y,Z) = X \oplus Y \oplus Z.
    4 раунд Fun I(X,Y,Z) = Y \oplus (\neg{Z} \vee X).

    * Определим таблицу констант T[1..64] — 64-элементная таблица данных, построенная следующим образом: T[i] = int(4294967296 * | sin(i) | ) и s — циклический сдвиг влево на s бит полученого 32-битного аргумента.
    * Выравненные данные разбиваются на блоки (слова) по 32 бита, и каждый блок проходит 4 раунда из 16 операторов. Все операторы однотипны и имеют вид: [abcd k s i], определяемый как a = b + ((a + Fun(b,c,d) + X[k] + T[i]) < < < s), где X — блок данных. X[k] = M [n * 16 + k], где k — номер 32-битного слова из n-го 512-битного блока сообщения.

[править] Шаг 4. Вычисление в цикле

Заносим в блок данных элемент n из массива. Сохраняются значения A, B, C и D, оставшиеся после операций над предыдущими блоками (или их начальные значения, если блок первый).

    AA = A
    BB = B
    CC = C
    DD = D

Раунд 1

/*[abcd k s i] a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */
[ABCD  0 7  1][DABC  1 12  2][CDAB  2 17  3][BCDA  3 22  4]
[ABCD  4 7  5][DABC  5 12  6][CDAB  6 17  7][BCDA  7 22  8]
[ABCD  8 7  9][DABC  9 12 10][CDAB 10 17 11][BCDA 11 22 12]
[ABCD 12 7 13][DABC 13 12 14][CDAB 14 17 15][BCDA 15 22 16]

Раунд 2

/*[abcd k s i] a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */
[ABCD  1 5 17][DABC  6 9 18][CDAB 11 14 19][BCDA  0 20 20]
[ABCD  5 5 21][DABC 10 9 22][CDAB 15 14 23][BCDA  4 20 24]
[ABCD  9 5 25][DABC 14 9 26][CDAB  3 14 27][BCDA  8 20 28]
[ABCD 13 5 29][DABC  2 9 30][CDAB  7 14 31][BCDA 12 20 32]

Раунд 3

/*[abcd k s i] a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
[ABCD  5 4 33][DABC  8 11 34][CDAB 11 16 35][BCDA 14 23 36]
[ABCD  1 4 37][DABC  4 11 38][CDAB  7 16 39][BCDA 10 23 40]
[ABCD 13 4 41][DABC  0 11 42][CDAB  3 16 43][BCDA  6 23 44]
[ABCD  9 4 45][DABC 12 11 46][CDAB 15 16 47][BCDA  2 23 48]

Раунд 4

/*[abcd k s i] a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */
[ABCD  0 6 49][DABC  7 10 50][CDAB 14 15 51][BCDA  5 21 52]
[ABCD 12 6 53][DABC  3 10 54][CDAB 10 15 55][BCDA  1 21 56]
[ABCD  8 6 57][DABC 15 10 58][CDAB  6 15 59][BCDA 13 21 60]
[ABCD  4 6 61][DABC 11 10 62][CDAB  2 15 63][BCDA  9 21 64]

Суммируем с результатом предыдущего цикла:

A = AA + A
B = BB + B
C = CC + C
D = DD + D

После окончания цикла необходимо проверить, есть ли еще блоки для вычислений. Если да, то изменяем номер элемента массива (n++) и переходим в начало цикла.

[править] Шаг 5. Результат вычислений

Результат вычислений находится в буфере ABCD, это и есть хеш. Если вывести слова в обратном порядке DCBA, то мы получим наш MD5 хеш.

[править] Сравнение MD5 и MD4

Алгоритм MD5 происходит от MD4. В новый алгоритм добавили еще один раунд, теперь их стало 4 вместо 3 в MD4. Добавили новую константу для того, чтобы свести к минимуму влияние входного сообщения, в каждом раунде на каждом шаге и каждый раз константа разная, она суммируется с результатом F и блоком данных. Изменилась функция G = XZ v (Y not(Z)) вместо (XY v XZ v YZ). Результат каждого шага складывается с результатом предыдущего шага, из-за этого происходит более быстрое изменение результата. Изменился порядок работы с входными словами в раундах 2 и 3.

Различия в скорости работы представлены в таблице:
Таблица сравнения скоростей MD5 MD4
RFC 2,614 сек 37359 Кб/сек 2,574 сек 37940 Кб/сек
OpenSSL 1,152 сек 84771 Кб/сек 0,891 сек 109603 Кб/сек

Необходимо было вычислить 10 000 хешей для сообщения длиной 10 000 байт. В качестве реализаций использовались OpenSSL и RFC 1321.

[править] MD5 хеши

Хеш содержит 128 бит (16 байт) и обычно представляется как последовательность из 32 шестнадцатеричных чисел.

Несколько примеров хеша:

MD5("md5") = 1bc29b36f623ba82aaf6724fd3b16718

Даже небольшое изменение входного сообщения, в нашем случае на один бит, приводит к полному изменению хеша. Такое свойство алгоритма называется лавинным эффектом.

MD5("md4") =  c93d3bf7a7c4afe94b64e30c2ce39f4f

Пример MD5 хеша для «нулевой» строки:

MD5("") = d41d8cd98f00b204e9800998ecf8427e

[править] Криптоанализ

На данный момент существуют несколько видов «взлома» хешей MD5 — подбора сообщения с заданным хешем:

    * Перебор по словарю
    * Brute-force
    * RainbowCrack

[править] Атаки переборного типа

Для перебора по словарю или брутфорса можно использовать программы PasswordsPro[2], MD5BFCPF[3], John the Ripper. Словари для Brute-force также можно найти.[4]

RainbowCrack — новый вариант взлома хеша. Он основан на генерировании большого количества хешей из набора символов, и потом по этой базе можно вести поиск заданного хеша. Хотя генерация хешей занимает недели, зато последующий взлом производится за считанные минуты. Rainbow-таблицы можно найти, а можно сгенерировать самому.

[править] Коллизии MD5

Коллизия хеш-функции — это получение одинакового значения функции для разных сообщений и идентичного начального буфера. В отличие от коллизий, псевдоколлизии определяются как равные значения хеша для разного значения начального буфера, причем сами сообщения могут совпадать или отличаться. В 1996 году Ганс Доббертин, нашел псевдоколлизии в MD5, используя определенные инициализирующие векторы, отличные от стандартных. Оказалось, что можно для известного сообщения построить второе, такое что оно будет иметь такой же хеш как и исходное. C точки зрения математики это означает MD5(IV,L1) = MD5(IV,L2), где IV начальное значение буфера, а L1 и L2 различные сообщения. Ханс Доббертин нашел такие значения. Например если взять начальное значение буфера:

A = 0x12AC2375
В = 0x3B341042
C = 0x5F62B97C
D = 0x4BA763ED

и задать входное сообщение
AA1DDABE D97ABFF5 BBF0E1C1 32774244
1006363E 7218209D E01C136D 9DA64D0E
98A1FB19 1FAE44B0 236BB992 6B7A779B
1326ED65 D93E0972 D458C868 6B72746A

то, добавляя число 29 к определенному 32-разрядному слову в блочном буфере, можно получить второе сообщение с таким же хешем. Ханс Доббертин представил такую формулу: L2_i=\left\{\begin{matrix} L1_i, i < 16, i!=14; \\L1_i + 2^9, i = 14. \end{matrix}\right.

Тогда MD5(IV, L1) = MD5(IV, L2) = BF90E670752AF92B9CE4E3E1B12CF8DE.

В 2004 году китайские исследователи Ван Сяоюнь (Wang Xiaoyun), Фен Дэнгуо (Feng Dengguo), Лай Сюэцзя (Lai Xuejia) и Юй Хунбо (Yu Hongbo) объявили об обнаруженной ими уязвимости в алгоритме, позволяющей за небольшое время (1 час на кластере IBM p690) находить коллизии.[5][6]

В 2005 году исследователи Сяоюнь Ван и Хунбо Ю из университета Шандонг в Китае, опубликовали алгоритм, который может найти две различные последовательности 128 байт, которые дают одинаковый MD5 хеш. Одна из таких пар:
d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89
55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70

и
d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89
55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70

Каждый их этих блоков дает MD5 хеш равный 79054025255fb1a26e4bc422aef54eb4.

[править] Метод Сяоюнь Вана и Хунбо Ю

Метод Сяоюнь Вана и Хунбо Ю использует тот факт, что MD5 построен на итерационном методе Меркле-Дамгарда. Поданный на вход файл, сначала дополняется, так чтобы его длина была кратна 64 байтам, после этого он делится на блоки по 64 байта каждый M0,M1,…,Mn-1. Далее вычисляется последовательность 16-ти байтных состояний s0,…,sn по правилу si+1=f(si,Mi), где f некоторая фиксированная функция. Начальное состояние s0 называется инициализирующим вектором.

Сяоюнь Вана и Хунбо Ю позволяет для заданного инициализирующего вектора найти две пары M,M' и N,N', такие что f(f(s,M),M') = f(f(s,N),N'). Важно отметить, что этот метод работает для любого инициализирующего вектора, а не только для вектора используемого по стандарту.

Эта атака является разновидностью дифференциальной атаки, которая, в отличие от других атак этого типа, использует целочисленное вычитание а не XOR в качестве меры разности. При поиске коллизий используется метод модификации сообщений: сначала выбирается произвольное сообщение M0, далее оно модифицируется по некоторым правилам, сформулированным в статье, после чего вычисляется дифференциал хеш-функции, причем M'0 = M0 + dM0 с вероятностью 2-37. К M0 и M'0 применяется функция сжатия для проверки условий коллизии; далее выбирается произвольное M1, модифицируется, вычисляется новый дифференциал, равный нулю с вероятностью 2-30, а равенство нулю дифференциала хеш-функции как раз означает наличие коллизии. Оказалось, что найдя одну пару M0 и M'0, можно менять лишь два последних слова в M0, тогда для нахождения новой пары M1 и M'1 требуется всего около 239 операций хеширования.

Применение этой атаки к MD4 позволяет найти коллизию меньше чем за секунду. Она также применима к другим хеш-функциям, таким как RIPEMD и HAVAL.

В 2006 году чешский исследователь Властимил Клима опубликовал алгоритм, позволяющий находить коллизии на обычном компьютере с любым начальным вектором (A,B,C,D) при помощи метода, названного им «туннелирование».[7][8]

[править] Примеры использования

MD5 позволяет получать относительно надежный идентификатор для блока данных. Такое свойство алгоритма широко применяется в разных областях. Оно позволяет искать дублирующиеся файлы на компьютере, сравнивая MD5 файлов, а не их содержимое. Как пример, dupliFinder — графическая программа под Windows и Linux. Такой же поиск может работать и в интернете.

С помощью MD5 проверяют целостность скачанных файлов — так, некоторые программы идут вместе со значением хеша. Например, диски для инсталляции.

MD5 используется для хеширования паролей. В системе UNIX каждый пользователь имеет свой пароль и его знает только пользователь. Для защиты паролей используется хеширование. Получить настоящий пароль можно только полным перебором. При появлении UNIX единственным способом хеширования был DES (Data Encryption Standard), но им могли пользоваться только жители США, потому что исходные коды DES нельзя было вывозить из страны. Во FreeBSD решили эту проблему. Пользователи США могли использовать библиотеку DES, а остальные пользователи имеют метод, разрешенный для экспорта. Поэтому в FreeBSD стали использовать MD5 по умолчанию.[9]

Многие системы используют базу данных для хранения паролей и существует несколько способов для хранения паролей.

   1. Пароли хранятся как есть. При взломе такой базы все пароли станут известны.
   2. Хранятся только хеши паролей (с помощью MD5, SHA). Найти пароли можно только полным перебором. Но сейчас такая задача решается за доли секунды. Пароль из таблицы был найден всего за 0,036059 сек.[10]
   3. Хранятся хеши паролей и несколько случайных символов. К каждому паролю добавляется несколько случайных символов и результат ещё раз хешеруется. Например, md5(md5(pass)+word). Найти пароль с помощью таблиц таким методом не получится.

Пример базы данных способ id login password
1 5 anton mydata
2 5 anton 69380a4489890f8a53e0eddc36cd1379
3 5 anton md5(md5(mydata)+word) и word

Существует несколько надстроек над MD5 для усиления криптостойкости.

    * MD5 (HMAC) — HMAC — Keyed-Hashing for Message Authentication (хеширование с ключом для аутентификации сообщения) — алгоритм позволяет хешировать входное сообщение L с некоторым ключём K, такое хеширование позволяет аутентифицировать подпись.
    * MD5 (Base64) — здесь полученный MD5 хеш кодируется алгоритмом Base64.
    * MD5 (Unix) — алгоритм вызывает тысячу раз стандартный MD5.

0

18

http://forum.ru-board.com/topic.cgi?forum=...c=1671&start=20

Ну если совсем интересно можешь почитать тут.
:)

0

19

JR (07:05:25 29/12/2008)
можно brute force но оно у тебя займёт некоторое время

JR (07:05:42 29/12/2008)
а поскольку у тебя оно на русском - пару месяцев минимум

:bye:

0

20

хеш шмеш

0

21

бтв причем тут хеш, если это действительно HEX ?)
На твоем бы месте я бы поискал разные таблицы расшифровывания HEXa.

0

22

всю ночь искал. Ничего удобоваримие такого же как у тебя:
5јЗ5Џ(?'<…J›8
К±XЯ“ОCп9зР/ПЮ

не получил.

0

23

Я незнаком с правилами перевода HEXa, но возможно полученный результат следует читать с конца, хотя это мало что меняет.

И еще. Тут по какой таблице не расшифровывай - получается 16 символов в обоих ответах, если такого быть принципиально не может, то мы идем ложным путем.

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

0

24

собсно, на моих глазах расшифровали мд5 хэш, но там был циферный пароль.

ты хочешь сказать что это была именно дешефровка а не перебор?  Ну тогда этому человеку надо не скрывать свои таланты. Я не слышал до сих пор про случаи прямой дешифровки. Поиск коллизий - да. А вот прям сразу дешифровать - не слыхал. Может быть с анонсом md6 премиальных и нет уже, но раньше точно были за способ взлома md5.

Тот же PasswordsPro занимается брутом и не более.

Отредактировано artesk (2008-12-29 19:52:09)

0

25

подмена понятий) ты прав. то был подбор через мд5инсайд.

0

26

мд5 не ломается, а просто перебираются все "слова" и выводятся те, которые будут иметь такую же сумму..

Впринцыпе это даже не брут)

а восстановить "слово" по мд5 не перебором впринцыпе в теории невозможно, тк при шифровании идут постоянные потерии данных..

Вы уверены, что это HEX? Что-та бессмысленные букафки..
http://i014.radikal.ru/0812/aa/384cdb15a202.jpg

Отредактировано SyntaT (2008-12-29 23:43:07)

0

27

Впринцыпе это даже не брут)

перебираются все "слова"

o_O

Отредактировано artesk (2008-12-29 23:04:59)

0

28

o_O

ну так в итоге брута ты ответ получаешь, а не набор вариантов)))

0

29

брут это метод решения задачи путем перебора всех возможных вариантов. (С)
Поиск коллизий чем не задача?)

Отредактировано artesk (2008-12-29 23:19:22)

0

30

может это всё-таки реально мд-сумма и она при помощи магии случайно не в базу записалась, а юзеру послалась..? Если так, то не факт, что и в базу что надо записалось)) У шога может быть что угодно)

А может проблему решить не извращениями, а просто в саппорт обратиться..??

0


Вы здесь » RisenAngels » Отдохнем и поболтаем » декодировка хэшей