Набор утилит для работы с захваченными пакетами беспроводных сетей: конвертация pcapng в форматы hashcat/john, анализ рукопожатий, извлечение PMKID, декодирование EAPOL. Обязательный спутник hcxdumptool.
sudo apt install hcxtools # или: git clone https://github.com/ZerBea/hcxtools cd hcxtools && make && sudo make install # Конвертация в hashcat 22000: hcxpcapngtool -o hashes.hc22000 capture.pcapng # Просмотр информации о захвате: hcxhashtool -i hashes.hc22000
Набор инструментов для конвертации пакетов из файлов захвата в файлы хешей для использования с Hashcat или John the Ripper.
Эти инструменты на 100% совместимы с Hashcat и John the Ripper и одобрены Hashcat.
Основная цель hcxtools — выявление слабых мест в собственной WiFi-сети путем анализа хешей. Конвертация дамп-файла в хеш-файл WPA-PBKDF2-PMKID+EAPOL позволяет пользователю проверить, передавался ли WLAN-ключ или PMK в открытом виде. Или загрузить «неочищенный» дамп-файл (pcapng, pcap, cap) сюда, чтобы узнать, уязвим ли ваш точка доступа (AP) или клиент (CLIENT), используя распространенные списки слов или алгоритм генерации слабых паролей.
Поддержка хеш-режимов Hashcat: 4800, 5500, 2200x, 16100, 250x (устаревший) и 1680x (устаревший).
Поддержка хеш-режимов John the Ripper: WPAPSK-PMK, PBKDF2-HMAC-SHA1, chap, netntlm и tacacs-plus.
Поддержка сжатия отдельных файлов gzip (.gz).
Обзор хеш-режима Hashcat 22000. - (https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2)
Старая, но все еще актуальная статья от atom из форумов Hashcat, посвященная новой атаке на WPA/WPA2 с использованием PMKID. - (https://hashcat.net/forum/thread-7717.html)
Статья atom из форумов Hashcat о хеш-режиме Hashcat 22000. - (https://hashcat.net/forum/thread-10253.html)
Не поддерживается: ОС Windows, macOS, Android, эмуляторы или обертки!
Они не взламывают хеши, связанные с WPA PSK. (Используйте Hashcat или JtR для восстановления PSK.)
Они не взламывают WEP. (Вместо этого используйте набор инструментов aircrack-ng.)
Они не взламывают WPS. (Вместо этого используйте Reaver или Bully.)
Они не расшифровывают зашифрованный трафик. (Для этого используйте tshark или Wireshark.)
| Инструмент | Описание |
|---|---|
| hcxpcapngtool | Инструмент для конвертации необработанных файлов захвата в форматы, читаемые Hashcat и JtR. |
| hcxhashtool | Инструмент для фильтрации хешей из файлов HC22000 на основе пользовательского ввода. |
| hcxpmktool | Инструмент для вычисления и проверки PSK и/или PMK. |
| hcxpottool | Инструмент для обработки форматов ASCII и различных UTF форматов pot-файла Hashcat. |
| hcxpsktool | Инструмент для получения кандидатов слабых PSK из хеш-файлов или пользовательского ввода. |
| hcxeiutool | Инструмент для подготовки вывода -E -I -U hcxpcapngtool для использования с Hashcat + правило или JtR + правило. |
| hcxwltool | Инструмент для вычисления кандидатов для Hashcat и JtR на основе смешанных списков слов. |
| hcxhash2cap | Инструмент для конвертации хеш-файлов (PMKID&EAPOL, PMKID, EAPOL-hccapx, EAPOL-hccap, WPAPSK-john) в cap. |
| wlancap2wpasec | Инструмент для загрузки нескольких (сжатых gzip) файлов pcapng, pcap и cap на https://wpa-sec.stanev.org |
| whoismac | Инструмент для отображения информации о производителе и/или загрузки справочного списка OUI. |
hcxdumptool -> hcxpcapngtool -> hcxhashtool (дополнительно hcxpsktool/hcxeiutool) -> hashcat или JtR
В большинстве дистрибутивов hcxtools доступны через менеджер пакетов.
Если вы решите скомпилировать последнюю версию из git, убедитесь, что ваш дистрибутив обновлен до последней версии и что все файлы заголовков и зависимости установлены!
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make -j $(nproc)
Установка в /usr/bin:
make install (от суперпользователя)
Или установка в /usr/local/bin:
make install PREFIX=/usr/local (от суперпользователя)
Вы могли ожидать, что я порекомендую всем использовать hcxdumptool/hcxtools. Однако на самом деле hcxdumptool/hcxtools НЕ рекомендуется для неопытных пользователей или новичков. Если вы не знакомы с Linux в целом или не обладаете хотя бы базовым уровнем знаний, упомянутым в разделе «Требования», hcxdumptool/hcxtools, вероятно, не то, что вы ищете. Однако если у вас есть эти знания, эти инструменты могут творить чудеса.
Если вы решите скомпилировать последнюю версию из git, убедитесь, что ваш дистрибутив обновлен до последней версии!
| Скрипт | Описание |
|---|---|
| piwritecard | Пример скрипта для восстановления SD-карты |
| pireadcard | Пример скрипта для резервного копирования SD-карты |
| hcxgrep.py | Извлечение записей из файла хеш-строки m22000/hccapx/pmkid на основе регулярного выражения |
Большинство выходных файлов будут добавляться к существующим файлам (за исключением файлов pcapng, pcap, cap).
Рекомендуется использовать хеш-режим 22000 (22001) вместо устаревших хеш-режимов 2500 (2501) и 16800 (16801).
hcxtools разработаны как инструменты анализа. Это означает, что по умолчанию конвертируется всё, а ненужную информацию необходимо фильтровать!
Предупреждение: Не объединяйте дамп-файлы! Это НЕПРЕМЕННО уничтожит значения хешей, назначенные пользовательскими блоками!
Инструменты не выполняют КОРРЕКЦИЮ ОШИБОК NONCE! В случае потери пакетов вы получите неверный PTK.
Эта ветка довольно точно синхронизирована с репозиториями Hashcat и John the Ripper.
Каждый хеш EAPOL в строке хеша WPA*02* построен из двух рукопожатий.
Одно сообщение предоставляет кадр EAPOL (который содержит MIC для проверки и один nonce, уже встроенный на смещении байта 17). Другое сообщение предоставляет второй nonce, который отсутствует в кадре.
Вместе они дают Hashcat всё необходимое: ANonce + SNonce + MIC + кадр EAPOL.
Существует три независимых выбора при построении хеша из полного 4-стороннего рукопожатия:
Это дает 2 x 2 x 3 = 12 теоретических комбинаций.
Но кадр EAPOL уже содержит один nonce, встроенный на смещении байта 17 (SNonce в M2/M4, ANonce в M3). Hashcat извлекает его автоматически. Ему нужен только другой nonce, поставляемый извне. Поэтому реальная модель такова: 3 источника EAPOL x 2 источника внешнего nonce = 6 пар сообщений.
В рамках одной сессии рукопожатия M1 и M3 несут одно и то же значение ANonce, а M2 и M4 несут одно и то же значение SNonce. Замена того, из какого сообщения взят внешний nonce, не меняет сам nonce. Поэтому каждая пара пар сообщений, имеющих одинаковый источник EAPOL, порождает идентичный хеш. 6 пар сводятся к 3 уникальным хешам, одному на каждый источник EAPOL.
Строки сгруппированы по источнику EAPOL (Хеш 1/2/3). Пары внутри одной группы идентичны по раc cracкeру хешей.
| ID | Биты | Hex | Сообщения | EAPOL от | Внешний Nonce | Уникальный хеш | Статус |
|---|---|---|---|---|---|---|---|
| N1E2 | 000 | 0x00 | M1+M2 | M2 (MIC + SNonce) | M1 (ANonce) | Хеш 1 | challenge, по умолчанию |
| N3E2 | 010 | 0x02 | M2+M3 | M2 (MIC + SNonce) | M3 (ANonce) | Хеш 1 | authorized, по умолчанию |
| N2E3 | 011 | 0x03 | M2+M3 | M3 (MIC + ANonce) | M2 (SNonce) | Хеш 2 | authorized, --all |
| N4E3 | 100 | 0x04 | M3+M4 | M3 (MIC + ANonce) | M4 (SNonce) | Хеш 2 | authorized, --all (требуется non-zero M4 nonce) |
| N1E4 | 001 | 0x01 | M1+M4 | M4 (MIC + SNonce) | M1 (ANonce) | Хеш 3 | authorized, --all (требуется non-zero M4 nonce) |
| N3E4 | 101 | 0x05 | M3+M4 | M4 (MIC + SNonce) | M3 (ANonce) | Хеш 3 | authorized, --all (требуется non-zero M4 nonce) |
Столбец ID использует формат N{источник nonce}E{источник eapol}. Например, N1E2 означает, что внешний nonce поступает от M1, а кадр EAPOL — от M2.
"Challenge" означает, что потребовались только M1 и M2. Точка доступа еще не подтвердила правильность пароля (M3 не требовался). "Authorized" означает участие M3 или M4, которые существуют только после того, как обе стороны проверили MIC. Пароль был как отправлен, так и проверен.
Nonce ключа M4 должен быть 0 согласно IEEE 802.11i-2004 раздел 8.5.3.4. Большинство реализаций соответствуют спецификации и обнуляют его. Некоторые повторно используют SNonce из M2. Когда он обнулен, пары сообщений 0x01 и 0x05 не могут быть использованы, так как hashcat не может восстановить оба nonce. На практике большинство захватов дают только Хеш 1 и Хеш 2.
| Бит | Hex | Значение |
|---|---|---|
| 3 | 0x08 | Зарезервировано |
| 4 | 0x10 | Атака без точки доступа (коррекции ошибок nonce не требуются) |
| 5 | 0x20 | Обнаружен маршрутизатор LE (коррекции ошибок nonce необходимы только для LE) |
| 6 | 0x40 | Обнаружен маршрутизатор BE (коррекции ошибок nonce необходимы только для BE) |
| 7 | 0x80 | Счётчик воспроизведения не проверяется (коррекции ошибок nonce определенно необходимы) |
Вы могли бы ожидать, что я порекомендую каждому использовать hcxdumptool/hcxtools. Но дело в том, что hcxdumptool/hcxtools НЕ рекомендуется к использованию неопытными пользователями или новичками.
Если вы не знакомы с Linux в целом или не обладаете хотя бы базовым уровнем знаний, упомянутым в разделе "Требования", hcxdumptool/hcxtools, вероятно, не то, что вы ищете. Однако, если у вас есть эти знания, hcxdumptool/hcxtools сможет творить для вас волшебство.
Весь набор инструментов (hcxdumptool и hcxtools) разработан как аналитический набор инструментов.
https://pcapng.com/
https://www.kernel.org/doc/html/latest/
https://www.kernel.org/doc/html/latest/bpf/index.html
https://www.freecodecamp.org/news/the-linux-commands-handbook/
https://en.wikipedia.org/wiki/Wpa2
https://en.wikipedia.org/wiki/802.11_Frame_Types
https://en.wikipedia.org/wiki/IEEE_802.11i-2004