как посчитать hash файла linux

Как проверить контрольные суммы в Linux и Windows

Разработчики предоставляют информацию в виде специального hash ключа с помощью которого проверяется в порядке образ или нет. С тем для чего проверять iso образ дистрибутива разобрались. Далее будем выяснять как и с помощью каких инструментов сравнить контрольные суммы и проверить целостность файлов.

Проверка контрольной суммы iso образа в Linux

как посчитать hash файла linux

В линукс есть штатные утилиты с помощью которых проверяются хеши файлов. Это md5sum для алгоритма md5 и shasum для проверки алгоритма sha. Это консольные утилиты поэтому терминал. Запустим его и введем команду: md5sum имя_файла.

указываем в терминале:

как посчитать hash файла linux

Как видим хеш файлов совпадает. Дистрибутив пригоден.

Так же поступаем если хотим проверить алгоритм sha. Только дополняем команду в зависимости от битности алгоритма 1-, 256-, 384- или 512-битного. Например так:

Сверяем с информацией на сайте как в предыдущем примере.

Проверка контрольных сумм в линукс с помощью программы GtkHash

Теперь давайте рассмотрим как проверить контрольные суммы файлов, вариант с графическим интерфейсом (GUI). Установите программу с помощью команды:

Запустите программу. Выберите с помощью кнопки расположенной рядом с надписью «Файл» нужный файл. На рисунке номер 1. И нажмите кнопку «Hash». На рисунке под номером 2.

как посчитать hash файла linux

Программа посчитает хеши сразу по трем алгоритмам: md5, sha1 и sha256.

как посчитать hash файла linux

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

как посчитать hash файла linux

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

Как проверить контрольную сумму файла в Windows

У microsoft тоже есть своя утилита командной строки и называется она fciv.exe (File Checksum Integrity Verifier utility).

В Windows 10 появилась утилита командной строки CertUtil. Для проверки хеша с её помощью введите команду:

После установки программа интегрируется в проводник. Зайдите в папку со скачанным образом. Правым кликом кликните по файлу и выберите из контекстного меню пункт «Свойства». Перейдите на вкладку «Хэш-суммы файлов». Увидите хеши в двух интересующих нас алгоритмах, md5 и sha1.

как посчитать hash файла linux

Если хеши не отобразились или требуется указать дополнительные алгоритмы расчета то нажмите на ссылку «Настройки».

как посчитать hash файла linux

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

как посчитать hash файла linux

Для проверки текущего файла нужно в поле «Сравнение хеша» указать значение выбранного алгоритма из списка предоставленного поставщиком файла. В моем примере это образ дебиан xfce.

Сравнение по алгоритму md5. Если видим что на значке решетка появилась зеленая галочка значит значения совпадают. Файл в порядке можно пользоваться.

как посчитать hash файла linux

Используя кнопку «Сравнить файл» можно сравнить хеши двух файлов. Я, для примера, сравнил два iso образа дебиан xfce и lxqt. Их значения, конечно, не сошлись, что и отображено на скриншоте, где показан красный крест на значке решетки.

как посчитать hash файла linux
На этом всё. Надеюсь теперь у вас не возникнет проблем с проверкой контрольной суммы файлов ни в линукс ни в виндовс.

Видео: Как проверить hash-суммы образа в linux

Источник

Как проверить контрольную сумму в Linux

как посчитать hash файла linux

Краткое описание : В этом руководстве для начинающих рассказывается, что такое контрольная сумма, что такое контрольная сумма md5, sha256 или sha-1, почему используется контрольная сумма и как проверить контрольную сумму в Linux.

Что такое контрольная сумма?

Контрольная сумма похожа на цифровой отпечаток файла. В техническом плане

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

Чаще всего контрольная сумма используется для проверки поврежденного загруженного файла.

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

Если этого не произойдет, это будет означать, что целостность вашего загруженного изображения нарушена (возможно, он был поврежден в процессе загрузки). Для этого руководства мы будем использовать файл образа Ubuntu Mate « ubuntu-mate-16.10-desktop-amd64.iso ».

Как создается контрольная сумма?

Давайте посмотрим, как проверить контрольную сумму в Linux.

Подпишитесь на наш канал на YouTube, чтобы узнать больше о Linux видео

Как использовать контрольную сумму для проверки целостности файла [GUI way]

как посчитать hash файла linux

GtkHash поддерживает алгоритмы контрольной суммы

Установка GtkHash в Ubuntu

Для установки GtkHash в вашей системе Ubuntu просто выполните следующую команду:

Для выбора алгоритмов контрольной суммы использовать :

Использование GtkHash

Использовать его довольно просто.

Вот пример, показывающий, как GtkHash генерирует контрольную сумму для ISO-образа UbuntuMATE ( ubuntu-mate-16.10-desktop-amd64.iso ):

как посчитать hash файла linux

GtkHash с UbuntuMATE iso

Проверьте контрольную сумму в командной строке Linux

Каждый дистрибутив Linux поставляется с инструментами для различных алгоритмов контрольной суммы. Вы можете создать и проверить контрольную сумму с ними. Инструменты контрольной суммы командной строки:

Генерация и проверка контрольной суммы SHA256 с помощью суммы sha256

Сначала перейдите в каталог, где хранится образ .iso :

Теперь для генерации контрольной суммы SHA256 введите следующую команду:

Вы получите контрольную сумму SHA256 в окне своего терминала! Легко, не правда ли?

как посчитать hash файла linux

Генерация контрольной суммы SHA256 для UbuntuMATE iso

Другие упомянутые инструменты работают аналогично.

Насколько точно это работает?

Вы контрольную сумму?

Одним из предлагаемых шагов при установке Linux является проверка контрольной суммы Linux ISO. Вы всегда выполняете этот шаг или делаете это только тогда, когда что-то не так с установкой?

Было ли это руководство полезным? Если у вас есть какие-либо вопросы, дайте нам знать! А также, если вам нужно подобное руководство для чего-то другого, свяжитесь с нами, мы здесь, чтобы помочь.

Источник

Как проверить контрольную сумму MD5 на Windows/Mac/Linux

как посчитать hash файла linux

Что такое сумма MD5?

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

Файл может быть изменен кем-то другим неавторизованным способом.
Файл не был загружен должным образом, и некоторые его элементы могли быть повреждены.

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

Почему мы должны проверять сумму MD5?

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

Среди разработчиков Android принято называть сумму MD5 своих ПЗУ, модов и ядер, когда они делятся ими. Загрузив такие файлы, вы можете запустить программу проверки MD5 на вашем компьютере, чтобы соответствовать значению MD5. Если сумма совпадает идеально, вы можете приступить к установке файла. В случае несоответствия между значениями следует избегать установки таких файлов.

Чтобы убедиться, что это просто случай неудачной загрузки, попробуйте загрузить файл еще раз, желательно с другого зеркала или браузера. Если совпадение снова не удается, свяжитесь с разработчиком и сообщите об этом. Вы также можете связаться с разработчиком, чтобы убедиться, что MD5, который они предоставили с конкретным файлом, были правильными, или попросить его дать вам альтернативную ссылку для загрузки файла.

Проверить контрольную сумму MD5 в Windows

Затем инструмент выдаст вам результаты матчей, как показано на скриншоте выше.

Вы также можете использовать другой хороший инструмент под названием HashTab для проверки MD5.

Проверить сумму MD5 на Mac

Источник

Изучаем Linux приемы для создания контрольных сумм и проверки целостности данных

Контрольная сумма используется для проверки целостности файла.

Ее можно охарактеризовать как цифровой отпечаток файла.

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

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

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

Генерирование контрольных сумм Linux

Контрольная сумма генерируется алгоритмом контрольной суммы.

Он генерирует значение контрольной суммы, беря файл в качестве ввода.

MD5 и SHA (Secure Hash Algorithms) – самые популярные алгоритмы, используемые для создания контрольных сумм

Инструменты командной строки для работы с контрольной суммой

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

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

Некоторые из стандартных инструментов командной строки, используемые в настоящее время, следующие:

Примеры

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

Я создал один из тестовых файлов index.html.

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

md5sum:

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

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

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Хеши: определение типа, подсчёт контрольных сумм, нестандартные и итерированные хеши

Что такое хеши и как они используются

Хеш-сумма (хеш, хеш-код) — результат обработки неких данных хеш-функцией (хеширования).

Хеширование, реже хэширование (англ. hashing) — преобразование массива входных данных произвольной длины в (выходную) битовую строку фиксированной длины, выполняемое определённым алгоритмом. Функция, реализующая алгоритм и выполняющая преобразование, называется «хеш-функцией» или «функцией свёртки». Исходные данные называются входным массивом, «ключом» или «сообщением». Результат преобразования (выходные данные) называется «хешем», «хеш-кодом», «хеш-суммой», «сводкой сообщения».

Это свойство хеш-функций позволяет применять их в следующих случаях:

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

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

Как определить тип хеша

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

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

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

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

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

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

hashID

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

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

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

Пара важных замечаний:

Хеш режимы Hashcat – это условное обозначение типа хеша, которое необходимо указать с опцией -m, —hash-type.

Информацию о других опциях hashID вы найдёте здесь: https://kali.tools/?p=2772

как посчитать hash файла linux

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

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

как посчитать hash файла linux

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

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

как посчитать hash файла linux

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

HashTag

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

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

По умолчанию в Kali Linux она отсутствует, поэтому требуется её скачать:

Хеш для HashTag также нужно помещать в одинарные кавычки. Хеш нужно писать после опции -sh. Зато сразу, без дополнительных опций выводятся режимы. Информацию о других опциях HashTag вы найдёте здесь: https://kali.tools/?p=2777

Идентифицируем те же самые хеши:

как посчитать hash файла linux

как посчитать hash файла linux

как посчитать hash файла linux

Как видим, результаты аналогичны.

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

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

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

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

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

как посчитать hash файла linux

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

Получаем более правильный результат:

как посчитать hash файла linux

В действительности это sha256($pass.$salt).

Как рассчитать хеш (контрольную сумму)

В Linux имеются программы для расчёта и сверки популярных хешей:

Информация о SHA-2 (безопасный алгоритм хеширования, версия 2) – семействе криптографических алгоритмов (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 и SHA-512/224.): https://ru.wikipedia.org/wiki/SHA-2

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

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

Если для расчёта хеша строки вы используете echo, то крайне важно указывать опцию -n, которая предотвращает добавление символа новой строки – иначе каждый хеш для строки будет неверным!

Пример подсчёта хеша SHA1 для строки test:

Ещё один способ передачи строки без добавления конечного символа newline

Этот же результат можно получить следующей конструкцией:

Программы для вычисления различных хешей

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

Список некоторых популярных программ для вычисления хешей:

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

Последовательное хеширование с использованием трубы (|)

К примеру, нам нужно рассчитать sha256 хеш для строки ‘HackWare’; а затем для полученной строки (хеша), рассчитать хеш md5. Задача кажется очень тривиальной:

Но это неправильный вариант. Поскольку результатом выполнения в любом случае является непонятная строка из случайных символов, трудно не только обнаружить ошибку, но даже понять, что она есть. А ошибок здесь сразу несколько! И каждая из них ведёт к получению абсолютно неправильных данных.

Даже очень бывалые пользователи командной строки Linux не сразу поймут в чём проблема, а обнаружив первую проблему не сразу поймут, что есть ещё одна.

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

мы получим совсем не тот результат, который ожидаем. Мы предполагаем посчитать sha256 хеш строки ‘HackWare’, а затем для полученной строки (хеша) рассчитать новый хеш md5. На самом деле, md5sum рассчитывает хеш строки, к которой прибавлено « ». Т.е. получается совершенно другой результат.

Выше уже рассмотрено, как из вывода удалять « », кажется, теперь всё должно быть в порядке:

Давайте разобьём это действие на отдельные команды:

Второй этап хеширования:

Это и есть правильный ответ.

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

Используя printf можно вывести результат без конечного символа новой строки:

Результат вновь правильный:

С printf не все дружат и проблематично использовать рассмотренную конструкцию если нужно хешировать более трёх раз, поэтому лучше использовать tr:

Вновь правильный результат:

Или даже сделаем ещё лучше – с программой awk будем использовать printf вместо print (это самый удобный и короткий вариант):

Как посчитать итерированные хеши

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

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

Пример кода, который подсчитывает MD5 хеш с 1000 итераций:

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *