Поиск файлов по хешу

6 бесплатных хэш-чекеров для проверки целостности любого файла

Поиск файлов по хешу

6 бесплатных хэш-чекеров для проверки целостности любого файла

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

1. Проверка хэша файлов с помощью PowerShell

Windows поставляется со встроенной функцией проверки хэшей файлов в PowerShell: SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5 и RIPEMD160.

Сначала нажмите клавишу Windows, а затем введите PowerShell. Выберите наиболее подходящий вариант, чтобы открыть PowerShell. Основной командой проверки будет:

get-filehash FILEPATH

Например, «get-filehash c:\test.txt» выдаст:

Выход хэша по умолчанию — SHA256. Если вам нужно другое хэш-значение для файла, воспользуйтесь следующей командой:

get-filehash -Algorithm [HASH TYPE] FILEPATH Например, «get-filehash -Алгоритм SHA384 c:\test.txt» выдаст:

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

2. Hash Generator

SecurityExploded’s Hash Generator — это простой в использовании генератор хэшей, который поддерживает широкий спектр алгоритмов хэширования. Бесплатный инструмент для создания хэшей может генерировать хэши для MD5, SHAxxxx, Base64, LM, NTLM, CRC32, ROT13, RIPEMD, ALDER32, HAVAL и других.

Отличной особенностью Hash Generator является то, что его можно использовать в самых разных ситуациях. Хотите хэш для определенного фрагмента текста? Просто скопируйте текст в Hash Generator. Хотите быстро создать хэш-файла в проводнике файлов? Используйте опцию Hash Generator в контекстном меню правой кнопкой мыши.

3.  HashMyFiles для Windows (32-bit) | Windows (64-bit)

Nirsoft’s HashMyFiles — это удобный портативный генератор хэшей, который позволяет делать пакетную генерацию хэшей. HashMyFiles может отображать хэши для MD5, SHAxxxx и CRC32.

4. HashTab

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

По умолчанию HashTab генерирует хэши для MD5, CRC32 и SHA1. Настройки HashTab позволяют добавлять более 25 дополнительных хэшей, включая SHA, RIPEMD, TIGER и WHIRLPOOL.

5. QuickHash

QuickHash — это генератор хэшей с открытым исходным кодом для Windows, macOS и Linux. Это также одна из наиболее полнофункциональных систем создания хэшей и проверки их правильности в этом списке.

Хотя количество хэшей, которые вы можете использовать, небольшое, просто MD5, SHA1, SHA256, SHA512, и xxHash64, но Quick Hash имеет массу дополнительных функций.

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

Скачать: QuickHash для Windows | macOS | Linux (Debian)

6. MultiHasher

MultiHasher представляет пользователям широкий спектр инструментов для генерации и проверки хэшей в одном пакете. Позволяет создавать хэши MD5, SHA1, SHA256, SHA384, SHA512 или RIPEMD-160.

Как проверить целостность файла?

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

Спасибо, что читаете! Подписывайтесь на мои каналы в Telegram, Яндекс.Мессенджере и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий.

Также, читайте меня в социальных сетях: , , , OK.

Респект за пост! Спасибо за работу!

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

Есть возможность стать патроном, чтобы ежемесячно поддерживать блог донатом, или воспользоваться Яндекс.Деньгами, WebMoney, QIWI или PayPal:

Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.

Источник: https://levashove.ru/6-free-hash-checkers-file-integrity/

Алгоритм поиска, поиск хешированием

Поиск файлов по хешу

Определение 1

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

Предположим, что есть набор, состоящий из n компонентов $а_1, а_2, а_3, . . ., а_n$, каждый из которых имеет некоторый ключ. Необходимо данный набор представить в форме определённой информационной структуры с обеспечением возможности многократных поисковых операций компонентов с определённым ключом. Такую задачу можно решить разными способами:

  1. Когда набор компонентов не подвергался упорядочению, то поиск может быть выполнен путём прямого сравнения каждого компонента массива или списка. При этом трудоёмкость операции будет O(n).
  2. Когда компоненты прошли процесс упорядочения в массиве или дереве поиска, то более эффективным будет поиск в двоичном формате при трудоёмкости О(log 2 n).

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

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

То есть, трудоёмкость этого способа поиска, именуемого хеш- поиском, будет пропорциональна О(1), что является великолепным результатом.

Поиск хешированием

Способ хеш-поиска состоит в следующем. Начальные компоненты $а_1, а_2, а_3, . . ., а_n$ располагаются особым образом в ячейках массива. Предполагаем, что количество ячеек в массиве $m > n$.

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

По этой функции можно поставить в соответствие всем ключам индексы ячеек массива, где расположен компонент, имеющий этот ключ:

h (аi ) = j, j = (1, m);

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

h (аi ) = (аi mod m) + 1;

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

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

Применение этой методики состоит из двух этапов:

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

Приведём конкретные примеры. Имеется набор из восьми ключей, заданных целыми числами:

35, 19, 07, 14, 26, 40, 51,72.

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

35 mod 10 = 5, индекс местоположения ключа 35 равняется шести

19 mod 10 = 9, индекс местоположения ключа 19 равняется десяти

07 mod 10 = 7, индекс местоположения ключа 07 равняется восьми

14 mod 10 = 4, индекс местоположения ключа 14 равняется пяти

26 mod 10 = 6, индекс размещения ключа 26 равняется семи

40 mod 10 = 0, индекс местоположения ключа 40 равняется единице

51 mod 10 = 1, индекс местоположения ключа 51 равняется двум

72 mod 10 = 2, индекс местоположения ключа 72 равняется трём

В итоге будет получена следующая хеш-таблица:

Рисунок 1. Хеш-таблица. Автор24 — интернет-биржа студенческих работ

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

Рассмотрим ещё один пример. Предположим, что ключи имеют строковый формат. Следовательно, сначала необходимо выполнить преобразование ключа в текстовом формате в цифровой формат.

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

Предположим, что строковым ключом является слово END, тогда его эквивалентное числовое отображение будет равно сумме кодов этих трёх букв:

ord(E) + ord(N) + ord(D) = 69 + 78 + 68 = 215

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

h (END) = (215 mod 10) + 1 = 6

h (VAR) = (233 mod 10) + 1 = 4

h (AND) = (211 mod 10) + 1 = 2

h (NIL) = (227 mod 10) + 1 = 8

В итоге для данных строковых ключей сформирована следующая хеш-таблица:

Рисунок 2. Хеш-таблица. Автор24 — интернет-биржа студенческих работ

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

Замечание 1

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

Источник: https://spravochnick.ru/informatika/algoritm_poiska_poisk_heshirovaniem/

Полное руководство по John the Ripper. Ч.2: утилиты для извлечения хешей

Поиск файлов по хешу

1. Знакомство и установка John the Ripper

2. Утилиты для извлечения хешей

2.1 Как взломать пароль в John the Ripper

2.2 Как перевести файл в хеш John the Ripper

2.3 Где посмотреть примеры хешей

2.4 Справочная информация по всем скриптам для генерации хешей John the Ripper и Hashcat

2.5 Другие утилиты для извлечения хешей

2.6 Что нужно знать при публикации хешей

3. Как запустить взлом паролей в John the Ripper (как указать маски, словари, хеши, форматы, режимы)

4. Практика и примеры использования John the Ripper

5. Атака на основе правил

6.

7. 

Как взломать пароль в John the Ripper

John the Ripper умеет взламывать только хеши — он не умеет напрямую работать с зашифрованными файлами. Программа не может открыть, например, офисный документ, ввести туда пароль и т. п.

Это решаемая проблема — нам нужно вычислить (извлечь) хеш для интересующего нас файла. Сам John этого делать не умеет. Нужны вспомогательные утилиты. Ознакомиться с их списком можно, например, набрав команду:

locate *2john*

Вот так выглядит список на машине, где я установил John из исходников:

Развернуть

  • 1password2john.py
  • 7z2john.pl
  • adxcsouf2john.py
  • aem2john.py
  • aix2john.pl
  • aix2john.py
  • andotp2john.py
  • androidbackup2john.py
  • androidfde2john.py
  • ansible2john.py
  • apex2john.py
  • applenotes2john.py
  • aruba2john.py
  • atmail2john.pl
  • axcrypt2john.py
  • bestcrypt2john.py
  • bitcoin2john.py
  • bitlocker2john
  • bitshares2john.py
  • bitwarden2john.py
  • bks2john.py
  • blockchain2john.py
  • ccache2john.py
  • cisco2john.pl
  • codepage.pl
  • cracf2john.py
  • dashlane2john.py
  • deepsound2john.py
  • diskcryptor2john.py
  • dmg2john
  • dmg2john.py
  • DPAPImk2john.py
  • eapmd5tojohn
  • ecryptfs2john.py
  • ejabberd2john.py
  • electrum2john.py
  • encfs2john.py
  • enpass2john.py
  • enpass5tojohn.py
  • ethereum2john.py
  • filezilla2john.py
  • geli2john.py
  • genincstats.rb
  • genmkvpwd
  • gpg2john
  • hccap2john
  • hccapx2john.py
  • hextoraw.pl
  • htdigest2john.py
  • ibmiscanner2john.py
  • ikescan2john.py
  • ios7tojohn.pl
  • itunes_backup2john.pl
  • iwork2john.py
  • kdcdump2john.py
  • keepass2john
  • keychain2john.py
  • keyring2john.py
  • keystore2john.py
  • kirbi2john.py
  • known_hosts2john.py
  • krb2john.py
  • kwallet2john.py
  • lastpass2john.py
  • ldif2john.pl
  • libreoffice2john.py
  • lion2john-alt.pl
  • lion2john.pl
  • lotus2john.py
  • luks2john.py
  • mac2john-alt.py
  • mac2john.py
  • mcafee_epo2john.py
  • monero2john.py
  • money2john.py
  • mongodb2john.js
  • mozilla2john.py
  • multibit2john.py
  • neo2john.py
  • netntlm.pl
  • netscreen.py
  • network2john.lua
  • office2john.py
  • openbsd_softraid2john.py
  • openssl2john.py
  • padlock2john.py
  • pcap2john.py
  • pdf2john.pl
  • pem2john.py
  • pfx2john.py
  • pgpdisk2john.py
  • pgpsda2john.py
  • pgpwde2john.py
  • prosody2john.py
  • pse2john.py
  • ps_token2john.py
  • putty2john
  • pwsafe2john.py
  • racf2john
  • radius2john.pl
  • radius2john.py
  • rar2john
  • raw2dyna
  • sap2john.pl
  • signal2john.py
  • sipdump2john.py
  • ssh2john.py
  • sspr2john.py
  • staroffice2john.py
  • strip2john.py
  • telegram2john.py
  • test_tezos2john.py
  • tezos2john.py
  • truecrypt2john.py
  • uaf2john
  • vdi2john.pl
  • vmx2john.py
  • vncpcap2john
  • wpapcap2john
  • zed2john.py
  • zip2john 

Согласитесь, список впечатляющий!

На Kali Linux эти файлы расположены в двух директориях:

  • файлы скриптов в /usr/share/john/
  • а бинарные файлы в /usr/sbin/

В BlackArch эти файлы размещены:

  • файлы скриптов в директории /usr/lib/john/
  • бинарные файлы в /usr/bin/

Если вы компилировали John the Ripper из исходного кода, то все эти файлы собраны в директории run.

Чтобы найти нужный вам файл, используйте команду вида:

locate ФАЙЛ

Чтобы найти сразу все файлы по извлечению хешей, выполните:

locate *2john*

Если не можете в своей системе найти какой-то файл (это можно сделать командой locate), то скачайте их из исходных кодов: https://github.com/magnumripper/JohnTheRipper.

Как перевести файл в хеш John the Ripper

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

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

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

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

Пример извлечения хеша из файла passwords.zip, то есть из ZIP архива:

./zip2john '/home/mial/test/passwords.zip'

Пример вывода:

Первая строка содержит свойства архива:

ver 2.0 passwords.zip/passwords.txt PKZIP Encr: cmplen=339, decmplen=490, crc=F872015C type=8

Сам хеш идёт далее:

