Как открыть файл hccapx
Этичный хакинг и тестирование на проникновение, информационная безопасность
Если вы взламываете пароль Wi-Fi в Hashcat, то вы знаете, что Hashcat не может работать напрямую с файлами сетевого захвата (.cap или .pcap), эти файлы нужно конвертировать в специальный формат Hashcat. Для конвертации в формат в формат .hccap обычно использовалась связка из программ wpaclean (для очистки лишних данных) и aircrack-ng (для самой конвертации). Но в новых версия Hashcat при попытке подобрать пароль к файлу .hccap нас встречает ошибка:
Начнём с небольшой предыстории. Обычно используемые для конвертации файлов рукопожатий в формат Hashcat программы aircrack-ng и cap2hcap не проверяют атрибут счетчика повторов, который используется для различения разных рукопожатий WPA для одной и той же точки доступа и станции. По крайней мере, они не делают это правильно. Результатом становится то, что может получиться .hccap файл, который выглядит корректным, но никогда не будет взломам, даже если в вашем словаре имеется верный пароль.
Особенно если вы запускаете атаку деаутентификации для ускорения процесса захвата рукопожатия, то возможен параллельный запуск нескольких одновременных WPA рукопожатий (и их захват) от одной и той же ТД и Станции. Каждое из них будет иметь различные nonce (случайные данные), которые являются частью расчёта, которые выполняет hashcat для верификации, является ли кандидат в пароли корректным или нет. Для осуществления успешной верификации важно использовать корректный nonce , а чтобы это было так, важно правильно проверить соответствие пакетов рукопожатия.
Поскольку этот тикет открыт 8 лет назад и последние изменения в cap2hccap делались 3 года назад, atom решил написать его собственный конвертер. В данный момент конвертер закончен и называется "cap2hccapx". Он добавлен в качестве нового инструмента в hashcat-utils.
cap2hccapx делает проверку, не было ли составлено рукопожатие из нескольких.
Для взлома пароля, как известно, применяется захваченное т.н. четырёхэтапное рукопожатие (хендшейк). Оно состоит из четырёх элементов. Но не все эти элементы являются обязательным для взлома пароля. Теперь hashcat умеет взламывать и неполные хендшейки (так называемые WPA2 Half Handshake).
Формат hccapx является новым. Конечно у вас в архивах много файлов .hccap. Но без сделанных изменений нельзя было быть уверенным даже в том, что конвертированные в хеш данные вообще поддаются взлому из-за отсутствующих проверок и неправильных алгоритмов сопоставления. По этой причине абсолютно не имеет смысла конвертировать из hccap в hccapx.
Если вы предпочитаете конвертировать файлы захвата (рукопожатия) в формат hashcat у себя на компьютере, то давайте познакомимся поближе с утилитой cap2hccapx. Как уже было сказано, она является частью пакета hashcat-utils.
Инструмент используется для генерации файлов .hccapx из файлов сетевого захвата (.cap или .pcap) для взлома WPA/WPA2 аутентификаций. Файлы .hccapx используются как ввод для типа хеша -m 2500 = WPA/WPA2.
Дополнительные опции позволяют вам указать имя сети (ESSID) для фильтрации нежелательных сетей и для предоставления cap2hccapx подсказки о имени сети (ESSID) и MAC адресе точки доступа (BSSID) если не было захвачено маячков (beacon).
В Kali Linux и в BlackArch hashcat-utils утилиты имеются в стандартных репозиториях и даже предустановлены в системы. Тем не менее, на момент написания там присутствуют старые версии, в которых программа cap2hccapx ещё не добавлена.
Пакет hashcat-utils является портативным и кроссплатформенным.
После скачивания достаточно распаковать архив и запускать требуемые файлы *.bin или .exe для Windows.
Либо установить из исходных кодов.
Если в файле захвата (сохранён с именем RT-726940.cap) содержится только одно рукопожатие и я хочу конвертировать его в формат hashcat для взлома Wi-Fi пароля в файл с именем output.RT-726940.hccapx, то моя команда выглядит:
Программа напишет что-то вроде:
Рассмотрим другой случай – когда в файле захвата (/home/mial/autopwner.cap) присутствует несколько рукопожатий
Можно увидеть, что имеется рукопожатия для точек доступа RT-714241 и для RT-727674.
Если меня интересует рукопожатие только для точки доступа RT-714241 и я хочу сохранить хеш для взлома пароля в файл output.RT-714241.hccapx, то моя команда будет выглядеть так:
Соответственно, если меня интересуют рукопожатия только для RT-727674, то команда превращается в:
Если мне нужны все хеши рукопожатий, то это можно сделать так:
Как в aircrack-ng конвертировать в формат Hashcat
aircrack-ng имеет две опции для конвертации в старый и новый формат Hashcat:
Команда для конвертации имеет вид:
Обратите внимание, что первым идёт имя хеша, в который будет сконвертирован хендшейк. Причём указывать расширение .hccapx не нужно — оно будет добавлено автоматически.
Следующая команда конвертирует захваченное рукопожатие RT-725140.pcap в носовую версию хеша для взлома в последних Hashcat и сохранит его в файл с именем RT-725140.hccapx:
Список инструментов для тестирования на проникновение и их описание
Описание hashcat-utils
Hashcat-utils — это набор маленьких утилит, которые полезны для продвинутого взлома паролей.
Они все упакованы во множество отдельных исполнимых файлов.
Каждая из этих утилит создана для выполнения только одной определённой функци.
Поскольку они все работают с STDIN (стандартным вводом) и STDOUT (стандартным выводом) вы можете группировать их в цепи.
Характеристика программ в hashcat-utils
cap2hccapx
Инструмент используется для генерации файлов .hccapx из файлов сетевого захвата (.cap или .pcap) для взлома WPA/WPA2 аутентификаций. Файлы .hccapx используются как ввод для типа хеша -m 2500 = WPA/WPA2.
Дополнительные опции позволяют вам указать имя сети (ESSID) для фильтрации нежелательных сетей и для предоставления cap2hccapx подсказки о имени сети (ESSID) и MAC адресе точки доступа (BSSID) если не было захвачено маячков (beacon).
cleanup-rules
Отделяет правила из STDIN (стандартного ввода), которые не совместимы со специфичной платформой.
… где mode это 1 = CPU, 2 = GPU.
combinator
Эта программа является самостоятельной реализацией Комбинаторной атаки.
Каждое слово из file2 добавляется к каждому слову из file1, а затем выводится в стандартный вывод.
Поскольку программе требуется перематывать файлы множество раз, нельзя воспользоваться стандартным вводом — требуются реальные файлы.
Другим вариантом могло бы быть сохранение содержимого обоих файлов в оперативной памяти. Поскольку при взломе хешей мы обычно работаем с огромными файлами, то результатом этого были бы соответствующие требования к оперативной памяти.
Дополнительные примеры смотрите в раздел Комбинаторная атака.
combinator3
Похожа на combinatory, но принимает на входе три файла, на выходе создаёт комбинации всех трёх списков.
combipow
Создаёт все “уникальные комбинации” из короткого списка ввода.
ct3_to_ntlm
Имеется две различных версии NetNTLMv1 – одна с ESS, а другая – без.
Если у вас нет ESS:
Вы можете использовать это примерно так:
Если у вас есть ESS:
Эта программа (она появилась в hashcat-utils-0.6) создана для обрезки словаря (читает из стандартного ввода) для использования в комбинаторной атаке. Предположим, что пароли в какой-то подборке имеют общий заполнитель длины в начале или конце слов. Эта программа отсечёт префикс или суффикс конкретной длины от существующих слов в списке и выдаст полученный результат в стандартный вывод.
Примерный файл словаря:
Пример положительного смещения и фиксированной длинный (первые 4 символа):
Пример положительного смещения без длины (возвращает оставшиеся символы в строке):
Пример отрицательного смещения (последние 4 символа в строке):
Пример отрицательного смещения, фиксированная длина:
Не забудьте запустить sort -u для вывода перед использованием его в атаке!
deskey_to_ntlm
Объявление на форуме и обсуждение здесь.
expander
У этой программы нет параметров для настройки.
Каждое слово, поступившее из стандартного ввода, парсится и разделяется на его отдельные символы, которые перемешиваются и объединяются для составления новых слов, выдаваемых в стандартный вывод.
Есть несколько реконструкций, которые генерируют все возможные шаблоны входного слова с применением следующие итерации:
- Все возможные длины паттернов внутри максимума из 7 символов (определяются в LEN_MAX, значение которой можно увеличить в исходном коде).
- Все возможные смещения слова.
- Перемещение слова вправо до полного цикла.
- Перемещение слова влево до полного цикла.
Важно: убедитесь, что вы уникализировали последующую выдачу.
Эта программа является сердцем Атаки по отпечаткам.
Каждый словарь, приходящий в стандартный ввод, парсится и расщепляется на равные секции, а затем выходит через стандартный вывод. Возможно разбитие на неравные части — в соответствии с переданными параметрами. Причиной расщепления может быть распределённое вычисление по полученным словарям.
Например, если у вас i7 CPU и вы хотите использовать ваш словарь с программой, которая не может использовать множество ядер, вы можете расщепить словарь на несколько меньших частей и затем запустить несколько экземпляров этой программы.
Здесь присутствуют два важный параметра “режим” и “сдвиг”.
- Значение «режим» - это число раз, на которое вы хотите расщепить ваш словарь.
- Значение «сдвиг» - это с какой позиции нужно начинать..
Вот пример словаря для ввода:
Мы хотим разделить словарь на два равных словаря:
generate-rules
Отдельная утилита для генерации случайных правил.
Эта команда сгенерирует 10 случайных правил, используя “42” в качестве seed:
hcstatgen
Инструмент используется для генерации файлов .hcstat которые используются в statsprocessor.
ПРИМЕЧАНИЕ. Вывод, сгенерированный hcstatgen, больше не поддерживается текущим hashcat и не поддерживает более длинные пароли (до длины 256). Вместо этого используйте hcstat2gen.
Особо здесь нечего добавить. Каждый выходной файл будет иметь размер ровно 32.1 мегабайт.
Также смотрите hcstat2gen.
hcstat2gen
Инструмент для создания пользовательской статистики Маркова для использования (после сжатия LZMA) с параметром hashcat --markov-hcstat (скоро будет --markov-hcstat2).
hcstat2gen похож на своего предшественника hcstatgen, но обновляется синхронно с hashcat 4.0 для поддержки максимальной длины пароля до 256 (а также добавлен заголовок типа файла).
Для экономии места hashcat теперь ожидает, что файлы hcstat2 будут сжаты как LZMA. Если файл не сжат, вы увидите ошибку «Не удалось распаковать данные».
Пример общего использования:
Если ваша lzma не поддерживает --stdout, попробуйте:
Каждый исходный файл должен быть размером около 132 МБ (с переменным размером после сжатия).
Обратите внимание, что этот новый формат ещё не поддерживается обработчиком статистики.
Смотрите также hcstatgen.
keyspace
Расчитывает пространство ключей в манере hashcat.
Каждое слово, входящее в стандартный ввод парсится по длине и проходит в стандартный вывод если оно соответствуют заданному диапазону длины слова.
Это пример входного словаря:
Мы хотим только те слова, которые имеют длину 2, 3 или 4:
Объединяет два списка.
Как и rli2, два списка должны быть отсортированы (в LC_ALL=C порядке).
Если вы используете mli2 на не рассортированных списках, вы получите несвязанные результаты.
Если вы используете mli2 на сортированных, но не уникализированных списках, вы получите отсортированные, но не уникализированные результаты.
morph
По сути morph генерирует правила вставки для самых частых цепей символов по позиции из файла словаря который вы указываете.
- Словарь = Используемый словарь для частотного анализа.
- Depth = Определяет «верхушку» цепи, которую вы хотите. Например, 10 даст вам верх 10 (фактически началом окажется величина 0, поэтому 10 даст верхушку 11.
- Width = Максимальная длина цепи. С 3, например, вы получите 3 правила на строку для самой длинной 3 буквенной цепи.
- pos_min = Минимальная позиция, где будет сгенерировано правило вставки. Например, 5 будет означать делать правило для вставки строки только с позиции 5 и выше.
-pos_max = Максимальная позиция, где будет сгенерировано правило вставки. Например, 10 будет означать, что будет сделано правило вставки строки так, что оно заканчивается в максимум 10 позиции.
permute
Эта программа является самостоятельной реализации Перестановочной атаки.
Она не имеет параметров для настройки.
Каждое слово поступающие в стандартный ввод парсится и пропускается через “The Countdown QuickPerm Algorithm” от Phillip Paul Fuchs.
permute_exist
prepare
Эта программа сделана оптимизатором словаря для Перестановочной атаки.
Из-за природы самого перестановочного алгоритма, слова на вводе “BCA” и “CAB” создадут в точности одинаковых кандидатов в пароли.
Лучший способ отсортировать «дубли» - реконструировать вводимое слово изменением порядка по ASCII значению каждого символа в слове:
Далее мы можем безопасно выполнить sort -u:
Отсортировано 4968640 слов (34.6%) которые воспроизвели бы дубли в Перестановочной атаке.
remaining
req был заменён на req-include и req-exclude, описанные ниже.
req-exclude
Как req-include, но исключает слова, соответствующие определенным критериям.
req-include
Каждое слово поступающее в стандартный ввод и выходит в стандартный вывод если соответствует групповому критерию пароля.
Иногда вы знаете, чтобы удовлетворить политике паролей некоторые пароли должны включать символы нижнего регистра, верхнего регистра и цифры.
Это означает проверку паролей, которые не соответствуют политике и определённо не принесут результата во взломе пароля. Поэтому их можно пропустить.
Программа не очень сложная, и она не может полностью соответствовать всем популярным критериям политике паролей, но она даёт немного помощи.
Определены следующие группы паролей:
Имя | Пункт | Символы |
---|---|---|
МАЛЕНЬКАЯ | 1 | abcdefghijklmnoprstuvwxyz |
БОЛЬШАЯ | 2 | ABCDEFGHIJKLMNOPRSTUVWXYZ |
ЦИФРА | 4 | 0123465789 |
ДРУГОЕ | 8 | Всё остальное, не соответствующее тому, что указано выше |
Для настройки группы паролей из одиночных записей, просто добавьте номера элементов всех отдельных записей вместе.
Например, если вы хотите чтобы в стандартный вывод проходили только слова, которые имеют одну маленькую букву и одну цифру, то просто найдите в таблице «МАЛЕНЬКАЯ», её значением является “1”, а затем «ЦИФРА», значение которой “4” и сложите их вместе — получится “5”.
rli сравнивает единичный файл с другим(и) файлом (файлами) и удаляет все дубли:
Допустим, у нас есть два файла w1.txt:
Если мы запустим следующую команду:
OUT_FiLE.txt будет иметь:
Также поддерживается множественность файлов: w3.txt имеет “password” в нём, мы запускаем:
rli может очень пригодиться для очистки ваших словарей и для уникализации их содержимого.
Но размер словаря не может превышать размер памяти вашей машины. Смотрите rli2 ниже для больших файлов.
В отличие от rli, rli2 не ограничена. Но для неё нужно, чтобы входящий файл и файл для удаления были уникализированы до использования с этой программой, в противном случае она не будет работать как доложна.
Например, используя файлы w1.txt and w2.txt files о которых мы говорили выше, если мы запустим:
На выходе мы получим:
Ни какой разницы. Но если мы отсортируем и уникализируем w1.txt и w2.txt так:
Мы сделаем это аккуратно:
Обратите внимание, что rli2 не может обрабатывать множество файлов. И если вы ещё не заметили, rli2 выводит в стандартный вывод, а не в файл. Вы всегда можете передать по трубе (|) выводимые данные или использовать перенаправление стандартного вывода (>) для сохранения в файл.
rules_optimize
seprule
splitlen
Эта программа создана быть оптимизатором словаря для oclHashcat.
oclHashcat имеет очень своеобразную манеру загрузки словарей, в отличие от hashcat. Лучший способ организовать ваши словари для использования с oclHashcat — это отсортировать каждое слово в вашем словаре по их длине в отдельные файлы, в отдельные директории и затем запустить oclHashcat в режиме директорий.
Всё, что вам нужно, это создать новый словарь, например, “ldicts”.
ПРИМЕЧАНИЕ: splitlen не добавляет и не перезаписывает файлы в выходной директории. Поэтому вы должны использовать пустые директории.
strip-bsn
Убирает все \0 байты из стандартного ввода.
strip-bsr
Убирает все \r байты из стандартного ввода.
tmesis
tmesis берёт словарь и производит правила вставки, который вставят каждое слово словаря в предустановленные позиции.
Слово ‘password’ создаст правила вставки, которые вставят ‘password’ с позиции 0 до позиции F (15) и они будут видоизменять строку ‘123456’ следующим образом.
tmesis-dynamic
tmesis-dynamic примет 2 списка слов и сделает новый, используя определённую пользователем подстановку в качестве «ключа».
Каждое слово словаря 1 которое соответствует определённой пользователем подстроки, заменяет эту подстроку на каждое слово списка слов 2.
Например, эти списки слов:
… создадут следующих кандидатов, когда указан ключ “jack”:
topmorph
Ограничения hashcat-utils
Все программы hashcat-utils разделяют одинаковый движок парсига слов в их входном коде. Этот движок имеет минимальный и максимальный диапазон позволенной длины слов (как в “len”, например).
Смотрите заголовок utils.c:
Вы можете изменить их и затем перекомпилировать hashcat-utils. Тем не менее, во взломе паролей нам обычно не требуются слова большей длины.
Примеры использования hashcat-utils
Конвертировать файл RT-WiFi_96.pcap с захваченным Wi-Fi рукопожатием в хеш для взлома в Hashcat и сохранить этот хеш в файле RT-WiFi_96.hccapx:
Конвертировать четырёх этапное рукопожатие из файла all.pcap для Wi-Fi сети RT-WiFi_96 в хеш для взлома пароля и сохранить его в файле RT-WiFi_96.hccapx:
Для двух сетей с именами RT-WiFi_96 и RT-WiFi_97 извлечь рукопожатия из файла all.pcap и сохранить хеши для взлома в файл 96_97.hccapx:
Обратите внимание, что если вы указываете несколько имён сетей для извлечения рукопожатий, то для второй нужно указывать её BSSID.
Установка hashcat-utils
Установка hashcat-utils в Kali Linux
Программа предустановлена в Kali Linux. Для установки в минимальные версии выполните команду:
Установка hashcat-utils в BlackArch
Программа предустановлена в BlackArch.
Установка hashcat-utils в Linux
После скачивания достаточно распаковать архив и запускать требуемые файлы *.bin.
Либо установить из исходных кодов.
Установка hashcat-utils в Windows
Откройте окно командной строки (Win+x и выберите там «Windows PowerShell»).
Перетащите нужный .exe файл в командную строку и нажмите ENTER.
Брутфорс, вероятно, является одним из самых известных методов получения нужного уровня доступа. Это способ, на который можно смело положиться, когда уже кажется, что больше ничего не сработает. К сожалению, большинству сетевых устройств и приложений не хватает «сил» для эффективного обнаружения и предотвращения атак-брутфорс. Этот подход, таким образом, становится по-настоящему эффективным нападением на систему. Далее пойдет речь о различных инструментах для перебора паролей Wi-Fi. Читателям будет продемонстрировано, насколько легко злоумышленник может получить пароль Wi-Fi и в чем заключается необходимость создания сложного пароля.
Механизм моделирования
Поскольку пользователь не хочет взламывать устройства несанкционированно, он создает свою собственную лабораторию. Под лабораторией подразумевается то, что человек будет использовать собственную точку доступа Wi-Fi, сохранит пароль, который он знает, «забудет» устройство и применит брутфорс (используя словарь), чтобы получить необходимую информацию.
Предустановки
Начальная настройка
Сначала следует установить пароль для точки доступа в этом меню. Допустим, это будет raj12345.
Теперь пользователь готов двигаться дальше. Поскольку пароль был изменен, он, очевидно, не подключен больше к данной точке доступа. Прежде чем продолжить, стоит перевести адаптер Wi-Fi в режим монитора.
Предполагая, что интерфейс Wi-Fi является Wlan0, пользователь вводит данную команду:
Сначала разберемся с данным экраном. В левом верхнем углу пользователь видит надпись CH 3. Это канал Wi-Fi.
Определение: можно определить канал Wi-Fi как путь, по которому пакеты данных отправляются на устройство и обратно к точке доступа.
Wi-Fi с частотой 2,4 ГГц использует 11 каналов, а Wi-Fi с частотой 5 ГГц – 45 каналов. Каждый канал отличается друг от друга: есть большие и маленькие. Стоит сказать, что обычно ширина канала составляет менее 100 МГц. Точка доступа Wi-Fi использует выбранный пользователем канал для передачи данных. Его параметры могут быть настроены вручную. Кроме того, адаптер Wi-Fi, как и FM-приемник, также настраивается на прослушивание выбранного канала при необходимости.
Аналогия: точно так же, как работают радиоканалы, адаптер Wi-Fi, доступный на канале 3 (допустим, его частота 60 МГц), не будет прослушивать то, что происходит на канале 6 (частота 100 МГц), пока пользователь не настроит его должным образом. Данный адаптер Wi-Fi может автоматически переключать канал прослушивания. Пользователь будет использовать команду «airodump-ng» для указания канала.
Теперь, когда у человека есть цель, он захватит «рукопожатие».
«Рукопожатие»: это механизм, с помощью которого точка доступа аутентифицирует клиента для подключения к ней и использования ее услуг. Важно отметить, что при рукопожатии pairwise master key (PMK) не передается, поэтому пользователь не может напрямую захватить его (это было бы серьезной уязвимостью). «Файл рукопожатия» содержит так называемую message integrity check (MIC), которая представляет собой комбинацию парольной фразы Wi-Fi, случайных чисел, SSID и некоторых других ключей.
Цель состоит в том, чтобы захватить «файл рукопожатия (.cap)», извлечь из него полезную информацию и применить брутфорс к MIC. Это поможет наконец захватить пароль. Поскольку MIC аналогичен хэшу в Wi-Fi, нужен словарь для вычисления хэшей и сравнения их со значением, указанным в захвате рукопожатия, для подтверждения правильности пароля.
Поскольку само «рукопожатие» происходит на канале, пользователь может использовать его, чтобы понять, как выглядит «файл рукопожатия». Но поскольку оно происходит только при аутентификации пользователя, приходится ждать, пока клиент сам подключится или отключит ее (что тоже бывает).
На приведенном выше скриншоте видно, что raaj работает на канале 3 с заданным идентификатором BSSID. Следует использовать команду «airodump» для захвата «файла рукопожатия».
- -c: канал
- -w: имя, которое будет иметь файл после его скачивания
Теперь, пока команда «airodump» будет ждать «рукопожатия», пользователь не может просто так сидеть. Он должен заставить другого пользователя пройти повторную аутентификацию, отключив ее. Это можно сделать с помощью команды «aireplay-ng» следующим образом:
И это, казалось, сработало как по волшебству: как можно увидеть, клиент прошел повторную аутентификацию. У пользователя есть «рукопожатие»! Файл сохранен под именем pwd-01.cap.
Aircrack-ng
Для комфорта пользователь переименует его в «handshake.cap» и запустит команду «aircrack-ng», используя словарь с миллионом наиболее распространенных паролей. Некоторые из них были добавлены на основе информации о цели. Следует назвать этот словарь dict.txt. Вместо миллионов паролей пользователь добавит только 5–10, потому что он уже знает его и хочет просто продемонстрировать атаку.
Как видно ниже, у пользователя есть пароль благодаря команде «aircrack».
Cowpatty
Работает как по маслу.
Hashcat
Для этого метода сначала нужно будет установить hashcat. Это отличный инструмент для взлома хэша. Его можно скачать здесь. В Kali Linux hashcat предварительно установлен с некоторыми утилитами. Пользователь будет использовать скрипт «cap2hccapx».
hccapx: это пользовательский формат, специально разработанный для hashcat для использования на WPA и WPA2.
cap2hccapx преобразует файл формата .cap в .hccapx. После этого hashcat сможет применить к нему атаку брутфорс.
Это можно сделать с помощью команды:
Сделано. Теперь нужно запустить hashcat, чтобы перебрать данный файл:
John The Ripper
То же самое можно сделать и с помощью John The Ripper. Просто нужно преобразовать файл в стандартный хэш для программы. Это можно сделать с помощью инструмента hcxpcapng, например.
Уникальные данные, которые можно найти здесь, — это содержимое файла захвата! Прекрасно, не правда ли? Пользователь применяет John The Ripper, чтобы взломать хэш:
Второй метод
Для всех профессионалов, которые преобразовали файл .cap в .hccapx, вот еще один способ. Пользователи могут использовать скрипт hccap2john, уже существующий на их Kali, чтобы преобразовать файл .hccap в хэш John!
И затем использовать программу, чтобы взломать его.
Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.
Текст статьи не является руководством к действию и публикуется для ознакомления с методами взлома и построения грамотной защиты. Напоминаем, что за преступления в сфере компьютерной информации предусмотрена ответственность по статье 274 УК РФ.
Разработчики Kali предупреждают , что в виртуальной машине не получится установить драйвера для Nvidia и соответственно мы не сможем проводить расчеты на ГП . Подтверждаю, у меня драйвера не установились. В таком случае лучше ставить Kali как вторую ОС. Расчет на ЦП в виртуальной машине работает нормально .
В статье представлены рецепты для Kali Linux 20.04 и Ubuntu 20.04. Если Kali не устраивает, у нее есть аналог – Parrot OS .
1. Установка Kali в VirtualBox
Устанавливаем последнюю версию VirtualBox и скачиваем Kali Linux VirtualBox 64-Bit (OVA) или 32-Bit. Запускаем VirtualBox и нажимаем на кнопку Импортировать .
Рис. 1. Установка Kali Linux в VirtualBox
Выбираем образ Kali Linux, назначаем количество ядер и ОЗУ для виртуальной машины и нажимаем на кнопку Импорт .
Рис. 2. Установка Kali Linux в VirtualBox
Запускаем Kali Linux и вводим логин kali и пароль kali .
Рис. 3. Ввод логина и пароля в Kali Linux
2. Установка aircrack-ng
Aircrack-ng – набор инструментов для мониторинга, пентестинга Wi-Fi сетей и взлома WEP, WPA 1 и 2. В Kali утилита aircrack-ng предустановлена. В Ubuntu выполним следующую команду:
3. Установка bettercap
Bettercap – программа для мониторинга и спуфинга . Установим bettercap из исходников. Введем в терминале следующие команды:
Перейдем в каталог с bettercap:
4. Мониторинг сети
Если к компьютеру подключен USB Wi-Fi адаптер, включим его следующим образом: Устройства → USB → MediaTek 802.11 n WLAN . Название Wi-Fi адаптера может отличаться.
Рис. 4. Включение беспроводного USB Wi-Fi адаптера в Kali Linux в VirtualBox Рис. 5. Wi-Fi адаптер из AliExpress за 150 руб., который использовался для мониторинга Wi-Fi
Узнаем имя Wi-Fi адаптера с помощью команды ifconfig или ip a .
Рис. 7. Запуск bettercap в Kali Linux
Начнем «слушать» Wi-Fi, введя в терминал wifi.recon on .
Рис. 8. Мониторинг Wi-Fi сетей с помощью bettercap в Kali Linux
Для просмотра списка обнаруженных сетей введем wifi.show .
Рис. 9. Просмотр обнаруженных W-Fi сетей с помощью bettercap в Kali Linux
5. Получение рукопожатий
Выберем цель – точка доступа NX531J . Попробуем получить рукопожатия (англ. handshake) между точкой доступа NX531J и подключенным к ней устройством. Ждем, когда клиент отключится и подключится снова, либо принудительно отключим его командой деаутентификации: wifi.deauth MAC-адрес точки доступа
MAC-адрес – уникальный идентификатор сетевого устройства. Его значение берем из столбца BSSID. В нашем случае: wifi.deauth 90:c7:aa:bb:cc:dd .
Повторяем эту команду, пока не перехватим рукопожатия.
wifi.deauth * и wifi.deauth all отключают все устройства на всех точках доступа.
Рис. 10. Перехват рукопожатий с помощью bettercap в Kali Linux
Четырехстороннее рукопожатие
Четырехстороннее рукопожатие (англ. four-way handshake) – механизм создания парного переходного ключа PTK для защиты трафика.
- временный ключ TK;
- ключ подтверждения ключа EAPOL;
- ключ шифрования EAPOL-key.
Самое важное рукопожатие – второе . В дополнение к нему необходимо первое и/или третье рукопожатие. Лучший минимальный вариант – второе и третье рукопожатия.
Рис. 11. Схема четырехстороннего рукопожатия точки доступа (AP) и клиента (STA)
Файл с рукопожатиями сохраняется в /root/bettercap-wifi-handshakes.pcap . Скопируем его в домашнюю директорию:
6. Выбор нужных рукопожатий
Чтобы выбрать интересующие нас рукопожатия и экспортировать их в отдельный файл, нам понадобится программа для анализа сетевых протоколов WireShark .
В Ubuntu установим WireShark:
Введем в терминале команду wireshark . Откроется программа с графическим интерфейсом. Нажмем Сtrl+O и откроем файл с рукопожатиями bettercap-wifi-handshakes.pcap
Отфильтруем данные по мак-адресу wlan.addr==90:c7:aa:bb:cc:dd и отсортируем по времени, кликнув по столбцу Time . Также можно отсортировать по номеру No. . Значения ANonce и SNonce меняются каждую сессию, поэтому выбираем рукопожатия, разделенные небольшим временным промежутком (десятки миллисекунд). Рукопожатия из разных сессий для взлома непригодны.
Рис. 12. Просмотр рукопожатий в программе WireShark
Как видно, мы получили первое, второе и третье рукопожатия. Выделим все рукопожатия EAPOL, файл с именем сети SSID (в нашем случае это Association Request) и нажмем File → Export Specified Packets .
Рис. 13. Экспорт рукопожатий в программе WireShark
Откроется диалоговое окно, в котором выберем Selected packets only и сохраним файл под названием hs.pcap .
Рис. 14. Сохранение рукопожатий в программе WireShark
7. Получаем пароль
Для начала, конвертируем файл hs.pcap в файл hs.hccapx (в команде новый файл пишется без расширения, только название):
Это нужно, чтобы программа по расшифровке хеша hashcat смогла прочесть файл. Она подбирает пароли с помощью ЦП и/или ГП.
Рис. 15. Конвертация из .pcap в .hccapx утилитой hashcat
8. Подбор по словарю
В Ubuntu установим hashcat командой:
Словарь – txt-файл с одним словом в каждой строке (рис. 16) Создадим или скачаем словарь (см. доп. материалы) и поместим его в /home/kali , либо /home/USERNAME для Ubuntu.
Рис. 16. Пример словаря для атаки по словарю
Пароль от моей точки доступа: qwerty12 . Он присутствует в словаре для подбора пароля.
Чтобы начать перебор по словарю введем команду:
Расшифруем значения опций:
--force – скрыть ошибки.
-m2500 – тип взламываемого хеша WPA-EAPOL-PBKDF2.
-a0 – атака по словарю. Можно без этого флага, так как он работает по умолчанию.
/home/kali/hs.hccapx – файл хеша.
В случае успеха статус взлома примет значение Cracked и мы получим пароль (рис. 17).
Рис. 17. Успешный взлом пароля атакой по словарю утилитой hashcat
9. Брутфорс и атака по маске
При брутфорсе (англ. brute force) перебираются все возможные символы. Используя маски, мы сужаем диапазон подбираемых символов, например, только числа или только числа и строчные символы. Таким образом на перебор требуется меньше времени. Этот подход удобен, если мы примерно знаем, как человек придумывает пароли. Из атаки по маске можно сделать брутфорс, включив в перебор все символы.
Для атаки по маске введем следующую команду:
Значения опций:
-m2500 – тип взламываемого хеша, WPA-EAPOL-PBKDF2.
-a3 – атака по маске.
-1?l – маска по прописным латинскими буквам (прописная буква L ).
-2?d – маска по цифрам.
hs.hccapx – файл хеша.
?1werty?2?2 – предполагаемый пароль с неизвестными символами. В данном случае задача упрощена для экономии времени.
Рис. 18. Успешный взлом пароля атакой по маске утилитой hashcat
Команда для расчета через видеокарту:
Здесь -D2 – устройство для расчета, ГП.
Номер | Устройство |
1 | ЦП |
2 | ГП |
3 | FPGA, DSP, Co-Processor |
10. Комбинаторная атака
В комбинаторной атаке используются два словаря. Слова из двух словарей конкатенируются. Если словари содержат следующие слова:
то после их соединения получим такой словарь:
Запустим комбинаторную атаку:
/home/kali/dic1.txt – первый словарь.
/home/kali/dic2.txt – второй словарь.
Рис. 19. Успешный взлом пароля комбинаторной атакой утилитой hashcat
11. Куда сохраняется пароль
После удачной расшифровки пароль выводится на экран и записывается в файл
Откроем его в текстовом редакторе, чтобы посмотреть результат:
12. Онлайн-сервисы по расшифровке хеша
Платформа passcrack.online получила пароль за 5 минут (рис. 21). С отправки в онлайн-сервисы лучше начинать расшифровку, так как вычислительных ресурсов у них больше, чем у домашнего компьютера.
Рис. 21. Результаты взлома пароля с помощью сервиса passcrack.online
13. Разница между WPA2 и WPA3
В июле 2018 года Wi-Fi Alliance выпустил протокол беспроводной безопасности WPA3. Посмотрим, чем он отличается от своего предшественника.
- уязвим к взлому через WPS;
- возможен перехват рукопожатий и получение пароля с помощью брутфорса;
Преимущества WPA3 в сравнении с WPA2:
- устранена уязвимость четырехстороннего рукопожатия за счет применения технологии SAE (Simultaneous Authentication of Equals), которая защищает от офлайн атак по словарю.
- поддержка PMF (Protected Management Frames) для контроля целостности трафика;
- шифрование 192 бит в режиме WPA3-Enterprise и 128 бит в WPA3-Personal;
- упрощенная настройка IoT-устройств.
Общее уязвимое место у WPA 2 и 3 – WPS (Wi-Fi Protected Setup).
14. Дополнительные материалы
Файл .hccapx для практики
На сайте hashecat доступен для скачивания файл .hccapx , на котором можно попрактиковаться в расшифровке. Зашифрованный пароль: hashcat! .
Онлайн-конвертер .pcap в .hccapx
Словари
Онлайн-платформы для расшифровки хеша
Бесплатные
-
– принимает файлы .cap и .hccapx; – принимает только файлы .hccapx размером не более 5Кб. Ссылка на страницу загрузки файла для расшифровки придет в письме после регистрации; – бесплатно, если пароль простой «12345678» или он есть в словаре из 20 млн слов. В ином случае используется брутфорс на ГП 9$/час. – распределенная система; – распределенная система;
Платные
-
– в случае успеха нужно заплатить 0.001BTC; – 100 руб. за пароль.
Чем открыть большой текстовой файл
Бесплатные программы для чтения и редактирования больших txt-файлов.
Чтение
Редактирование
-
(Windows, macOS, Linux); (Windows, macOS, Linux); (Windows); (Windows); (Windows);
Полезные ссылки
-
– Awesome-список по взлому/безопасности Wi-Fi. – еще один Awesome-список по Wi-Fi;
Законодательство
- Статья 274 УК РФ о преступлениях в сфере компьютерной информации.
Саундтреки из сериала «Мистер Робот»
Мы научились мониторить Wi-Fi сети, проводить деаутентификацию подключенных к точке доступа устройств, перехватывать рукопожатия, получать пароли методом подбора по словарю и брутфорсом. Также узнали разницу между WPA2 и WPA3, и определили их общее уязвимое место.
Несколько рекомендаций, повышающих информационную безопасность:
- использовать сложный пароль и периодически менять его;
- отключить функцию WPS в роутере;
- регулярно обновлять прошивку роутера;
- использовать VPN (виртуальная частная сеть): OpenVPN, WireGuard и прочие.
Источники
[1] Самль, С. Д., Роуминг в защищенных беспроводных сетях с использованием IEEE 802.11i. «Научно-практический электронный журнал Аллея Науки» №6(22) 2018.
[2] Кухта А. И., Анализ методов защиты беспроводной сети Wi-Fi. «Молодой исследователь Дона» №2(23) 2020.
Читайте также: