
Небольшой набор инструментов для преобразования пакетов из файлов захвата в хеш-файлы для использования с Hashcat или John the Ripper.
Небольшой набор инструментов для преобразования пакетов из файлов захвата в хэш-файлы, пригодные для использования с Hashcat или John the Ripper.
Эти инструменты на 100% совместимы с Hashcat и John the Ripper и одобрены сообществом Hashcat.
Основная цель hcxtools — выявлять слабые места в собственной Wi-Fi сети путём анализа хэшей. Таким образом, преобразование файла дампа в файл хэша WPA-PBKDF2-PMKID+EAPOL позволяет пользователю проверить, передавался ли WLAN-KEY или PMK в незашифрованном виде. Либо загрузить «неочищенный» файл дампа (pcapng, pcap, cap) сюда, чтобы узнать, уязвима ли ваша точка доступа или КЛИЕНТ, с помощью распространённых словарей или слабого алгоритма генерации паролей.
Поддержка режимов хэширования Hashcat: 4800, 5500, 2200x, 16100, 250x (устаревшие) и 1680x (устаревшие).
Поддержка режимов хэширования John the Ripper: WPAPSK-PMK, PBKDF2-HMAC-SHA1, chap, netntlm и tacacs-plus.
Поддержка сжатия gzip (.gz) для одиночных файлов.
Обзор режима 22000 Hashcat. — (https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2)
Старый, но всё ещё актуальный пост atom с форумов Hashcat, описывающий новую атаку на WPA/WPA2 с использованием PMKID. — (https://hashcat.net/forum/thread-7717.html)
Пост atom с форумов Hashcat о режиме 22000. — (https://hashcat.net/forum/thread-10253.html)
Не поддерживается: Windows OS, macOS, Android, эмуляторы или оболочки!
Они не взламывают хэши WPA PSK. (Для восстановления PSK используйте Hashcat или JtR.)
Они не взламывают WEP. (Вместо этого используйте набор aircrack-ng.)
Они не взламывают WPS. (Вместо этого используйте Reaver или Bully.)
Они не расшифровывают зашифрованный трафик. (Для этого используйте tshark или Wireshark.)
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). Пары внутри одной группы дают идентичные взламываемые хэши.
Столбец ID использует формат N{источник nonce}E{источник eapol}. Например, N1E2 означает, что внешний nonce поступает из M1, а кадр EAPOL — из M2.
«Вызов» означает, что потребовались только M1 и M2. Точка доступа ещё не подтвердила, что пароль был верен (M3 не требовался). «Авторизован» означает, что были задействованы M3 или M4, которые существуют только после того, как обе стороны проверили MIC. Пароль был как отправлен, так и проверен.
Ключевой nonce M4 должен быть равен 0 в соответствии с IEEE 802.11i-2004, раздел 8.5.3.4. Большинство реализаций соответствуют спецификации и обнуляют его. Некоторые повторно используют SNonce из M2. При обнулении пары сообщений 0x01 и 0x05 непригодны, так как hashcat не может восстановить оба nonce. На практике большинство захватов дают только Хэш 1 и Хэш 2.
Вы, возможно, ожидаете, что я порекомендую всем использовать hcxdumptool/hcxtools. Однако дело в том, что hcxdumptool/hcxtools НЕ рекомендуется использовать неопытным пользователям или новичкам.
Если вы не знакомы с Linux в целом или не обладаете хотя бы базовым уровнем знаний, упомянутым в разделе «Требования», hcxdumptool/hcxtools, вероятно, не то, что вы ищете. Тем не менее, если у вас есть эти знания, hcxdumptool/hcxtools могут творить для вас чудеса.
Весь набор инструментов (hcxdumptool и hcxtools) разработан как аналитический набор.
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
| Инструмент | Описание |
|---|
| 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. |
| ID | Биты | Hex | Сообщения | EAPOL от | Внешний Nonce | Уникальный хэш | Статус |
|---|
| N1E2 | 000 | 0x00 | M1+M2 | M2 (MIC + SNonce) | M1 (ANonce) | Хэш 1 | вызов, по умолчанию |
| N3E2 | 010 | 0x02 | M2+M3 | M2 (MIC + SNonce) | M3 (ANonce) | Хэш 1 | авторизован, по умолчанию |
| N2E3 | 011 | 0x03 | M2+M3 | M3 (MIC + ANonce) | M2 (SNonce) | Хэш 2 | авторизован, --all |
| N4E3 | 100 | 0x04 | M3+M4 | M3 (MIC + ANonce) | M4 (SNonce) | Хэш 2 | авторизован, --all (требуется ненулевой nonce M4) |
| N1E4 | 001 | 0x01 | M1+M4 | M4 (MIC + SNonce) | M1 (ANonce) | Хэш 3 | авторизован, --all (требуется ненулевой nonce M4) |
| N3E4 | 101 | 0x05 | M3+M4 | M4 (MIC + SNonce) | M3 (ANonce) | Хэш 3 | авторизован, --all (требуется ненулевой nonce M4) |
| Бит | Hex | Значение |
|---|
| 3 | 0x08 | Зарезервировано |
| 4 | 0x10 | Атака без точки доступа (исправления ошибок nonce не нужны) |
| 5 | 0x20 | Обнаружен маршрутизатор LE (исправления ошибок nonce нужны только для LE) |
| 6 | 0x40 | Обнаружен маршрутизатор BE (исправления ошибок nonce нужны только для BE) |
| 7 | 0x80 | Счётчик повторений не проверен (исправления ошибок nonce определённо нужны) |