Выполнение гибридной атаки в Hashcat

Kali LinuxBeginner
Практиковаться сейчас

Введение

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

В этой лабораторной работе вы научитесь использовать возможности гибридной атаки Hashcat. Вы изучите два основных гибридных режима: словарная атака + маска (wordlist+mask) и маска + словарная атака (mask+wordlist). К концу этой лабораторной работы вы получите практический опыт в настройке и выполнении этих атак для взлома образцов хэшей паролей.

Различия между гибридной атакой по словарю+маске и маске+словарю

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

Гибридная атака по словарю+маске (режим атаки 6)

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

  • Пример: Если ваш словарь содержит password, а ваша маска — ?d?d, Hashcat будет перебирать варианты, такие как password00, password01, password02 и так далее, до password99.

Гибридная атака маска+словарь (режим атаки 7)

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

  • Пример: Если ваш словарь содержит password, а ваша маска — ?d?d, Hashcat будет перебирать варианты, такие как 00password, 01password, 02password и так далее, до 99password.

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

Создание образца хэша и базового словаря

На этом этапе вы создадите необходимые файлы для нашей атаки: образец хэша пароля и простой словарь. Все операции будут выполняться в каталоге ~/project.

Сначала нам нужен целевой хэш для взлома. Для этой лабораторной работы мы будем использовать хэш MD5. Предположим, что пароль — labex2024. Хэш MD5 для этой строки — 2d3c839a453c68206911871584a5f70f.

Создайте файл с именем hash.txt и сохраните в него хэш.

echo "2d3c839a453c68206911871584a5f70f" > ~/project/hash.txt

Вы можете проверить содержимое файла с помощью команды cat:

cat ~/project/hash.txt

Вы должны увидеть следующий вывод:

2d3c839a453c68206911871584a5f70f

Далее нам нужен словарь, содержащий базовое слово нашего целевого пароля. Поскольку пароль — labex2024, базовое слово — labex. Давайте создадим файл словаря с именем wordlist.txt, содержащий только это слово.

echo "labex" > ~/project/wordlist.txt

Проверьте содержимое вашего нового словаря:

cat ~/project/wordlist.txt

Вывод должен быть следующим:

labex

Теперь у вас есть целевой хэш и базовый словарь, готовые к атаке.

Выполнение гибридной атаки с добавлением цифр к словам

На этом этапе вы выполните гибридную атаку, используя режим "словарь+маска" (-a 6), чтобы взломать созданный вами хэш. Наша гипотеза заключается в том, что пароль состоит из слова labex, за которым следуют четыре цифры.

Мы составим команду hashcat со следующими компонентами:

  • -m 0: Указывает тип хэша, которым является MD5.
  • -a 6: Выбирает режим гибридной атаки "словарь+маска".
  • ~/project/hash.txt: Файл, содержащий наш целевой хэш.
  • ~/project/wordlist.txt: Наш базовый словарь.
  • ?d?d?d?d: Маска для добавления. ?d представляет одну цифру.

Теперь выполните следующую команду в вашем терминале:

hashcat -m 0 -a 6 ~/project/hash.txt ~/project/wordlist.txt ?d?d?d?d

Hashcat инициализируется и начнет процесс взлома. Вы можете увидеть предупреждение о производительности в виртуализированной среде, это нормально. Через короткое время Hashcat найдет пароль.

Вывод будет выглядеть примерно так (некоторые детали могут отличаться):

...
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: 2d3c839a453c68206911871584a5f70f
Time.Started.....: ...
Time.Estimated...: 0 secs (0.00ms)
Guess.Base.......: File (~/project/wordlist.txt)
Guess.Mod........: Mask (?d?d?d?d)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:  ... H/s (...)
Recovered........: 1/1 (100.00%) Digests
Progress.........: 10000/10000 (100.00%)
Rejected.........: 0/10000 (0.00%)
Restore.Point....: 1/1 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: labex1000 -> labex9999
Hardware.Mon.#1..: Temp: ...

2d3c839a453c68206911871584a5f70f:labex2024

Started: ...
Stopped: ...

Hashcat успешно взломал хэш и нашел пароль: labex2024.

Вы можете просмотреть взломанный пароль в любое время, используя опцию --show:

hashcat -m 0 --show ~/project/hash.txt

Это напрямую отобразит пару "взломанный хэш:пароль":

2d3c839a453c68206911871584a5f70f:labex2024

Выполнение гибридной атаки с добавлением цифр перед словами

Теперь давайте попробуем другой гибридный режим: маска+словарь (-a 7). На этом этапе вы попытаетесь взломать новый хэш, где шаблон добавляется в начало.

Предположим, наш новый целевой пароль — 2024labex. Хэш MD5 для этой строки — b68137c355d785422120884212515e86.

Сначала создайте новый файл хэша с именем hash2.txt с этим новым хэшем.

echo "b68137c355d785422120884212515e86" > ~/project/hash2.txt

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

Выполните следующую команду:

hashcat -m 0 -a 7 ~/project/hash2.txt ~/project/wordlist.txt ?d?d?d?d

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

Вывод покажет взломанный пароль:

...
Session..........: hashcat
Status...........: Cracked
...
b68137c355d785422120884212515e86:2024labex
...

Вы успешно взломали второй хэш, используя режим "маска+словарь".

Как и прежде, вы можете использовать опцию --show, чтобы увидеть результат:

hashcat -m 0 --show ~/project/hash2.txt

Вывод:

b68137c355d785422120884212515e86:2024labex

Сравнение эффективности обоих гибридных режимов

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

Сначала давайте попробуем взломать наш исходный хэш (hash.txt, для labex2024) в режиме "маска+словарь" (-a 7). Этот режим добавляет цифры в начало, что неверно для данного пароля.

hashcat -m 0 -a 7 ~/project/hash.txt ~/project/wordlist.txt ?d?d?d?d

Hashcat запустится, но будет перебирать кандидатов, таких как 0000labex, 0001labex и т. д. Поскольку правильный пароль — labex2024, эта атака не увенчается успехом. После проверки всех 10 000 комбинаций процесс завершится со статусом Exhausted (Исчерпано), что означает, что были перебраны все комбинации без успеха. Вы можете дождаться завершения или нажать q, чтобы выйти.

Далее, давайте попробуем взломать наш второй хэш (hash2.txt, для 2024labex) в режиме "словарь+маска" (-a 6). Этот режим добавляет цифры в конец, что также неверно для этого пароля.

hashcat -m 0 -a 6 ~/project/hash2.txt ~/project/wordlist.txt ?d?d?d?d

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

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

Резюме

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

В частности, вы узнали:

  • Основное различие между двумя режимами гибридной атаки: "словарь+маска" (-a 6) для добавления шаблонов и "маска+словарь" (-a 7) для добавления шаблонов в начало.
  • Как подготовиться к атаке, создав файл целевого хэша и базовый список слов.
  • Как выполнить оба типа гибридных атак для успешного взлома паролей.
  • Критическую важность выбора правильного режима атаки на основе предполагаемой структуры пароля, поскольку использование неправильного режима приведет к неудаче.

Гибридные атаки являются неотъемлемой техникой в арсенале любого аудитора паролей, предлагая разумный баланс между целевыми методами и полным перебором (brute-force).