Пароли

Руководство по 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 [email protected] [email protected]
Delete @ p Dp Deletes character at position p %2s Dp [email protected] [email protected]
Extract range xpM Extracts M characters, starting at position p %2s xp4 [email protected] sW0r
Omit range OpM Deletes M characters, starting at position p %2s Op2 [email protected] [email protected]
Insert @ p ipX Inserts character X at position p %2s ip! [email protected] p@s.!sW0rd
Overwrite @ p opX Overwrites character at position p with X %2s op$ [email protected] p@s.$W0rd
Truncate @ p ‘p Truncate word at position p %2s ‘p [email protected] p@s.
Extract memory XpMI Insert substring of length M starting from position p of word saved to memory at position I %2s lMXp28 [email protected] [email protected]
Swap @ p *pM Swaps character at position p with character at position M %2s *p4 [email protected] [email protected]
Bitwise shift left Lp Bitwise shift left character @ p %2s Lp [email protected] p@s.▒W0rd
Bitwise shift right Rp Bitwise shift right character @ p %2s Rp [email protected] [email protected]
ASCII increment +p Increment character @ p by 1 ASCII value %2s +p [email protected] [email protected]
ASCII decrement -p Decrement character @ p by 1 ASCII value %2s -p [email protected] [email protected]
Replace p + 1 .p Replaces character @ p with value at @ p plus 1 %2s .p [email protected] [email protected]
Replace p — 1 ,p Replaces character @ p with value at @ p minus 1 %2s ,p [email protected] [email protected]

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: