Определить тип хеша онлайн

Обновлено: 21.11.2024

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

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

Что такое хэш и как его взломать?

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

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

Хотя хэши лучше, чем хранить пароли в открытом виде, их все же можно взломать, если использовать хорошее правило или список паролей с помощью Hashcat или другой программы для взлома. Но вы не можете просто указать Hashcat на любой хэш и ожидать, что он сработает. Представьте себе Hashcat как дрель с множеством бит разного размера. Для каждого типа хэша, который мы хотим взломать, нам нужно прикрепить к Hashcat другой «бит», установив для него правильный режим для атаки целевого хэша.

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

Можете ли вы с первого взгляда определить, какой из этих двух распространенных хэшей какой?

Несмотря на то, что вы, возможно, уже видели оба хэша, может быть не сразу понятно, какой из этих хэшей является MD5, а какой — SHA1. Это может стать еще более запутанным с похожими типами хэшей, которые имеют разные номера режимов в Hashcat. В случае с приведенными выше хэшами большая разница, что есть что.

При использовании Hashcat для взлома этого хеша мы должны установить параметр -m в правильный режим. Чтобы взломать хеш MD5, мы использовали бы номер режима 0, чтобы получить хеш.

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

Какие хэши поддерживаются?

В настоящее время можно идентифицировать большое количество хэшей, которые Hashcat способен взломать. В репозитории GitHub для hash-identifier список поддерживаемых хэшей довольно обширен.

Что вам понадобится

Чтобы следовать этому руководству, на вашем компьютере должен быть установлен Python3 (он кроссплатформенный), поэтому установите его, прежде чем продолжить, если у вас его еще нет. Вам также понадобится Hashcat, который можно загрузить, запустив apt install hashcat после обновления компьютера с помощью apt update и apt upgrade.

Если вы хотите сгенерировать несколько собственных хэшей для взлома, вы можете сделать это в формате echo -n PLAINTEXT | (ХЭШТИП)сумма. Чтобы создать хэш SHA1 слова «nullbyte», я бы использовал следующую команду.

Шаг 1. Загрузите и установите Hash-Identifier

Установить скрипт Python очень просто. Для начала откройте окно терминала и выполните следующую команду.

Затем перейдите в его каталог с помощью cd hash-identifier и перечислите его содержимое с помощью ls.

Вы должны увидеть файл с именем hash-id.py, который можно запустить с помощью приведенной ниже команды.

Шаг 2. Неизвестные хэши отпечатков пальцев

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

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

Наш второй хеш, показанный ниже, идентифицируется как хэш SHA256, а также Haval256.

Наш третий хеш идентифицируется как SHA1:

И наш четвертый хеш идентифицируется как SHA512:

Наконец, наш последний хеш определяется как MD5:

Это было легко, но следующим шагом будет атака на эти хэши путем преобразования идентифицированного типа хэша в номер режима Hashcat.

Шаг 3. Найдите режимы хеширования Hashcat

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

Выше мы видим два примера, которые могут совпадать с нашим первым хешем (7196759210defdc0) из предыдущего шага. На первый взгляд режим 200 "MySQL323" кажется наиболее подходящим, но мы можем убедиться в этом, пропустив пример хэша через hash-identifier.

Это точное совпадение с нашим образцом хеша:

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

Это доказывает, что мы определили правильный номер режима Hashcat, 200, для использования в нашей атаке Hashcat.

Шаг 4. Атакуйте хэш с помощью Hashcat

Как только мы узнаем, какой режим использовать, идентифицируя хэш, мы можем атаковать его с помощью Hashcat. Чтобы это работало, нам нужно создать файл словаря с паролями, который Hashcat затем будет использовать для атаки на хэш. В Интернете есть много доступных списков, таких как RockYou, но в этом случае мы создадим один с именем example.dict, чтобы поместить в него несколько вариантов пароля.

