Hashcat: инструмент взлома хэша

Hashcat: инструмент взлома хэша

Этичный Хакер

Функциональное введение в Hashcat

Hashcat – это очень мощный инструмент.

Стоит обратить на него внимание и изучить его возможности.

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

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

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

КАТЕГОРИЯПОДДЕРЖКА ХЭШ-РЕЖИМА Сырой хэш: MD4, MD5, SHA1, SHA2, SHA3, etc. Сетевые протоколы: WPA, Skype, MySQL CRAM (SHA1), DNSSEC (NSEC3), и т.д. Форумы, CMS, фреймворки php BB3 (MD5), vBulletin, WordPress (MD5), Joomla(MD5), и т.д. Сервер базы данных PostgreSQL, Oracle, MySQL, и т.д. HTTP, SMTP, LDAP Сервер Apache $apr1$ MD5, md5apr1, MD5 (APR), nsldaps, SSHA-1(Base64), Netscape LDAP SSHA, и т.д. Операционные системы: Samsung Android/Windows Phone 8+ Password/PIN, GRUB 2, Cisco, macOS, и т.д. Архивы: 7-Zip, Winzip, RAR, и т.д. Дисковое шифрование: LUKS, Android FDE, Veracrypt, eCryptfs, и т.д. Документы: PDF, Microsoft Office, Apple Secure Notes. Менеджеры паролей: LastPass, Bitcoin/Litecoin wallet.dat, Blockchain, My Wallet, KeePass, и т.д.

Примечание: Полный список категорий можно посмотреть на сайте https://gist.github.com/dwallraff/6a50b5d2649afeb1803757560c176401 или выполнив команду hashcat -help.

Hashcat таблицы символов:

Hashcat позволяет управлять наборами символов для атак методом перебора.

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

Опция флагаНабор символов?labcdefghijklmnopqrstuvwxyz?uABCDEFGHIJKLMNOPQRSTUVWXYZ?d0123456789?h0123456789abcdef?H0123456789ABCDEF?s!”#$%&'()*+,-./:;<=>?@[\]^_`{|}~?a?l?u?d?s?b0x00 – 0xff

Например, вы можете определить первый символ пароля как символ верхнего регистра, указав ?u, затем 5 символов нижнего регистра (?l?l?l?l?l?l?l) и четыре последние цифры, указав ?d?d?d?d?d.

Это будет выглядеть следующим образом:

hashcat -a 3 ?u?l?l?l?l?l?d?d?d?d

Вы также можете указать четыре пользовательских набора символов, сочетающих различные возможности.

Вы указываете каждую пользовательскую кодировку, добавляя 1, 2, 3 и 4.

Например, для задания набора символов, включающего 5 строчных букв и цифр, команда выглядит так, как показано ниже, поскольку ?l указывает на строчные символы, а ?d – на цифры.

hashcat -a 3 -1 ?l?d ?1?1?1?1?1

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

Режимы атаки Hashcat:

Брутфорс атака (3): Этот тип атаки состоит из массивных попыток подбора комбинации символов. Эта техника атаки была удалена в Hashcat и заменена атаками “Маска”.

Комбинационная атака (1): Этот режим позволяет добавлять каждое слово, содержащееся в списке слов, в конец каждого слова-контейнера во втором списке слов.

Атака по словарю (0): Этот режим, также называемый “Прямым режимом”, пытается использовать в качестве пароля все строки, содержащиеся в файле. Это простая атака по словарю.

Гибридная атака: Режим гибридной атаки позволяет сочетать атаку по словарю с атакой перебором. Используя этот режим, вы можете добавлять или вставлять элементы списка слов в атаку перебором.

Атака по маске (6 или 7): Атака по маске – это усовершенствование атаки перебором, направленное на разработку “интеллектуальных” атак перебором, в которых пользователь имеет контроль над процессом генерации пароля-кандидата. Например, атака Mask позволяет пользователям задавать такие шаблоны, как заглавная буква только для первой позиции кандидата на пароль, или добавление даты в конце кандидата на пароль, или перед ним, и т.д. Режим 6 позволяет использовать гибридный список слов + маска, а режим 7 – гибридную маску + список слов. Эта атака приводит к более точным попыткам и пропуску или уменьшению числа неправдоподобных кандидатов на пароль.

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

Атака с переключением регистров: Этот тип атаки работает, если включена атака на основе правил. Он позволяет перебрать все варианты верхнего и нижнего регистра для кандидатов на пароль.

Начало работы с Hashcat:

Для начала работы на системах Linux на базе Debian выполните приведенную ниже команду для установки Hashcat.

sudo apt install hashcat

В системе Kali Linux инструмент уже предустановлен:

Для других дистрибутивов Linux вы можете загрузить и извлечь сжатый файл 7zip с сайта https://hashcat.net/hashcat/.

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

Флаг -m используется для определения типа хэша. Хэш, который я хочу разрушить, – MD5; он имеет тип 0.

Вы можете проверить, как определить каждый тип хэша, прочитав страницу man, как показано ниже, и прокрутив вниз до раздела Hash types.

Вы также можете изучить все типы атак и их определение на странице man, это было описано ранее в разделе “Режимы атак Hashcat” в этом руководстве.

Первый пример атаки направлен на хэш MD5 (-m 0) с использованием словарной атаки (-a 0) для взлома хэшей, содержащихся в хэш-листе, за которым следует список слов.

hashcat -m 0 -a 0 hashlist wordlist

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

Примечание: в этом руководстве используются следующие хэши:

ec92bbf4741c253df7fdf55c9aed5fe4

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

hashcat -m 0 -a 0 hashlist wordlist --show

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

Файл с именем sha1 содержит хэш SHA1.

Как видите, помимо другого имени, единственным отличием является режим хэширования, измененный на 100 (SHA1).

Атака, как и в предыдущем случае, является атакой по словарю.

hashcat -m 100 -a 0 sha1 wordlist

Последний пример показывает атаку методом перебора с использованием hashcat charset для расшифровки числового пароля.

В данном случае я знаю, что это числовой пароль длиной 6 символов.

Используя -3, я даю команду hashcat выполнить атаку брутфорса, а применяя 6-кратную кодировку ?d, я указываю попробовать все числа 6 раз, по одному для каждого символа.

hashcat -m 100 sha1.txt -a 3 ?d?d?d?d?d?d

Заключение

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

Это многоплатформенный инструмент, который может помочь нам восстановить защищенные zip-файлы, документы, файлы wpa .pcap и более 250 различных режимов шифрования.

Его функции, такие как атаки по маске, делают hashcat интеллектуальным инструментом для проведения интеллектуальных атак, полностью настраиваемых пользователем.

Report Page