passwords.zip/passwords.txt:$pkzip2$1*1*2*0*153*1ea*f872015c*0*2b*8*153*f872*3dc8*8cfe495658baa3b5650d212831700dbef0c95bbc2831d287121ca64f0a0b7f468c9d3ab88fdce90c7c7e0f9f8978a2d3496661af8dc24e2702398612c927d5f33c243c892bdd11a39f7ecd6c375c7da5df205f6ced61c9d7629d4253f98c01257d45be64f936eeb4bf06060b5e3b2bd286f9322c130d07f88d15af4e6b9a107f0dd2f6c48dc05b4aa81f7f1a9306b5070b7e3414d687a011a73d4a903568e3559c590f2d720542e686d2d6cf70d11d0b60728415ff147263d26f994a73328aad1f204ff2d38c89acbba101e3aff5a0850ef016c64cee4005f01834ee37ddedf8051618802547120f52e2c8b2aa4f6d161807aa8d76fd11992e30abd712710da1e238ed17f57ee5af00117016dbd4ae673d6aa9ae694da53c578a0ff6d2af00ebb0dded84cf1f2a966d441b03e22338b4a287d364faa41bea9bc72d0454c0aa654a2e9bb13567aafd5e70436c2289c244*$/pkzip2$:passwords.txt:passwords.zip::/home/mial/test/passwords.zip

Пример команды, при которой хеш сохраняется в файл passwords.zip.hash:

./zip2john '/home/mial/test/passwords.zip' > passwords.zip.hash

Пример извлечения хеша из архива .7z:

./7z2john.pl '/mnt/disk_d/Arch/from_kali.7z'

Пример вывода:

Первая строка предупреждает, что хеши могут содержать зашифрованные чувствительные данные и нужно быть осторожным, если вы делитесь хешем с кем-то или публикуете его в Интернете:

ATTENTION: the hashes might contain sensitive encrypted data. Be careful when sharing or posting these hashes

Вторая строка это сам хеш:

from_kali.7z:$7z$2$19$0$$8$a09335e006fc03b20000000000000000$2687817801$144$144$47a0c3138667a3727b8db3f9aa10362c8a9739192d9e55d8c052f16965cd1360100f1b17764c07101a9088eb5e965129c245647e3597e2182dee769db99ab2a5d07716f78867a9f5e5b4198f8e3bc9a4bc019006f95c613006cbecf9bda18a865cde0279cce92e060bdeb31ca50983f1d6363626651b706dc44838294b250ad53a6ce02a2a49eeb8523be9fee28dbc$374$00

Извлечение хеша из файла MS Word 2019:

./office2john.py '/mnt/disk_d/Share/Secret.docx' 2>/dev/null

Если не указать 2>/dev/null, то будет выведено предупреждение об устаревшей функции Python в скрипте — надеюсь, в будущем это поправят.

Пример извлечения хеша из рукопожатия для взлома Wi-Fi:

./wpapcap2john ~/RT-725140.pcap

Утилита wpapcap2john поддерживает опцию -v, поэтому при желании вы можете увидеть больше информации:

./wpapcap2john -vv ~/RT-725140.pcap

Пример извлечения хеша VNC рукопожатия из захваченного сетевого трафика — этот хеш позволяет взломать пароль VNC сервера.

./vncpcap2john '/home/mial/VNC.pcapng'Учитывая что МАКСИМАЛЬНАЯ (не минимальная) длина пароля составляет 8 (!) символов, а сам алгоритм считается очень быстро, такие хеши обречены на взлом:
192.168.0.101-5900 to 192.168.0.89-57454:$vnc$*894443629F4A9675809CFF5DA2E84651*271D94EB610B5C42588DC53506419E6A

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

На этой странице вы найдёте примеры всех хешей: https://hashcat.net/wiki/doku.php?id=example_hashes

Но вы можете посмотреть примеры любого хеша офлайн, без сторонних ресурсов.

Начать нужно с того, чтобы узнать, как ваш формат правильно называется в John the Ripper. Для этого можно найти его в полном списке поддерживаемых форматов:

john –list=format

Примеры названий форматов:

  • Office
  • ODF
  • ZIP
  • VNC
  • wpapsk
  • и пр.

Теперь, чтобы увидеть пример хеша, выполните одну из следующего вида команд, в которой вместо слова ФОРМАТ подставьте название формата:

john –list=format-details –format=ФОРМАТ john –list=format-all-details –format=ФОРМАТ

Я предпочитаю второй вариант команды, который выводит больше информации.

Например, получение информации о свойствах пароля и пример хеша VNC:

john –list=format-all-details –format=VNC

Пример хеша я выделил красной рамкой.

Здесь же вы можете найти другую интересную информацию — максимальную и минимальную длину пароля, чувствителен ли пароль к регистру и прочее.

Ещё один пример — в этот раз хеш файлов MS Office:

john –list=format-all-details –format=Office

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.