Если вы все еще находитесь в инструменте хэш-идентификатора, сначала нажмите Control-C на клавиатуре. Затем создайте и откройте файл в nano, введя следующее.

После добавления нескольких вариантов пароля, которые включают слово "hashcat" для этого примера, нажмите Control-X для выхода, затем Y и подтвердите имя файла. Теперь мы можем использовать этот файл в качестве нашего списка предположений открытого текста вместе с обнаруженным нами режимом для взлома хеша. Основная формула, которую мы будем использовать, будет выглядеть так:

Когда мы запустим его с нашим хэшем 7196759210defdc0 ("HASH_VALUE") с нашим режимом 200 ("MODE_NUMBER"), результаты должны выглядеть так, как показано ниже. Если у вас более старая система, подобная той, которую я использую в качестве примера, вам может понадобиться использовать с ней команду --force.

Ну вот! Мы получаем вывод 7196759210defdc0:hashcat, что означает, что мы обнаружили, что значение хэша MySQL323 является словом «hashcat», сравнив его со всеми словами в файле example.dict.

Hash-Identifier упрощает отпечатки хэшей

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

Надеюсь, вам понравилось это руководство по снятию отпечатков неизвестных хэшей! Если у вас есть какие-либо вопросы об этом руководстве по взлому и идентификации хэшей или у вас есть комментарии, задайте их ниже или свяжитесь со мной в Твиттере @KodyKinzie.

Хотите начать зарабатывать как белый хакер? Начните свою карьеру хакера с нашим комплектом обучения Premium Ethical Hacking Certification 2020 от нового магазина Null Byte и пройдите более 60 часов обучения у специалистов по кибербезопасности.

В статье «Как определить типы хэшей» мы уже познакомились с такими утилитами, как hashID и HashTag, которые определяют хеш-строку, по какому алгоритму она была рассчитана.

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

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

Зачем нужны новые инструменты для определения типов хэшей?

hashID устарел с марта 2015 г., hash-identifier устарел с 2011 г., Dagon — с июня 2018 г., а findmyhash — с 2011 г. Все они вообще не поддерживают или имеют некорректную, ошибочную поддержку современных хэшей, таких как Keccak/SHA3/Blake2 и т.д. Также такой инструмент, как hash-identifier, полностью интерактивен, не имеет параметров и не удобен для использования в скриптах. findmyhash имеет очень ограниченный набор обнаруживаемых хэшей. Самый интересный инструмент — это hashID (для определения хэша), но так как он не поддерживается уже более 5 лет, проблемы и открытые PR (Pull Requests) накапливаются, баги не исправлены, а некоторые фичи отсутствуют.< /p>

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

Посмотрим сравнительную таблицу инструментов для определения типа хеша:

Примеры хэшей

Если вам нужны образцы хэшей для проверки инструментов, см. раздел «Где посмотреть примеры хэшей».

Я выбрал несколько хэшей для анализа:

Хэши должны быть заключены в одинарные кавычки!

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

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

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

ГАИТИ

HAITI (Hash IdenTifIer) – это инструмент командной строки (и библиотека) для определения типа заданного хэша. Библиотека особенно удобна для написания сценариев, поскольку вам не нужно включать инструмент командной строки в подпроцесс.

  • Обнаружено более 382 типов хэшей
  • Поддерживаются современные алгоритмы (SHA3, Keccak, Blake2 и т. д.)
  • Отсылки к Hashcat и Джону Потрошителю
  • Инструмент и библиотека CLI
  • Цветной вывод
  • Взлом

Использовать программу очень просто - поставьте свой хэш после названия программы:

Причем ОПЦИИ не обязательны, поведение программы по умолчанию очень сбалансировано и в большинстве случаев вы не захотите его менять никакими дополнительными параметрами.

Среди выводов есть правильный ответ: SHA3-512

В выходных данных HC — это сокращение от Hashcat, а последующие цифры (например, 1700, 17600 и т. д.) — это номера режимов в этой программе.

JtR — это сокращение от John the Ripper, а следующие строки — это названия хеш-алгоритмов для взлома в этой программе (raw-sha512, raw-sha3 и т. д.).

Цвет очень хорошо улучшает читаемость вывода, особенно если он большой. Если вы хотите отключить цветной вывод, используйте параметр --no-color:

Хотя выходные данные часто содержат более одного предположения о типе хеша, алгоритмы с солью исключаются по умолчанию. Чтобы показать все возможные алгоритмы хеширования, включая использование соли, используйте параметр -e или --extended:

Если вы хотите знать только тип хэша, а информация о режимах hashcat и john the ripper для вас лишняя, то вы можете указать параметр --short для укорочения вывода:

Имя-это-хэш

В январе 2021 года, почти через два года после начала работы над HAITI, появился проект под названием Name-That-Hash, поскольку автору понадобилась библиотека Python для Ciphey. Теперь есть два подходящих варианта идентификации хэша.

Имя этого хэша определяет тип хэша. Программа поддерживает MD5, SHA256 и более 300 других хэшей.

Особенности Name That Hash:

  • Рейтинги популярности. Сначала вы увидите самые популярные хэши.
  • Сводка по хэшам – Name-that-hash обобщает основы использования каждого хэша, позволяя вам сделать осознанный выбор.
  • Цветовой вывод контрастный и описательный.
  • Вывод в JSON и API — вы можете использовать Name-That-Hash в своем проекте, так как программа имеет API и интерфейс командной строки. Используйте вывод JSON или импортируйте программу как модуль Python!
  • Обновлено: Name-That-Hash – это проект 2021 года.
  • Продуманность — авторы продумали функции, интерфейс и опции с учетом удобства использования.
  • Расширяемость: добавляйте новые хэши так же быстро, как вы можете редактировать текстовый файл.
  • Работа с файлами — программа читает файл построчно и проверяет тип каждого хеша.
  • Поиск хэша — это экстремальный режим, при котором пытаются извлечь хэш, даже если строка содержит мусор.

Чтобы определить тип хеша, укажите его с параметром -t (--text):

Хеши делятся на две группы:

Более того, в этих группах они также отсортированы по частоте использования.

В выводе вы можете увидеть уже знакомые строки HC и JtR с номерами и названиями алгоритмов хэширования в Hashcat и John.

Кроме того, имеется краткое описание приложения, например:

  • Вывод: используется в блокчейне Биткойн и теневых файлах.
  • Обзор: используется в Wireguard, Zcash, IPFS и других программах.
  • Обзор. Не считается хеш-функцией.

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

Чтобы проверить несколько хэшей, используйте параметр -f (--file):

Формат файла — один хэш на строку.

Требуется один из этих параметров (-t или -f).

Если ваши хэши закодированы в Base64, используйте параметр -b64 (--base64). Он говорит программе декодировать хэши Base64 перед идентификацией. Для файлов со смешанными строками Base64 и в обычном тексте программа сначала пытается декодировать base64, и если это не удается, то она обрабатывает хэш как обычную текстовую строку.

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

Теоретически следующие две команды должны дать одинаковый результат:

Но для меня они оказались другими. Поэтому используйте этот режим скорее как экспериментальный.

Бесплатное онлайн-определение типа хэша

Онлайн-служба определения типа хеша существует уже давно. Работает очень просто — вводишь хэш и получаешь тип хеша. Ранее он полагался на утилиты hashID и HashTag. Теперь сервис обновлен и работает с утилитами HAITI и Name That Hash — самыми современными инструментами для определения типа хэша.

Вывод

Как видите, сложно выбрать, какая из программ лучше — HAITI или Name That Hash. Вы можете использовать один или два. Или, если вам нужен вывод JSON, нужна поддержка API или библиотека для определения хэшей, вы можете выбрать тот, который лучше всего соответствует вашим потребностям.

Существует большое количество типов хэшей. Некоторые из них универсальны и используются широким кругом приложений, например, MD5, SHA1, CRC8 и другие. Некоторые хэши используются только в определенных приложениях (MySQL, vBulletin) и протоколах.

Помимо популярных хэшей, разработчики могут использовать различные комбинации универсальных хэшей (например, вычислить хэш MD5, а затем отправить строку результата в функцию SHA1) или повторяющихся хэшей (например, хеш MD5 вычисляется для пароля , затем хэш MD5 пересчитывается для строки результата, затем MD5 вычисляется для следующей строки результата и так тысячу раз).

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

Пример такой строки для WinZip: $zip2$*0*3*0*b5d2b7bf57ad5e86a55c400509c672bd*d218*0**ca3d736d03a34165cfa9*$/zip2$

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

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

Вы также можете использовать инструменты, которые значительно ускорят этот процесс. Программы для определения типа хэша — это hashID и HashTag.

хэш-идентификатор

По умолчанию эта программа уже установлена ​​в Kali Linux. Он определяет различные типы хэшей, используемых для шифрования данных, в первую очередь паролей.

hashID — это инструмент, написанный на Python 3, он поддерживает идентификацию более 220 уникальных типов хэшей с помощью регулярных выражений.

Использовать программу очень просто:

Несколько важных замечаний:

  • хэш всегда лучше указывать в одинарных кавычках (и не без кавычек и не в двойных кавычках)
  • есть опция -m, которая отображает информацию о режиме Hashcat

Режимы хеширования Hashcat — это тип хэша, который необходимо указать с помощью параметра -m/--hash-type.

использование хэш-идентификатора:

параметры хэш-идентификатора

Например, мне нужно идентифицировать хэш $S$C33783772bRXEx1aCsvY.dqgaaSu76XmVlKrW9Qu8IQlvxHlmzLf:

Как видно из скриншота, это Drupal> v7.x в Hashcat, чтобы взломать этот хэш, нужно указать режим 7900.

Определите хэш $1$VnG/6ABB$t6w9bQFxvI9tf0sFJf2TR.:

Получаем сразу несколько вариантов:

MD5cryp — это алгоритм, который в тысячу раз вызывает стандартный MD5, чтобы усложнить процесс.

Еще один хэш $6$q8C1F6tv$zTP/eEVixqyQBEfsSbTidUJfnaE2ojNIpTwTHava/UhFORv3V4ehyTOGdQEoFo1dEVG6UcXwhG.UHvyQyERz01:

Программа говорит, что это SHA-512 Crypt, то есть SHA512 (Unix).

Хэштег

HashTag – это инструмент Python, который анализирует и идентифицирует различные хэши паролей в зависимости от их типа. HashTag поддерживает определение более 250 типов хэшей и сопоставляет их с более чем 110 режимами hashcat. HashTag может идентифицировать отдельный хэш, анализировать один файл и определять хэши внутри него или просматривать каталог и все подкаталоги для поиска потенциальных хэш-файлов и идентификации всех найденных хэшей.

Поэтому она аналогична предыдущей программе.

По умолчанию в Kali Linux он отсутствует, поэтому его нужно скачать:

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

Использование хэштега:

Параметры хэштега

Давайте определим одинаковые хэши:

Как видите, результаты похожи.

Примеры хэшей

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

На этой странице вы можете:

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

Программы hashID и HashTag не всегда правильно определяют хеш (по крайней мере, в явных ошибках замечается hashID).

Например, меня интересует хэш c73d08de890479518ed60cf670d17faa26a4a71f995c1dcc978165399401a6c4:53743528:

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

Современная система идентификации хэшей
pip3 install name-that-hash && nth
Веб-приложение без необходимости установки

Вы когда-нибудь сталкивались с таким хэшем, как 5f4dcc3b5aa765d61d8327deb882cf99, и задавались вопросом, что это за хэш? 🤔

