✍️ Статья Как использовать радужные таблицы для взлома паролей Wi-Fi в Hashcat и John the Ripper. Часть 2

The 146X Project Dublikat Web Studio Avram Lincoln AL Service Navigator Knyaz

BlackPope

Команда форума
Модератор DeepWeb ✔️
PR-Group DeepWeb 🔷
Регистрация
27.04.2020
Сообщения
230
Мы использовали программу wlangenpmkocl с опцией -a, что означает вывод plainmasterkeys в файл. У программы есть также опция -A, которая позволяет генерировать файл со строками вида plainmasterkey:ПАРОЛЬ. Создадим такой файл:

wlangenpmkocl -e RT-WiFi_96 -i rockyou_cleaned.txt -P 1 -D 0 -A pmk.txt

H57nYaFRu2Q.jpg


«Небольшой» минус этого формата в том, что с таким файлом не может работать hashcat. Поэтому мы будем использовать такую конструкцию (считывается ФАЙЛ-PMK, из него берётся только PMK без пароля и отправляется по стандартному вводу в hashcat в качестве кандидата) :

cat ФАЙЛ-PMK | cut -d ':' -f 1 | hashcat -m 2501 ХЕШ

У меня файл с plainmasterkeys формата plainmasterkey:ПАРОЛЬ имеет имя pmk.txt, хеш, извлечённый из хендшейка, помещён в файл RT-WiFi_96.hash, тогда команда следующая:

cat pmk.txt | cut -d ':' -f 1 | hashcat -m 2501 RT-WiFi_96.hash

Опять всё взломано за 0 секунд.

yh32ksUlI9k.jpg


И опять вместо пароля нам дан хеш:

24d3f2ab17f5:dcf505807dcd:RT-WiFi_96:f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0

В чём тогда разница? А разница в нашем файле pmk.txt, в котором каждому хешу соответствует его пароль!

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

cat ФАЙЛ-PMK | grep 'ПОДОБРАННЫЙ-PMK'

В ней:
  • ФАЙЛ-PMK — это файл с plainmasterkeys, у меня этот файл называется pmk.txt
  • ПОДОБРАННЫЙ-PMK — это тот самый plainmasterkey, который мы взломали с помощью hashcat и который находится за названием ТД после двоеточия, в моём случае это f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0
Тогда команда следующая:

cat pmk.txt | grep 'f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0'

Вывод:

f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0:22011995

То есть найден хеш и соответствующий ему пароль (22011995), который идёт после двоеточия.

Как в John the Ripper использовать радужные таблицы для взлома Wi-Fi

В John the Ripper всё очень похоже, рассмотрим два варианта — последовательный взлом PMK и хеша и взлом только одного PMK.

1-й вариант

Создаём радужную таблицу командой вида:

wlangenpmkocl -e ИМЯ-ТД -i СЛОВАРЬ ОПЦИИ-УСТРОЙСТВА -a ФАЙЛ-ВЫВОДА-PMK

Например:

wlangenpmkocl -e RT-WiFi_96 -i rockyou_cleaned.txt -P 1 -D 0 -a pmk.txt

Предыдущая команда по вычислению PMK одинаковая с той, которую мы использовали для Hashcat. Но для конвертации рукопожатия в хеш для John the Ripper команда отличается. Причём программа wpapcap2john (которая конвертирует рукопожатия для взлома по маске или по словарю) не подойдёт для взлома по радужным таблицам.

Нам нужно использовать программу hcxpcapngtool из пакета hcxtools.

Установка в Kali Linux

sudo apt install hcxtools

Установка в BlackArch

sudo pacman -S hcxtools

Для конвертации рукопожатия в хеш для взлома по радужным таблицам в John используйте команду вида:

hcxpcapngtool --john=ХЕШ.john РУКОПОЖАТИЕ.pcap

Пример:

hcxpcapngtool --john=RT-WiFi_96.john RT-WiFi_96.pcap

Теперь, когда вычислена радужная таблица и сгенерирован хеш рукопожатия, в john запустим по ней проверку хеша рукопожатия. В качестве словаря нам нужно указать файл с вычисленными PMK, общий вид команды:

john --format=wpapsk-pmk --wordlist='ФАЙЛ-PMK' ФАЙЛ-ХЕШЕЙ

Будет выбран формат хеша wpapsk-pmk. Существует также формат хеша wpapsk-pmk-opencl, который отличается тем, что используются вычисления на видеокарте. На самом деле, OpenCL форматы запускаются значительно дольше (несколько секунд), а вычисление даже на wpapsk-pmk выполняется за доли секунды. Поэтому особого смысла указывать опцию --format=wpapsk-pmk-opencl нет. Но просто помните о такой возможности на случай очень больших радужных таблиц.

Итак, мои plainmasterkeys сохранены в файл pmk.txt, а хеш рукопожатия сохранён в файл RT-WiFi_96.john, тогда команда для поиска по радужной таблице следующая:

john --format=wpapsk-pmk --wordlist='pmk.txt' RT-WiF


1kOEpOidJ68.jpg


Совпадение найдено, об этом говорит строка:

1f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0 (RT-WiFi_96)


Если вы что-то пропустили, то взломанный пароль/хеш можно посмотреть командой вида:

john --format=wpapsk-pmk ХЕШ-ФАЙЛ --show

В моём случае это:

john --format=wpapsk-pmk RT-WiFi_96.john --show

11iavnlD3UU.jpg


Теперь нужно запустить команду вида:

wlanpmk2hcx -e ИМЯ-ТД -p НАЙДЕННЫЙ-PMK


В моём случае это команда:

wlanpmk2hcx -e RT-WiFi_96 -p f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0

Результат:

OB4MJJz1Rpw.jpg


Применительно к john, нам дано имя алгоритма: pbkdf2-hmac-sha1 для взлома, а также хеш:

$pbkdf2-hmac-sha1$4096$52542d576946695f3936$f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0

Предыдущая команда и её вывод нам уже знакомы по разделу с Hashcat. В справке сказано, что можно добавить к ней опцию -j, которая означает, сохранить вывод для john в файл:

wlanpmk2hcx -e RT-WiFi_96 -p f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0 -j forjohn.hash

Но у меня это не сработало — поэтому просто сохраним приведённый выше хеш в файл forjohn.hash.

Теперь нужно запустить команду вида:

john --format=PBKDF2-HMAC-SHA1-opencl --wordlist='СЛОВАРЬ' ХЕШ-ФАЙЛ

Вместо формата PBKDF2-HMAC-SHA1-opencl (взлом на видеокарте) можно указать PBKDF2-HMAC-SHA1 (взлом на центральном процессоре).

У меня словарь имеет имя rockyou_cleaned.txt, а хеш помещён в файл forjohn.hash, поэтому команда следующая:

john --format=PBKDF2-HMAC-SHA1-opencl --wordlist='rockyou_cleaned.txt' forjohn.hash

Наконец-то взломан пароль от ТД, это: 22011995

yUtHUC2Y7uA.jpg


2-й вариант (пропуск брут-форса plainmasterkey)

Запускаем wlangenpmkocl с опцией -A:

wlangenpmkocl -e RT-WiFi_96 -i rockyou_cleaned.txt -P 1 -D 0 -A pmk.txt

Теперь нужно запустить команду вида:

cat ФАЙЛ-PMK | cut -d ':' -f 1 | john --format=wpapsk-pmk --stdin ХЕШ

Например:

cat pmk.txt | cut -d ':' -f 1 | john --format=wpapsk-pmk --stdin RT-WiFi_96.john

Обратите внимание, что опция --wordlist заменена на опцию --stdin, которая означает считывать кандидаты в пароли из стандартного ввода.

4ataiRMsWZM.jpg


Хеш вновь взломан:

f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0 (RT-WiFi_96)

В нашем файле pmk.txt каждому хешу соответствует его пароль — это благодаря опции -A, которую мы использовали с программой wlangenpmkocl.

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

cat ФАЙЛ-PMK | grep 'ПОДОБРАННЫЙ-PMK'

В ней:
  • ФАЙЛ-PMK — это файл с plainmasterkeys, у меня этот файл называется pmk.txt
  • ПОДОБРАННЫЙ-PMK — это тот самый plainmasterkey, который мы взломали с помощью hashcat и который находится перед названием ТД, помещённой в круглые скобки, в моём случае это f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0
Тогда команда следующая:

cat pmk.txt | grep 'f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0'

Вывод:

1f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0:22011995

Найден хеш и соответствующий ему пароль (22011995), который идёт после двоеточия.

Как по маскам создавать радужные таблицы для взлома Wi-Fi

Программа wlangenpmkocl вместо опции -i СЛОВАРЬ может получать список кандидатов в пароли из стандартного ввода. То есть следующая команда

wlangenpmkocl -e ИМЯ-ТД -i СЛОВАРЬ ОПЦИИ-УСТРОЙСТВА -A ФАЙЛ-ВЫВОДА-PMK

полностью эквивалентна этой

cat СЛОВАРЬ | wlangenpmkocl -e ИМЯ-ТД ОПЦИИ-УСТРОЙСТВА -A ФАЙЛ-ВЫВОДА-PMK

ВНИМАНИЕ: помните о разнице опций -A и -a и выберите ту из них, которая вам подходит.

По этой причине можно генерировать кандидаты паролей в программах, поддерживающих маски и передавать их на вход wlangenpmkocl.

Для вывода кандидатов в пароли с помощью Hashcat используйте опцию --stdout в команде вида:

hashcat -a 3 --stdout 'МАСКА' | wlangenpmkocl -e ИМЯ-ТД ОПЦИИ-УСТРОЙСТВА -A ФАЙЛ-ВЫВОДА-PMK

Пример:

hashcat -a 3 --stdout '?d?d?d?d?d?d?d?d' | wlangenpmkocl -e HackWare-AP -P 1 -D 0 -A hackware.pmk

В этой команде hashcat генерирует пароли по маске ?d?d?d?d?d?d?d?d (пароли из восьми цифр) и из них рассчитываются PMK.

В качестве альтернативы Hashcat можно использовать Maskprocessor в команде вида:

maskprocessor 'МАСКА' | wlangenpmkocl -e ИМЯ-ТД ОПЦИИ-УСТРОЙСТВА -A ФАЙЛ-ВЫВОДА-PMK

Пример:

maskprocessor '?d?d?d?d?d?d?d?d' | wlangenpmkocl -e HackWare-AP -P 1 -D 0 -A hackware.pmk

В John the Ripper помощью опции --stdout вы можете вместо запуска взлома показать создаваемые кандидаты в пароли.

Команда, аналогичная предыдущим:

john --stdout --mask='?d' --min-length=8 --max-length=8 | wlangenpmkocl -e HackWare-AP -P 1 -D 0 -A hackware.pmk

Будущее

ZerBea — автор большинства утилит, которые мы использовали в этой инструкции, — планирует написать ещё одну утилиту, которая будет вычислять potfile для hashcat -m 22000. Благодаря этому можно использовать опцию hashcat --show на предварительно вычисленных результатах. Это будет ещё один вариант радужной таблицы. Но в настоящее время у него в приоритетах EAP, SAE (WPA3).
 

📌 Золотая реклама

AnonPaste

Верх