Руководство по Hashcatch
Страница man отсутствует.
Hashcatch работает бесконечно, пока не будет установлена сочетанием CTRL+c.
Рукопожатия сохраняются в /usr/share/hashcatch/handshakes/.
BSSID и ESSID сетей Wi-Fi, для которых успешно выполнен захват, добавляются в файл /usr/share/hashcatch/db.
Если вы нацелились на определённую Wi-Fi сеть, проведите примерно 20-30 секунд в пределах её диапазона для повышения шансов захваты рукопожатия.
Экспериментальная функция: если вы подключены к Интернету во время захваты рукопожатия, то в файл базы данных будут добавлены следующие данные:
- широта
- долгота
- радиус точности
- время записи
Примечание: спасибо Alexander Mylnikov за API, которые используют публичные базы данных и возвращают подробности о расположении по MAC адресу роутера.
Конфигурационный файл
Конфигурационный файл расположен по адресу /etc/hashcatch/hashcatch.conf
При запуске программы с флагом —setup, она спросит имя беспроводного интерфейса, которое следует использовать для атак. В дальнейшем вы можете отредактировать это имя в поле «interface» конфигурационного файла, выбрав другой интерфейс по своему выбору.
Также вы можете добавить поле «ignore» и перечислить WiFi сети, которые hashcatch не должна беспокоить.
Пример конфигурационного файла:
interface=wlan0 ignore=Google Starbucks,AndroidAP
Опции добавляются в формате имя=опция1,опция2,опция3
Не должно быть пробела между именем опции, знаком равно и значениями опций. Сами значения должны быть перечислены через запятую.
How to show passwords (create a dictionary) in Hashcat without launching a cracking
After creating complex masks, especially with the use of custom character sets, we would like to check whether we did everything correctly. Also, thanks to the flexibility of the Hashcat syntax, it is convenient to use it for generating dictionaries by any criteria.
In order to only show passwords without starting cracking, the —stdout option is used. This option requires -a 3 (masd attack mode). Since cracking does not start in this case, you do not need to specify any hashes.
An example of generating passwords for the above-mentioned task (it is known that the first three characters in the password are numbers, not all, but only numbers from 0 to 4, the fourth character is only uppercase letters, and the fifth and sixth characters are the letters from a to h, as well as numbers from 5 to 9):
.\hashcat64.exe --stdout -a 3 -1 01234 -2 abcdefgh56789 ?1?1?1?u?2?2
Since many passwords will be created (more than half a million), instead of displaying on the screen, they can be saved to a file. To do this, after the main command, you need to put the symbol > (means redirecting the output to a file) and write the file name. For example, to save all passwords to the lab1.dic file, which will be created in the same folder as the executable hashcat64.exe:
.\hashcat64.exe --stdout -a 3 -1 01234 -2 abcdefgh56789 ?1?1?1?u?2?2 > lab1.dic
Установка oclHashcat
Установка в Kali Linux
Для работы программы необходимы драйверы графических карт:
- пользователям NVidia нужен ForceWare 346.59 или более поздний
- пользователям AMD нужен 14.9 или более поздний
Смотрите «Как установить драйвер AMD Catalyst 15.7 (ATI fglrx) на Kali Linux 2».
Далее
apt-get install oclhashcat
Установка oclHashcat в другие Linux
У вас должен быть установлен проприетарный (а не открытый) драйвер для вашей видеокарты.
- oclHashcat для AMD
- oclHashcat для NVidia
Распакуйте архив.
Запустите файл oclHashcat64.bin или oclHashcat32.bin в зависимости от битности вашей системы.
Установка в Windows
Как правило, в Windows уже установлен драйвер для видеокарты.
- oclHashcat для AMD
- oclHashcat для NVidia
Распакуйте архив.
Для запуска используйте файл oclHashcat64.exe или oclHashcat32.exe в зависимости от битности вашей системы.
Программу нужно запускать в командной строке. Для этого откройте окно командной строки (Win+X – выберите «Командная строка») и перетащите туда исполняемый файл.
Либо в открывшемся окне командой строки перейдите в требуемую папку:
cd C:\Users\Alex\Downloads\oclHashcat-1.37\
И в ней запустите требуемый файл:
oclHashcat64.exe -V
Working with hash files
Explanation of the hc22000 hash line
WPA*01*PMKID*MAC_AP*MAC_CLIENT*ESSID*** WPA*02*MIC*MAC_AP*MAC_CLIENT*ESSID*NONCE_AP*EAPOL_CLIENT*MESSAGEPAIR
Explanation of the MESSAGEPAIR field
bitmask of message pair field: 2,1,0: 000 = M1+M2, EAPOL from M2 (challenge) 001 = M1+M4, EAPOL from M4 (authorized) - usable if NONCE_CLIENT is not zeroed 010 = M2+M3, EAPOL from M2 (authorized) 011 = M2+M3, EAPOL from M3 (authorized) - unused 100 = M3+M4, EAPOL from M3 (authorized) - unused 101 = M3+M4, EAPOL from M4 (authorized) - usable if NONCE_CLIENT is not zeroed 3: reserved 4: ap-less attack (set to 1) - nonce-error-corrections not required 5: LE router detected (set to 1) - nonce-error-corrections required only on LE 6: BE router detected (set to 1) - nonce-error-corrections required only on BE 7: not replaycount checked (set to 1) - replaycount not checked, nonce-error-corrections mandatory
Examples to work on hc22000 hash files:
Filter hash file by PMKID
$ grep 'WPA\*01' hash.hc22000 > pmkid.hc22000 or $ hcxhashtool -i hash.hc22000 --type=1 -o pmkid.hc22000
Filter hash file by EAPOL
$ grep 'WPA\*02' hash.hc22000 > eapol.hc22000 or $ hcxhashtool -i hash.hc22000 --type=2 -o eapol.hc22000
Filter by authorized EAPOL MESSAGEPAIR
$ grep '2$' hash.hc22000 or $ hcxhashtool -i hash.hc22000 --authorized -o authorized.hc22000
Filter by challenge EAPOL MESSAGEPAIR
$ grep '0$' hash.hc22000 or $ hcxhashtool -i hash.hc22000 --challenge -o challenge.hc22000
Filter by MAC
$ grep '\*112233445566\*' hash.hc22000 > mac.hc22000 or $ hcxhashtool -i hash.hc22000 --mac-ap=112233445566 -o macap.hc22000 or $ hcxhashtool -i hash.hc22000 --mac-client=112233445566 -o macclient.hc22000
Шаг 5. Взлом хешей
Теперь, когда мы знаем основы hashcat, где расположены хеши и тип используемого шифрования, мы готовы к взлому хешей.
Давайте предварительно скопируем эти хеши в отдельный файл и назовем его hash.lst.
kali > cp /etc/shadow hash.lst
Теперь убедимся, что они скопировались нормально. Проверим это, набрав:
more hash.lst
Как мы видим, хеши действительно были скопированы в файл hash.lst.
Для подготовки этого файла к взлому, нам нужно удалить из него всю лишнюю информацию, кроме самих хешей. Файл /etc/shadow содержит имя пользователя, затем хеш, созданный с добавлением криптографической соли, а затем информацию о применяемой политике пользователя. Нам нужно удалить всю эту информацию, оставив только хеш.
Мы видим, что этот файл начинается с имени пользователя, то есть «user1», «user2» и т.д. Откройте этот файл в своем любимом текстовом редакторе (vim, vi, leafpad) и удалите имя пользователя и следующее за ним двоеточие. Затем перейдите в конец строки и удалите информацию после хеша, которая начинается с двоеточия (:). У нас получился файл только с хешами и больше ни с чем.
На последнем этапе мы, наконец, можем начать взламывать эти хеши. Вот команда, которую мы использовали.
kali > hashcat -m 1800 -a 0 -o cracked.txt --remove hash.lst /usr/share/sqlmap/txt/wordlist.txt
- -m 1800 — обозначает тип хеша, который мы взламываем (SHA-512)
- -a 0 — означает атаку по словарю
- -o cracked.txt — это выходной файл для взломанных паролей
- —remove — сообщает hashcat удалить хеш после того, как он был взломан
- hash.lst — наш входной файл хешей
- /usr/share/sqlmap/txt/wordlist.txt — это абсолютный путь к нашему вордлисту для использования с этой атакой по словарю
Как только процесс взлома начнется, мы можем нажать , чтобы получить информацию о том, как проходит процесс. Когда hashcat завершит свою работу, то вы увидите экран, как показано на скриншоте ниже, где hashcat сообщает, что он восстановил все хеши после 9:47:16 часов работы.
Теперь нужно открыть файл cracked.txt, и просмотреть наши взломанные пароли!
Hashcat лучший в мире инструмент для взлома паролей, поэтому найдите время, чтобы узнать о нем больше. У него есть еще много функций, которые мы пока не затронули. У него есть версия, использующая GPU (oclhashcat), которая может взламывать пароли во много раз быстрее, чем ваш центральный процессор!
Предыдущие статьи
( 1 , 2).
Debugging rules
With hashcat we can debug our rules easily. That means we can verify that the rule we wrote actually does what we want it to do. All you need to use is the —stdout switch and omit the hashlist.
Here is an example:
Create simple dictionary:
$ echo WORd > word
Generate a simple rule. The “c” rule capitalizes the first letter and lower-cases the rest.
$ echo c > rule
And thats how we see the generated debug output:
$ ./hashcat-cli64.bin -r rule --stdout word Word
This “feature” is also a very fast password candidate generator. That means that if we have some external program that supports reading from stdin we can feed it with our output.
Как пользоваться Hashcat
Hashcat можно скачать здесь. Его можно использовать в Kali Linux и он предустановлен в системе. В нашем примере осуществим атаку по словарю. Будем взламывать хеши MD5, изначально созданные и сохраненные в текстовом файле. Для взлома созданных хешей будем использовать словарь для брута «rockyou» из Kali Linux.
Для начала создадим несколько хешей разных паролей.
Создание файла с хешами MD5
После создания они будут добавлены в файл «target_hashes». Каждая команда должна выполняться в терминале, как показано ниже:
echo -n “Password” | md5sum | tr -d ” -” >> target_hashes.txt
Параметр удаляет новую строку, добавленную в конец «Пароль»
Это важно, поскольку мы не хотим, чтобы символы новой строки хешировались вместе с паролем. «tr –d‘ — ‘» удаляет из вывода все символы, которые являются пробелом или дефисом
Проверим наши хеши. Для этого введем в терминале команду:
cat target_hashes.txt
Вот как выглядят созданные хеши паролей:
Запуск Hashcat в Kali Linux
Hashcat можно запустить в консоли Kali с помощью следующей командной строки:
hashcat -h
Некоторые из наиболее важных параметров hashcat — это -m (тип хеша) и -a (режим атаки). В общем, нам нужно использовать оба варианта в большинстве попыток взлома паролей при использовании Hashcat.
Hashcat также имеет специально разработанные правила для использования в файле списка слов. Список символов можно настроить для взлома пароля (ов).
Наконец, Hashcat предоставляет множество вариантов хэшей паролей, которые можно взломать. Это видно на скриншоте ниже:
Выбор словаря для брута хешей
В Kali Linux встроены многочисленные словари. Чтобы найти их, используйте команду:
locate wordlists
Теперь используется список слов «rockyou», как показано ниже:
root@kali:~/Desktop# locate rockyou.txt /usr/share/wordlists/rockyou.txt
Взлом хешей с помощью Hashcat
Теперь можно приступить к взлому хешей из файла target_hashes.txt. Будем использовать следующую командную строку:
root@kali:~/Desktop# hashcat -m 0 -a 0 -o cracked.txt target_hashes.txt /usr/share/wordlists/rockyou.txt
- -m 0 обозначает тип хеша, который мы взламываем (MD5).
- -a 0 обозначает атаку по словарю.
- -o cracked.txt — указываем выходной файл для взломанных паролей.
- target_hashes.txt — наш входной файл хэшей, которые необходимо взломать.
/usr/share/wordlists/rockyou.txt — это абсолютный путь к файлу списка слов для этой атаки по словарю.
Мы взломали пять из семи хэшей:
Важно отметить, что чем проще пароль, тем легче его будет сбрутить. У Хешкэт есть и графический интерфейс, который устанавливается отдельно и упрощает использование Hashcat
О том, как установить GUI и как использовать, я расскажу в отдельной статье. Есть также веб-приложение Hashview — инструмент, который помогает организовать и автоматизировать взлом паролей
У Хешкэт есть и графический интерфейс, который устанавливается отдельно и упрощает использование Hashcat. О том, как установить GUI и как использовать, я расскажу в отдельной статье. Есть также веб-приложение Hashview — инструмент, который помогает организовать и автоматизировать взлом паролей.
How to run and use hashcat (an instruction for hacking passwords)
Hashcat is a program for hacking passwords, it’s a powerful application with lots of features.
However, this is not the easiest to use program, therefore you need to spend time learning it. In this manual, the most typical situations with hashcat are described.
We will consider considered as very ‘childish’ questions, like ‘how to run hashcat’, and rather complex, like the correct composition of masks, custom character sets, program options, problem solving and so on.
The peculiarity of hashcat is the very high speed of brute-force passwords, which is achieved through the simultaneous use of all video cards, as well as central processors in the system. It is possible to work if several video cards or video adapters of different manufacturers are installed (for example, AMD and NVIDIA).
Using ‘p’ (Nth instance of a character) with positional rules
The ‘p’ character position code (see Github here) memorizes the position of the Nth instance of a character, and makes that position available for use in rules that work with positions within the string. ‘p’ becomes available automatically when using ‘%’ (reject plains unless they have at least X occurrences of a specific character) and ‘/’ (reject plains that do not contain a specific character).
If you only want to operate on the first instance of a character, you can use %1s, or simply use ‘/’:
$ echo -n 'Odessa77' | hashcat --stdout -j '%1s Dp ip$' Ode$sa77 $ echo -n 'Odessa77' | hashcat --stdout -j '/s Dp ip$' Ode$sa77
If you only want to operate on the second instance:
$ echo -n 'Odessa77' | hashcat --stdout -j '%2s Dp ip$' Odes$a77
… etc. Unlike the ‘s’ rule, which replaces all instances of a character, this allows selection of which instance of a character to replace.
You can also use this functionality to replace one character with multiple characters:
$ echo -n 'p@ssW0rd' | hashcat --stdout -j '%1W DpM ip/ ip\ ip/ ip\' p@ss\/\/0rd
Note that rules that use the ‘p’ character position code only works using the ‘-j’ or ‘-k’ command-line options.
In the examples below, the ‘%2s’ portion of the rule means “reject plains unless they have at least two ‘s’ characters:, and the ‘p’ then means “operate on the position represented by the second ‘s’ character”.
Name | Function | Description | Example Rule | Input Word | Output Word | Note |
---|---|---|---|---|---|---|
Toggle @ | Tp | Toggle the case of characters at position p | %2s Tp | p@s.sW0rd | p@s.SW0rd | |
Delete @ p | Dp | Deletes character at position p | %2s Dp | p@s.sW0rd | p@s.W0rd | |
Extract range | xpM | Extracts M characters, starting at position p | %2s xp4 | p@s.sW0rd | sW0r | |
Omit range | OpM | Deletes M characters, starting at position p | %2s Op2 | p@s.sW0rd | p@s.0rd | |
Insert @ p | ipX | Inserts character X at position p | %2s ip! | p@s.sW0rd | p@s.!sW0rd | |
Overwrite @ p | opX | Overwrites character at position p with X | %2s op$ | p@s.sW0rd | p@s.$W0rd | |
Truncate @ p | ‘p | Truncate word at position p | %2s ‘p | p@s.sW0rd | p@s. | |
Extract memory | XpMI | Insert substring of length M starting from position p of word saved to memory at position I | %2s lMXp28 | p@s.sW0rd | p@s.sw0rswd | |
Swap @ p | *pM | Swaps character at position p with character at position M | %2s *p4 | p@s.sW0rd | p@s.sW0rd | |
Bitwise shift left | Lp | Bitwise shift left character @ p | %2s Lp | p@s.sW0rd | p@s.▒W0rd | |
Bitwise shift right | Rp | Bitwise shift right character @ p | %2s Rp | p@s.sW0rd | p@s.9W0rd | |
ASCII increment | +p | Increment character @ p by 1 ASCII value | %2s +p | p@s.sW0rd | p@s.tW0rd | |
ASCII decrement | -p | Decrement character @ p by 1 ASCII value | %2s -p | p@s.sW0rd | p@s.rW0rd | |
Replace p + 1 | .p | Replaces character @ p with value at @ p plus 1 | %2s .p | p@s.sW0rd | p@s.WW0rd | |
Replace p — 1 | ,p | Replaces character @ p with value at @ p minus 1 | %2s ,p | p@s.sW0rd | p@s..W0rd |
See rules/ folder in hashcat-legacy or hashcat for examples.
Ручное разбитие файлов рукопожатий с помощью Wireshark
Если вы работаете с файлом из слитых рукопожатий, то с ним не должно быть особых проблем. Открываем файл в Wireshark:
Можно использовать фильтр
wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol
Но он может оказаться и не нужным, поскольку и без того имеются только нужные пакеты.
Чтобы отфильтровать пакеты для определённой точки доступа, укажите её BSSID со следующим фильтром:
wlan.addr==BSSID
Например:
wlan.addr==28:28:5D:6C:16:24
Либо так:
(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol) && wlan.addr==28:28:5D:6C:16:24
Теперь с помощью CTRL+m выделите нужные пакеты:
И в меню File выберите Export Specified Packets:
Введите имя файла и поставьте переключатель на Marked packets only:
Проверяем наш файл:
Всё отлично. Можно сделать ещё одну проверку с помощью coWPAtty, запустив команду вида:
cowpatty -r ФАЙЛ -s ИМЯ_СЕТИ -c
Например, в моём случае:
cowpatty -r ZyXEL_59.pcap -s ZyXEL_59 -c
Фраза «Collected all necessary data to mount crack against WPA2/PSK passphrase» означает, что собраны все необходимые данные для взлома пароля.
Для вычленения рукопожатия из захвата, выполненного в шумных условиях, необходимо приложить некоторые усилия. Начинам с фильтрации (замените 84:C9:B2:52:F6:37 на BSSID интересующей вас сети):
(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol) && wlan.addr==84:C9:B2:52:F6:37
Хендшейк подходит для взлома пароля если:
- обязательно включает в себя второй элемент (M2), а также третий (M3) (гарантирует, что было сделано подключение к сети) или вместо третьего элемента содержит первый элемент (M1) (рукопожатие подходит для взлома пароля, но нет гарантий, что было выполнено подключение и что вообще был введён верный пароль). Лучше, если удалось захватить все четыре элемента;
- элементы рукопожатия должны следовать в нужном порядке;
- между ними не должно быть слишком большого интервала времени (измеряется миллисекундами и микросекундами).
Смотрим следующий пример.
Первый набор фреймов EAPOL (выделен чёрным) – не соблюдено правило, что кроме второго должно быть третье или первое сообщение.
Второй набор (красный) – только одно сообщение.
Третий набор (жёлтый) – нет третьего или первого сообщения.
Четвёртый набор (оранжевый) – нет второго сообщения.
Пятый набор (зелёный) – подходит, поскольку имеется второе и первое сообщение. Время между сообщениями кажется приемлемым.
Выделяем и сохраняем нужные фреймы (я также выделил фрейм Beacon):
Наш файл проходит проверки:
Implemented specific functions
The following functions are not available in John the Ripper and/or PasswordsPro:
Name | Function | Description | Example Rule | Input Word | Output Word | Note |
---|---|---|---|---|---|---|
Swap front | k | Swap first two characters | k | p@ssW0rd | @pssW0rd | |
Swap back | K | Swap last two characters | K | p@ssW0rd | p@ssW0dr | |
Swap @ N | *NM | Swap character at position N with character at position M | *34 | p@ssW0rd | p@sWs0rd | * |
Bitwise shift left | LN | Bitwise shift left character @ N | L2 | p@ssW0rd | p@æsW0rd | * |
Bitwise shift right | RN | Bitwise shift right character @ N | R2 | p@ssW0rd | p@9sW0rd | * |
Ascii increment | +N | Increment character @ N by 1 ascii value | +2 | p@ssW0rd | p@tsW0rd | * |
Ascii decrement | -N | Decrement character @ N by 1 ascii value | -1 | p@ssW0rd | p?ssW0rd | * |
Replace N + 1 | .N | Replace character @ N with value at @ N plus 1 | .1 | p@ssW0rd | psssW0rd | * |
Replace N — 1 | ,N | Replace character @ N with value at @ N minus 1 | ,1 | p@ssW0rd | ppssW0rd | * |
Duplicate block front | yN | Duplicate first N characters | y2 | p@ssW0rd | p@p@ssW0rd | * |
Duplicate block back | YN | Duplicate last N characters | Y2 | p@ssW0rd | p@ssW0rdrd | * |
Title | E | Lower case the whole line, then upper case the first letter and every letter after a space | E | p@ssW0rd w0rld | P@ssw0rd W0rld | + |
Title w/separator | eX | Lower case the whole line, then upper case the first letter and every letter after a custom separator character | e- | p@ssW0rd-w0rld | P@ssw0rd-W0rld | + |
- * Indicates that N starts at 0. For character positions other than 0-9 use A-Z (A=10)
- + Only in JtR?
- # In beta or not yet released
Кто использует Hashcat?
Первоначально это решение было создано для использования в законных целях. Прежде всего, в профессиональных целях. Например, системный администратор может использовать Hashcat для проверки безопасности паролей пользователей, которые являются частью сети. Если вам удалось взломать его самостоятельно, киберпреступник тоже может это сделать.
Другой контекст, в котором это может быть применено, находится в pentesting , Основная задача pentester — найти как можно больше дыр в безопасности, чтобы его клиенты могли применять как можно больше мер безопасности для защиты своих систем. Как в профессиональном, так и в академическом контексте, инструменты этого типа могут быть использованы.
Невозможно запретить киберпреступникам использовать этот тип инструментов для атаки и присвоения данных миллионами людей по всему миру
Тем не менее, те, кто использует его в законных целях, осознают важность не только надежных паролей, но и важность их хранения с максимально возможным уровнем защиты
Вы можете подумать, что Hashcat — это инструмент, который делает практически бесполезным использование алгоритмов хеширования для наших паролей, даже с самыми надежными алгоритмами, такими как SHA3. Не лучше ли выбрать хранить все в виде простого текста и все? Нет, также обязательно, чтобы организации, которым требуются пароли для доступа к их службам, хранили их надежно, таким образом, чтобы обеспечить большую безопасность и конфиденциальность.
Как установить Hashcatch в Kali Linux
Установка зависимостей:
sudo apt install hcxtools hashcat-utils jq
Создание необходимых папок и файлов для программы:
sudo mkdir -p /usr/share/hashcatch/handshakes/ /etc/hashcatch/ sudo touch /usr/share/hashcatch/db
Скачивание скрипта:
git clone https://github.com/staz0t/hashcatch cd hashcatch/
Теперь нужно сгенерировать конфигурационный файл, для этого запустите команду:
sudo ./hashcatch --setup
Скрипт спросит у вас имя беспроводного интерфейса, если вы его не помните, то используйте команду:
iw dev
В дальнейшем если понадобиться выбрать другой беспроводной интерфейс для использования, то вновь запустите команду:
sudo ./hashcatch --setup
Либо просто откройте любым текстовым редактором файл /etc/hashcatch/hashcatch.conf и впишите нужное имя.
Кстати, при работе программа сохраняет захваченный рукопожатия в папку /usr/share/hashcatch/handshakes/, а информацию о ТД, для которых удалось поймать handshake, записывает в файл /usr/share/hashcatch/db. Эти значения прописаны в исходном коде программы:
При желании вы можете отредактировать их под более удобные расположения:
gedit hashcatch
Для этого замените значения этих переменных:
f_config="/etc/hashcatch/hashcatch.conf" f_db="/usr/share/hashcatch/db" d_handshakes="/usr/share/hashcatch/handshakes/"
Если у вас только один Wi-Fi интерфейс, то рекомендуется закрыть программы, которые могут оказывать на него влияние:
sudo systemctl stop NetworkManager sudo airmon-ng check kill
Если интерфейс в состоянии down, переводим его в up (замените wlan0 на ваш интерфейс)
sudo ip link set wlan0 up
Если вы столкнулись с ошибкой
\033 The following packages are missing. Install them and try again!\033[0m
то есть программа жалуется на отсутствие пакетов, но не сообщает, каких именно, то выполните следующие команды:
git clone https://github.com/hashcat/hashcat-utils cd hashcat-utils/src/ make sudo mv *.bin /usr/local/bin/ sudo cp -a *.pl /usr/local/bin/ sudo ln -s /usr/local/bin/cap2hccapx.bin /usr/local/bin/cap2hccapx
Шаг 3. Выберите вордлист
В этой статье мы будем использовать простую атаку по словарю для некоторых хешей, используемых в Linux. Для этого нам нужен вордлист, с которым можно работать. В Интернете доступны тысячи вордлистов, но у Kali, как вы знаете, есть много собственных встроенных вордлистов, так что давайте попробуем использовать один из них.
Чтобы найти встроенные в Kali вордлисты, мы должны ввести в терминале:
kali > locate wordlist
Когда мы выполним эту команду, то увидим, что нам доступны около десятка вордлистов.
Мы будем использовать вордлист, сделанный для sqlmap, который содержит более миллиона обычных и гибридных слов.
Маска при неизвестной длине пароля
Не всегда точно известна длина пароля. Даже по условию нашей задачи пароль имеет длину от шести до десяти символов.
Для того, чтобы генерировались пароли различной длины, имеются следующие опции:
- -i – Включить режим приращения маски
- –increment-min | Числ | Начать прирост маски на X, пример использования: –increment-min=4
- –increment-max | Числ | Остановить прирост маски на X, пример использования: –increment-max=8
Опция -i является необязательной. Если она используется, то это означает, что длина кандидатов в пароли не должна быть фиксированной, она должна увеличиваться по количеству символов.
Опция –increment-min также является необязательной. Она определяет минимальную длину кандидатов в пароли. Если используется опция -i, то значением –increment-min по умолчанию является 1.
И опция –increment-max является необязательной. Она определяет максимальную длину кандидатов в пароли. Если указана опция -i, но пропущена опция –increment-max, то её значением по умолчанию является длина маски.
Правила использования опций приращения маски:
- перед использованием –increment-min и –increment-max необходимо указать опцию -i
- значение опции –increment-min может быть меньшим или равным значению опции –increment-max, но не может превышать его
- длина маски может быть большей по числу символов или равной числу символов, установленной опцией –increment-max, НО длина маски не может быть меньше длины символов, установленной –increment-max.
Итак, скорректируем команду запуска для нашей задачи (пароль имеет длину от шести до десяти символов):
.\hashcat64.exe -m 0 -a 3 -i –increment-min=6 –increment-max=10 53ab0dff8ecc7d5a18b4416d00568f02 ?l?l?l?l?l?l?l?l?l?l
Эта команда аналогична предыдущей, но здесь добавлены три новые опции (которые объяснены чуть выше):
- -i
- –increment-min=6
- –increment-max=10
А также увеличена длина маски до 10 символов: ?l?l?l?l?l?l?l?l?l?l (как это требуют правила использования опций приращения).
На перебор понадобилось чуть больше времени, поскольку дополнительно были опробованы кандидаты в пароли длиной 6 (+1 секунда на моём железе) и 7 символов (+22 секунды):
Обратите внимание на новое значение строки Status:
Оно означает, что перебраны все кандидаты в пароли, но ни один из них не подошёл.
Capture example
Examples of the target and how traffic is captured:
1.Stop all services that are accessing the WLAN device (e.g .: NetworManager and wpa_supplicant.service)
$ sudo systemctl stop NetworkManager.service $ sudo systemctl stop wpa_supplicant.service
2. Start the attack and wait for you to receive PMKIDs and / or EAPOL message pairs, then exit hcxdumptool
$ hcxdumptool -i interface -o dumpfile.pcapng --active_beacon --enable_status=15
3. Restart stopped services to reactivate your network connection
$ sudo systemctl start wpa_supplicant.service $ sudo systemctl start NetworkManager.service
4. Convert the traffic to hash format 22000
$ hcxpcapngtool -o hash.hc22000 -E wordlist dumpfile.pcapng
5. Run Hashcat on the list of words obtained from WPA traffic
$ hashcat -m 22000 hash.hc22000 wordlist.txt
For more options, see the tools help menu (-h or –help) or .
Get more examples from .
Run Hashcat on an excellent WPA word list or check out their free online service:
Code:
$ wget https://wpa-sec.stanev.org/dict/cracked.txt.gz
$ hashcat -m 22000 test.hc22000 cracked.txt.gz
Get more examples from here: https://github.com/hashcat/hashcat/issues/2923