Name-that-hash назовет этот тип хеша!

  • 📺 Рейтинги популярности. Назовите этот хэш, чтобы сначала показать вам самые популярные хэши. В более старых системах приоритет отдавался хэшу Skype так же, как NTLM Active Directory! Это так же логично, как сказать, что мой GitHub так же популярен, как и VSCode 📈
  • ✍ Сводка хэшей — больше не нужно думать, что это — MD5 или NTLM. Name-that-hash подытожит основное использование каждого хэша, что позволит вам сделать осознанный и решительный выбор ⚡
  • 🌈 Вывод цвета. Не волнуйтесь, цвета были выбраны дизайнером вручную, чтобы быть на 100 % доступными и корявыми 😎
  • 🤖 Вывод JSON и API. Хотите использовать Name-That-Hash в своем проекте? Мы сначала API, потом CLI. Используйте вывод JSON или импортируйте нас как модуль Python! 💾
  • 👵 Обновлено! - Последний раз HashID обновлялся в 2015 году. Hash-Identifier в 2011 году! Name-That-Hash — проект 2021 года 🦧
  • ♿ Доступный — мы на 100 % стремимся сделать этот инструмент доступным для взлома 🙏
  • 🎫 Расширяемость: добавляйте новые хэши так быстро, как только сможете редактировать этот файл README. Нет, серьезно - это так просто! 🎱

🥊 Имя-это-хэш против хэш-идентификатора против хэш-идентификатора

Функции Имя-этого-хэша Хэш-идентификатор Хэш-идентификатор
Последнее обновление 2021, проверьте коммиты. 17/03/2015 30/09/2011< /td>

Честно говоря, вам нужно больше убедительности? 😂

Но давайте рассмотрим функции более подробно.

Здесь HashID отображает Skype перед NTLM, тогда как Name-That-Hash понимает популярность хэшей, поэтому ставит NTLM перед Skype.

📕 Вы также можете видеть, что Name-That-Hash отображает сводку, а HashID — нет. В представлении по умолчанию также отображается информация John + HashCat. Потому что давайте посмотрим правде в глаза, единственная причина, по которой вы используете этот инструмент, — это выяснить, что помещать в HashCat! 🐱‍🚀

Name-That-Hash радикально отличается от HashID, я не буду перечислять все отличия — вы сами можете физически их увидеть 😎

Name-That-Hash — это доступный хакерский инструмент. Это означает, что мы потратили время на разработку таких вещей, как.

Удаление ASCII Art очень длинных «наименее вероятных» текстовых блоков с помощью --accessible .

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

Форум hashcat › Разное › Вклады пользователей


hashID — идентифицируйте свои хэши

qwerasd12
Младший участник

Привет, сообщество!
Несколько месяцев назад я начал работать над «хэш-идентификатором», теперь, когда он был включен в последний выпуск Linux «Дистрибутив, который-не-обрабатывает-OpenCL-Well (Kali), я чувствую его пришло время поделиться им с сообществом здесь: hashID | хэш-идентификатор | гитхаб

Взято с моей страницы на github:

Цитата: Определите различные типы хэшей, используемых для шифрования данных и особенно паролей.

Этот инструмент заменяет хэш-идентификатор, который устарел!

hashID – это инструмент, написанный на Python 3.x, который поддерживает идентификацию более 205 уникальных типов хэшей с помощью регулярных выражений. Подробный список поддерживаемых хэшей можно найти здесь.
Он может идентифицировать один хэш, анализировать файл или читать несколько файлов в каталоге и идентифицировать хэши внутри них.
hashID также может включать в свой вывод соответствующий режим hashcat и/или формат JohnTheRipper.
Хотя hashID написан на Python 3.x, он также должен работать с Python 2.7.

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

Если вы укажете параметр "-m", hashID будет включать в свой вывод соответствующий режим hashcat
(больше не нужно запоминать режимы hashcat!)

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

Читайте также: