Вопрос или проблема
Версия Jumbo JtR имеет интересную опцию --list=format-details
, которая выводит таблицу, где последний столбец является примером правильной хеш-строки:
# john --list=format-details | head -n2
descrypt 8 3072 73728 01210001 5 DES 256/256 AVX2 традиционное crypt(3) 0x7 4 8 0 CCNf8Sbh3HDfQ
bsdicrypt 64 3072 3072 01010001 13 DES 256/256 AVX2 BSDI crypt(3) ("_J9..", 725 итераций) 0x7 4 16 количество итераций 0 _J9..CCCCXBrJUJV154M
Но что означают другие столбцы?
Я не смог найти описание этих в документации.
Ответ или решение
Команда --list=format-details
в Jumbo-версии инструмента John the Ripper (JtR) предоставляет полезную сводку форматов хеширования, поддерживаемых программой. Каждый формат представлен в виде строки с несколькими колонками. Рассмотрим подробнее, что означают эти колонки, опираясь на предоставленный вами вывод.
Описание колонок
-
Название формата:
- Первая колонка содержит название формата хеширования (например,
descrypt
,bsdicrypt
). Это название используется для идентификации конкретной схемы хеширования в JtR.
- Первая колонка содержит название формата хеширования (например,
-
Размер хеширования (в битах):
- Вторая колонка указывает размер хеша в битах. Например, для
descrypt
это 8 бит, что соответствует длине хешированной строки.
- Вторая колонка указывает размер хеша в битах. Например, для
-
Максимальная длина пароля (в байтах):
- Третья колонка показывает максимальную длину пароля, который может быть обработан данным форматом хеширования. В случае
bsdicrypt
это 64 байта.
- Третья колонка показывает максимальную длину пароля, который может быть обработан данным форматом хеширования. В случае
-
Минимальная длина пароля (в байтах):
- Четвертая колонка указывает минимальную длину пароля. Для формата
descrypt
это значение равно 5.
- Четвертая колонка указывает минимальную длину пароля. Для формата
-
Маска/домен:
- Пятая колонка представляет собой маску или домен для хеширования. В примере для
descrypt
она составляет01210001
, что может указывать на определенные алгоритмические особенности.
- Пятая колонка представляет собой маску или домен для хеширования. В примере для
-
Количество итераций:
- Шестая колонка показывает количество итераций, необходимых для хеширования. Для
bsdicrypt
это значение равно 13, что делит процесс хеширования на определенное количество шагов, создавая большую безопасность.
- Шестая колонка показывает количество итераций, необходимых для хеширования. Для
-
Алгоритм и его поддержка:
- Седьмая колонка включает в себя дополнительную информацию о том, какой алгоритм используется, а также о поддерживаемом оборудовании (например,
DES 256/256 AVX2
). Это важно для понимания производительности и совместимости.
- Седьмая колонка включает в себя дополнительную информацию о том, какой алгоритм используется, а также о поддерживаемом оборудовании (например,
-
Тип хеширования:
- Восьмая колонка относится к типу хеширования или его реализации, объясняя дополнительные детали о том, как применяется данный метод. Например, для
bsdicrypt
это обозначение BSDI crypt(3).
- Восьмая колонка относится к типу хеширования или его реализации, объясняя дополнительные детали о том, как применяется данный метод. Например, для
-
Непосредственные параметры:
- Девятая колонка. Здесь указаны параметры, такие как
0x7
, которые могут являться индикаторами или указателями на специфические настройки алгоритма.
- Девятая колонка. Здесь указаны параметры, такие как
-
Степень сложности (комплексности):
- Десятая колонка, например,
4
, предполагает уровень сложности или количество необходимых условий для успешного хеширования.
- Десятая колонка, например,
-
Рекомендуемая длина хеша:
- Одиннадцатая колонка для примера
bsdicrypt
отображает рекомендованное количество байт для записи хеша (в данном случае 16 байт).
- Одиннадцатая колонка для примера
-
Тип итерации:
- Последняя колонка содержит пример правильной хеш строки. Например, для
descrypt
этоCCNf8Sbh3HDfQ
, который показывает, как выглядит хеш, созданный по данному алгоритму.
- Последняя колонка содержит пример правильной хеш строки. Например, для
Заключение
Каждая из колонок в выводе --list=format-details
имеет свое значение и предназначение, позволяя пользователям John the Ripper получать ясное представление о форматов и алгоритмах, которые доступны для работы. Это помогает в выборе правильного формата при попытке взлома паролей, а также при диагностировании и сравнении различных подходов к хешированию. Умение интерпретировать эти данные является важной частью работы с John the Ripper и позволяет эффективно применять данный инструмент в области IT-безопасности.