hashcat Кілька режимів атак hashcat

hashcat має кілька режимів атаки. Використовуйте параметр – help, щоб переглянути повну довідку, ви можете побачити таблицю "Attack Modes", як показано нижче:

#Mode
0Straight
1Combination
3Brute-force
6Гібридний список слів + маска
7Hybrid Mask + Wordlist

1.Straight

Цей режим атаки також відомий як «словникова атака». Немає чого сказати, просто враховуючи словник, hashcat читає вміст словника рядок за рядком, обчислює значення хеша кожного рядка та порівнює його з цільовим значенням хеша.

Приклад:

  hashcat -a 0 -m 400 example400.hash  example.dict

2.Combination

Baidu сказав мені, що комбінація — це іменник, що означає: «комбінація; консорціум; комбінація пароля; комбінезон». Цей режим атаки насправді дуже простий, тобто поєднує вміст двох словників паролів. Використання цього режиму атаки вимагає вказання двох словників паролів. Припустімо, що у нас є два словники паролів dict1.txt і dict2.txt, зміст яких:

  полювання 
  Кітті 
  Веселка

і

  Париж 
  rock

Тоді команда:

  hashcat -m 0 -a 1 hash.txt dict1.txt dict2.txt

Словник, який насправді спробував:

  huntingparis 
  Хантингрок 
  КіттіПарис 
  кітірок 
  Веселка Париж 
  rainbowrock

Слова в dict1.txt ліворуч, а слова в dict2.txt праворуч, загалом 3×2=6.

Параметри, пов'язані з цим шаблоном:

  -j, --rule-left 
Правило після   -k, --rule-right

-j діє ліворуч, а правило після -k діє праворуч, наприклад, додавання параметра -j '$-', тоді фактичний словник спроби:

  hunting-paris 
  мисливська скеля 
  Кітті-Париж 
  Кітті-рок 
  rain-bowparis 
  rain-bowrock

Додати параметр -j '^!', Тоді фактичний словник, який я спробував:

  ! ПолюванняПариж 
  ! Мисливська скеля 
  ! КіттіПариж 
  ! Кіттірок 
  ! Веселка Париж 
  ! rainbowrock

Додайте параметр -k '^>', тоді фактичний словник, який ви спробуєте:

  hunting>paris 
  Полювання>Скеля 
  Кітті>Париж 
  Кітті>Рок 
  дощ>bowparis 
Яке правило   rain>bowrock

? Вживання «$» і «^» схоже на регулярні вирази, тож чи є вони регулярними? Насправді ні, правила hashcat реалізовані самостійно, що є ще однією великою частиною вмісту, див. Rule-based Attack

3.Brute-force

, щоб спробувати даний набір символів. різні комбінації. Згідно з офіційною вікі hashcat, цей метод застарів і повністю замінений Mask-Attack, тому дослідження не проводяться

4.Mask Attack

Це відносно новий метод атаки. Приклад:

  hashcat -a 3 -m 0 md5.hash ? л? л? л? л? l

Хоча згідно з таблицею «Режими атаки» -A 3 відповідає грубій силі, насправді -A 3 використовує маскову атаку. Маскову атаку можна розглядати як розширену грубу силу. Параметр

-m використовується для визначення типу функції хеш. Значення md5 зберігається у файлі md5.hash. Ключовим є останній рядок "? l? l? l? l? l? l? l", який називається маскою.

Маска — це рядок, який складається з кількох заповнювачів. "?l" — це заповнювач, де "?" — це ключове слово, яке використовується для зміни наступного "l". ?u", "?d", "?h", "?h", "?s", "?a" і "?b", представлений набором символів, як показано в таблиці нижче.

0 – 0xff
? Charset
labcdefghijklmnopqrstuvwxyz
uABCDEFGHIJKLMNOPQRSTUVWXYZ
d0123456789
h0123456789abcdef
h0123456789ABCDEF
s! "#$%&'()*+,-./:;<=>?@[\]^_`~{|}
a? л? У? Д? s
b

Таким чином ми розуміємо, "?l ?l" насправді еквівалентний словнику паролів:

aaaaa 
ААААБ 
... 
zzzzz

Так само "?l?u?d" еквівалентно словнику пароля:

  aA0 
  АА 1 
  ... 
  bA0 
  ... 
  zZ9

Набір символів у таблиці вище вбудований у hashcat. Ми також можемо вказати набір символів самостійно:

  --custom-charset1 = набір символів 1 
  --custom-charset2=набір символів 2 
  --custom-charset3=набір символів 3 
  --custom-charset4=набір символів 4

параметр –custom-charsetN можна скоротити як -N, наприклад –custom-charset1 можна скоротити як -1. Набір символів, вказаний за допомогою -N, вказується в масці у вигляді заповнювача "?N", наприклад:

  -1 abc123 ? 1? 1? 1 

еквівалентно словнику пароля:

     aaa 
  ААБ 
  ... 
  АА 3 
  ... 
Окрім рядка, що представляє набір символів,   333

-N також може бути файлом, що закінчується на .hcchr, де зберігається набір символів. hashcat постачається з багатьма файлами .hcchr у каталозі charsets/інсталяційного пакета.

Колекція символів, представлена заповнювачем "??", є самим "?". Крім того, коли інші символи використовуються як заповнювачі, вони представляють сам символ. Наприклад, "?lwerner?d" еквівалентно словнику пароля:

  awerner0 
  Авернер 1 
  ... 
  zwerner9

З наведеними вище знаннями легко зрозуміти маску. Маска складається з кількох заповнювачів, кожен з яких є набором символів, а маска - це комбінація наборів символів-заповнювачів. Кількість заповнювачів дорівнює довжині пароля. Які переваги такого дизайну порівняно з простим набором символів і довжиною пароля?

Припустімо, що ми знаємо, що чиїсь пароль складається з 7 цифр, перша цифра — велика літера, наступні 3 цифри — малі літери, а останні 3 цифри — цифри. Якщо це традиційний грубий злом, потрібні набори символів A-Z, A-Z і 0-9, загалом 62 символи. Вам потрібно спробувати до 62^7=3 521 614 606 208 разів, що є рівнем трильйонів. Використовуючи маску для опису цього пароля, це "\u\l\l\l\d\d\d", який легко обчислити (26^4)×(10^3)=456 976 000 можливостей, що становить 100 мільйонів, що на 4 порядки менше, ніж у попередньому методі.

Щоб зробити крок назад, навіть якщо ми не знаємо розподілу паролів, за допомогою маски легко імітувати ефект традиційного насильницького злому.

Тепер проблема полягає в тому, що маска виправлена, скільки заповнювачів записано мертво, і що нам робити, якщо ми не знаємо довжини пароля. Це нормально, якщо пароль занадто довгий, якщо пароль когось має лише 3 цифри, а ми маємо 4 заповнювачі, і ми не можемо їх розгадати, чи не буде це великою втратою? Чи потрібно писати всі маски різної довжини, починаючи з 1? Як це клопітно.

Є два рішення: використовувати файл маски, записати кілька масок в один файл, а потім вказати цей файл у командному рядку. Зауважте, що файл маски повинен закінчуватися на .hcmask.

Наприклад, вміст test.hcmask:

  ? л 
  ? л? л 
  ? л? л? л 
  ? л? л? л? l

використовує файл за допомогою такої команди:

  hashcat -m 0 -a 3  --show md5.hash test.hcmask

Інше рішення полягає в тому, щоб додати параметр –increment, який повідомляє hashcat, що відповідно до маски, яку ми надаємо, почніть із заповнювача, а потім спробуйте два, три, поки ми не надамо довжини. Наприклад, ми пишемо цей заповнювач "abc", а потім обчислюємо значення md5 такого рядка:

  a:0cc175b9c0f1b6a831c399e269772661 
  b:92eb5ffee6ae2fec3ad71c777531578f 
  c:4a8a08f09d37b73795649038408b5f33 
  ab:187ef4436122d1cc2f40dc2b92f0eba0 
  ac:e2075474294983e013ee4dd2201c7a73 
  ba:07159c47ee1b19ae4fb9c40d480856c4 
  bc:5360af35bde9ebd8f01f492dc059593c 
  ca:5435c69ed3bcc5b2e4d580e393e373d3 
  cb:d0d7fdb6977b26929fb68c6083c0b439 
  abc:900150983cd24fb0d6963f7d28e17f72 
  abc:900150983cd24fb0d6963f7d28e17f72 
  bac:79ec16df80b57696a03bb364410061f3 
  bca:b64eab8ce39e013604e243089c687e4f 
  cba:3944b025c9ca7eec3154b44666ae04a0 
  cab:16ecfd64586ec6c1ab212762c2c38a90

Перед ":" йде вихідний рядок для обчислення значення хеша, а після ":" йде обчислене значення hasn. Збережіть наведений вище вміст у файлі md5.hash, а потім виконайте таку команду:

  hashcat -m 0 -a 3 --show --username md5.hash abc

Додавання параметра –username пов'язане з тим, що перед кожним із наших значень хеша є вихідний рядок, якщо цей параметр не додається, hashcat покаже, що правильне значення хеша не знайдено. Якщо додати цей параметр, hashcat вважатиме, що рядок перед значенням хеша є іменем користувача пари хеша, щоб значення хеша можна було завантажити плавно.

Результат запуску полягає в тому, що вирішується лише один хеш:

  900150983cd24fb0d6963f7d28e17f72:abc

Тепер додайте параметр –increment і запустіть знову:

  hashcat -m 0 -a 3 --show --increment --username md5.hash abc

Цього разу було вирішено ще два хеші:

  0cc175b9c0f1b6a831c399e269772661:a 
  187ef4436122d1cc2f40dc2b92f0eba0:ab

Видно, –інкремент зіграв свою роль. Але в той же час ми також знаємо, що з цим параметром hashcat намагатиметься лише a, ab і abc у порядку, а не розташувати та поєднувати заповнювачі в порядку, щоб спробувати різні можливості.

5. Гібридна атака

Гібридна атака схожа на комбінаторну атаку, яка поєднує два словники, тоді як гібридна атака поєднує словник і маску.

Припустимо, у нас вже є словник example.dict, який виглядає так:

  Привіт 
  Вернер

Тоді команда:

  hashcat -m 0 -a 6 md5.hash example.dict ? Д? d

еквівалентно простому використанню словника:

  hello00 
  Привіт 01 
  ... 
  Привіт 99 
  Вернер 00 
  Вернер 01 
  ... 
  werener99

Тоді команда:

  hashcat -m 0 -a 7 md5.hash ? Д?  dexample.dict

еквівалентно простому використанню словника:

  00 Привіт 
  01 Привіт 
  ... 
  99 Привіт 
  00 Вернер 
  01 Вернер 
  ... 
  99 Веренер

Попередня стаття:Як використовувати програмне забезпечення hashcat для вибуху різних хешів
Наступна стаття:Як використовувати hashcat Обмін технологіями

Останні статті

Закріплена стаття

  • Focus on Word, Excel, PPT, PDF, RAR, ZIP, 7Z, Compressed File, Office Encrypted File Unlock Decryption
  • We provide users with high-quality file compression password recovery, PDF unlocking, and Word password recovery services.
  • Copyright © Document Password Recovery Master Online Decryption Platform