- [OS X] Диагностика Wi-Fi — скрытая утилита в Mavericks
- «Информация»
- «Cканирование Wi-Fi-сетей»
- «Производительность»
- Лонгриды для вас
- Похек Wi-Fi встроенными средствами macOS
- Разведка с помощью WiFi Explorer
- Самые удобные функции для меня:
- Мониторный режим
- Airtool — удобный способ управлять мониторным режимом
- Расшифровка WPA-трафика в реальном времени
- Bettercap — удобный перехват WPA-хендшейков и PMKID
- Получение PMKID
- Брутим пойманные хеши
- Onlinehashcrack.com
- Gpuhash.me
- Брут на своих мощностях
- Брут с помощью hashcat
- Формат 22000
- Видео
[OS X] Диагностика Wi-Fi — скрытая утилита в Mavericks
Изложенная ниже информация предназначается владельцам новых MacBook Air и Pro — тем, кто совершенно вероломным образом лишён выбора способа подключения к интернет. Также будет полезно прочитать всем интересующимся состоянием подключённого к Сети через Wi-Fi компьютера Mac.
На самом деле выбор есть: отсутствие разъёма LAN с лихвой компенсируется возможностью приобрести пару адаптеров на выбор. Это может быть уже устаревший «переходничок» Apple USB Ethernet или полноценный гигабитный адаптер Thunderbolt — Gigabit Ethernet, они есть в свободной продаже, каждый стоит меньше полутора тысяч рублей. Но всё же провода — это прошлый век: неудобно лежать на диване и всё в таком духе. Иногда просто нет выбора и использовать такие способы подключения приходится, но я ни разу в реальной ситуации не сталкивался с таким.
Вернёмся к предмету нашего разговора — утилите диагностики Wi-Fi в Mavericks. Немногие знают о том, что она существует, и с удовольствием пользуются приложениями от сторонних разработчиков — к примеру, iStumbler, Wi-Fi Explorer и подобными. Я не сторонник использования приложений, тем или иным образом копирующих возможности предустановленных программ, просто не вижу в этом смысла, поэтому стараюсь обходиться тем, что есть «в комплекте». Любителям сторонних программ могу посоветовать посмотреть в сторону программы iNet, есть десктопная и мобильная версии, невероятное количество полезных функций и удобств, но об этом в другой раз.
Так вот. Утилита диагностики Wi-Fi в Mavericks переехала, по обычному адресу /System/Library/CoreServices её не найти. Новый адрес выглядит так: /System/Library/CoreServices/Applications . Можно открыть Finder, нажать комбинацию клавиш Command+Shift+G, скопировать новый путь и вставить в окно перехода. Нажав Enter, вы попадёте прямиком в то место, где находится Утилита диагностики Wi-Fi, что делать дальше — думаю, знаете.
Есть и второй, более простой способ добраться до объекта нашего разговора. Требуется всего лишь кликнуть с зажатой клавишей Alt на значке Wi-Fi в меню-баре, выбрать пункт «Wireless Diagnostics», потом вызвать окно Утилиты диагностики Wi-Fi клавиатурным заклинанием Command+2. Кстати, базовые параметры текущего подключения Wi-Fi, такие как: номер канала, его частота, протокол безопасности, скорость подключения и другие видно в выпадающем окне при нажатии на значок Wi-Fi c клавишей Alt.
Ради чего всё затевалось. Возможностей встроенной Утилиты диагностики Wi-Fi вполне достаточно для того, чтобы получить исчерпывающую информацию о сети, типу и параметрах подключения, всё это предоставляется в окне с пятью вкладками: «Информация», «Захват фреймов», «Регистрация», «Cканирование Wi-Fi-сетей» и «Производительность». Более всего полезны и интересны для нас три из них.
«Информация»
Быстрый доступ к полезной информации о состоянии беспроводной сети Wi-Fi и проводной сети для текущих соединений в окне информации:
Среда беспроводной сети
«Cканирование Wi-Fi-сетей»
Сканирование беспроводных сетей Wi-Fi проверяет сеть и сообщает о найденных маршрутизаторах Wi-Fi. Оно включает информацию об имени сети, типе паролей, протоколе, мощности сигнала, помехах, а также канале, полосе пропускания и стране, для которой был произведен данный маршрутизатор. Практическая польза такого решения неоценима: на основании данных можно выбрать наименее загруженный канал для своего роутера, в современных многоэтажках это особенно актуально. Если есть свободное «окно» в списке каналов, то стоит выбирать не соседний номер канала, а хотя бы через один. Например, заняты 6-й и 10-й, вам стоит выбирать 8-й. Только не забудьте нажать на кнопочку «Искать»!
«Производительность»
Окно производительности содержит информацию о существующем соединении, а также два графика сигналов, отображающиеся в реальном времени.
График SNR сравнивает уровень помех и мощность передачи сигнала, где график сигнала (дБм) делит их на две части. Большие значения предпочтительны. По мере удаления от маршрутизатора Wi-Fi значения становятся меньше и прием ухудшается, пока полностью не исчезнет. Это также может произойти, если сигнал между компьютером Mac и маршрутизатором блокируется какими-то материалами, например стенами, покрытыми кафельной плиткой, сталью и т. п.
Сигнал (дБм). Мощность сигнала (RSSI) выше, если значение сигнала на входе меньше, поэтому -30 лучше, чем -55. Помехи оцениваются наоборот. Меньшее количество помех лучше для сигнала, поэтому -80 лучше, чем -90. Чем больше помех (синяя линия), тем хуже качество сигнала. Чем больше разница между RSSI и помехами, тем лучше.
В общем-то такого набора данных вполне достаточно, чтобы произвести технически точную диагностику и настройку вашего соединения Wi-Fi, оценить преимущества и недостатки текущего расположения и настроек роутера. Встроенная в Mavericks Утилита диагностики Wi-Fi — мощный и самодостаточный инструмент, в то же время понятный и незаменимый помощник в настройке подключения вашего Mac по беспроводному протоколу передачи данных.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Лонгриды для вас
Официального способа перенести чаты WhatsApp между iOS и Android нет, но мы нашли, как это сделать. Специальное приложение перенесет все чаты, фото и вложенные файлы всего за несколько минут!
Если вам нужно сменить страну (регион) в учетной записи Apple ID, сначала почитайте эту статью. Рассказываем, как правильно это сделать, чтобы не потерять приложения, музыку и другие данные.
Видели ли вы чехол для AirPods в виде наггетса? А дробовика? Мы хорошенько поискали и нашли такие чехлы, от которых даже любители оригинальных вещей будут в шоке. А главное — их заказывают!
Источник
Похек Wi-Fi встроенными средствами macOS
TL;DR Встроенные средства macOS позволяют выполнить некоторые атаки на Wi-Fi-сети. В статье описывается, как с помощью встроенного в Macbook Wi-Fi адаптера AirPort и macOS похекать Wi-Fi.
Обычно для аудита безопасности Wi-Fi-сетей используется классическая связка: виртуалка с Kali Linux + внешний USB адаптер типа Alfa AWU-blabla1337. Но оказывается, что с помощью macOS и встроенного адаптера Broadcom тоже можно делать грязь.
- Мониторный режим на встроенном адаптере
- Расшифровываем WPA трафик
- Ловим хендшейки и PMKID
- Собираем под макось пацанские тулзы: hcxtools, hashcat, bettercap
- Брутим хеши на онлайн-фермах и локально
Разведка с помощью WiFi Explorer
WiFi Explorer — невероятно удобная программа для анализа Wi-Fi-сетей. Сильно лучше аналогов для других операционных систем. Она постоянно развивается, есть платная версия с возможностью мониторинга через удаленный адаптер, как у kismet. Но, в отличие от kismet, ею удобно пользоваться, и она сделана для людей, а не для красноглазых свиборгов.
WiFi Explorer не имеет никаких опций для пентеста, а предназначен только для первичной разведки. Важно также помнить, что он умеет только активное сканирование, то есть показывает в своем списке сети, до которых смог докричаться (probe request), и от которых получил ответ (probe response). Если бы он поддерживал пассивное сканирование, мы бы смогли увидеть больше сетей, от которых долетают пакеты, но при этом они не слышат нас.
Самые удобные функции для меня:
Визуальный анализатор спектра — удобно смотреть, какие каналы заняты во всех диапазонах сразу. Видно занимаемую полосу у каждой точки (20/40/80MHz). Высота столбцов означает уровень сигнала. Можно по одному беглому взгляду оценить радиообстановку и решить, как лучше настраивать сеть и куда встать на свободные каналы.
Подробная информация по каждой точке доступа
- BSSID — MAC-адрес точки доступа. Удобно видеть все точки доступа, когда их несколько с одинаковым ESSID. По первым трем байтам вычисляется производитель из базы oui.
- ESSID — имя Wi-Fi-сети. Также удобно видеть, когда точки доступа с одним BSSID вещают несколько разных имен. Можно отсортировать список по имени сети и увидеть, сколько физических точек доступа обслуживают сеть с одним именем.
- WPS — поддержка WiFi Protected Setup, удобно оценить, какие сети с бОльшей вероятностью получится взломать. В линуксе для этого существует утилита wash, которая показывает больше информации про состояние WPS.
- Device Name — дополнительное поле в beacon-фреймах, в котором содержится имя устройства. В этом поле иногда бывают интересные данные, вроде типа устройства, например: ТВ-Приставка, медиа-конвертер, или серийный номер роутера. Иногда эта информация может быть полезна.
- Частоты, номер канала, ширина канала — удобно для настройки сложных систем с десятками точек доступа, и в случаях, когда нужно вручную указывать частоту, как в оборудовании Mikrotik.
Мониторный режим
Мониторный режим — особый режим работы Wi-Fi-адаптера, в котором он захватывает все пакеты из эфира, а не только те, которые предназначены ему. Этот режим необходим для того, чтобы захватывать обмен между другими устройствами.
В macOS есть штатные средства для включения мониторного режима. Это можно сделать с помощью утилиты диагностики проблем Wi-Fi или с помощью консольной утилиты airport. Когда-то давно я сделал простой скрипт airport-sniffer, который активировал мониторный режим и запись перехваченного трафика в файл, и одновременно с этим парсил файл на предмет заданного регулярного выражения. Таким образом было удобно выдергивать из трафика нешифрованные cookie.
По умолчанию утилита airport спрятана глубоко в системных папках, но для удобства можно сделать символическую ссылку, чтобы она была доступна просто по одноименной команде
Теперь можно просто вызывать команду airport без указания полного пути.
Утилита умеет много всего, но нас интересуют команды:
Мой скрипт airport-sniffer как раз использует вызов команды airport sniff и ищет файлы дампов в /tmp/. В момент, когда мониторный режим активирован, значок Wi-Fi меняется на глаз.
Важно: в версии macOS 10.14 Mojave функция sniff в утилите airport сломана, и программа ломается с Segmentation Fault. В актуальной версии macOS Catalina и в более старых версиях эта проблема исправлена. При этом утилита Airtool.app работает без проблем везде.
Airtool — удобный способ управлять мониторным режимом
Как мы уже выяснили, использовать мониторный режим и захватывать трафик в macOS можно вообще без установки сторонних программ. Утилита Airtool делает эту задачу сильно удобнее. Она имеет графический интерфейс, позволяет перенаправлять захваченный трафик сразу в Wireshark и позволяет управлять форматом перехватываемых заголовков radiotap. Для случаев, когда нужно анализировать только служебные заголовки Wi-Fi пакетов, она позволяет отбрасывать часть пакетов, содержащих payload с данными для экономии места. По умолчанию захват пакетов происходит в режиме channel hopping, когда Wi-Fi-адаптер прыгает по всем каналам. Для целевой атаки нам потребуется захватывать трафик только на одном канале, на котором работает наша атакуемая сеть. Номер текущего канала и ширина, на котором работает адаптер, показаны на значке программы.
Интерфейс программы Airtool
Сети Wi-Fi работают на разных частотах (каналах), и сетевой адаптер может одновременно работать только на одном канале. Поэтому в режиме channel hopping он будет «слышать» данные только на канале, на котором находится в данный момент, и пропускать данные на других каналах в этот момент времени.
По-умолчанию программа Airtool записывает перехваченный трафик в файл на рабочем столе. Но чтобы работать с дампом нужно сперва остановить захват трафика, так как в момент записи он пустой. Мне намного удобнее видеть перехваченные пакеты в реальном времени в Wireshark. Поэтому я рекомендую установить Wireshark и указать в настройках Airtool галочку Launch capture in: Wireshark. Тогда при запуске захвата в Airtool будет сразу запускаться Wireshark.
Airtool умеет перенаправлять захватываемый трафик в Wireshark в реальном времени
Теперь при нажатии Capture будет создаваться пайп, через который захватываемый трафик будет в реальном времени отображаться в Wireshark.
Расшифровка WPA-трафика в реальном времени
Мы научились захватывать трафик в мониторном режиме, теперь попробуем выполнить самую простую атаку: перехватить момент авторизации клиента на точке доступа (WPA-хендшейк) и расшифровать WPA-трафик. Эта атака предполагает, что вы уже знаете пароль от Wi-Fi-сети и ваша задача подслушать трафик соседа, подключенного к той же сети.
Представим, что мы хотим перехватить беспроводной трафик от ноутбука коллеги, чтобы посмотреть на какие сайты он заходит, при этом наша офисная сеть имеет WPA-шифрование и закрыта паролем (PSK). Мы пользуемся одной и той же Wi-Fi-сетью и оба знаем от нее пароль.
В условиях задачи предполагается, что наша офисная сеть имеет всего одну точку доступа и один канал в одном диапазоне. В реальности сеть может состоять из множества точек доступа, настроенных на разные каналы и диапазоны 2.4GHz и 5GHz. В этом случае сложно предсказать заранее, на каком канале ждать жертву, чтобы перехватить нужные данные.
В моем примере жертва будет подключаться к сети «OLOLOL_OAOOAOAOAOOA». Эта сеть состоит из одной точки доступа, работающей в одном диапазоне 2.4GHz на канале 1.
Настраиваем Airtool на этот канал и включаем захват трафика. Так как на первом канале работают и другие сети, в Wireshark мы увидим много постороннего трафика от других сетей, также адаптер может захватывать пакеты с соседних каналов. Для того чтобы отфильтровать ненужный трафик, в Wireshark есть фильтры отображения (Display filter), укажем там MAC-адрес (BSSID) нашей точки доступа, чтобы видеть только пакеты, имеющие отношение к этой сети.
Wireshark отображает все перехваченные пакеты на заданном канале. С помощью фильтров можно убрать мусорный трафик.
Теперь мы видим только пакеты, имеющие в заголовках этот адрес. Тут будут все пакеты от точки доступа к клиентам, и от клиентов к точке доступа. Для того, чтобы иметь возможность расшифровать WPA-трафик жертвы, нам нужно поймать момент его авторизации на точке доступа, чтобы перехватить временные ключи, которыми будет шифроваться трафик. Эти ключи содержатся в четырех пакетах, называемых EAPOL WPA-handshake, или просто WPA-хендшейк. Если клиент уже подключен к точке, мы не сможем расшифровать трафик только зная пароль от сети, так как каждый клиент согласовывает с точкой доступа временные ключи, которые потом используются для шифрования трафика.
Значит мы должны начать слушать эфир еще до того момента как наш коллега открыл ноутбук и подключился к сети. Предположим, что мы знаем MAC-адрес Wi-Fi-карточки в ноутбуке жертвы. Мы можем установить фильтры в Wireshark таким образом, чтобы увидеть, когда именно будет перехвачен трафик от жертвы. Для этого устанавливаем такой фильтр:
e4:8d:8c:d9:07:8c — адрес точки доступа
00:cd:fe:10:55:8a — адрес клиента
Этот фильтр будет показывать только пакеты, в которых одновременно есть и тот, и другой адрес, то есть либо от жертвы к точке доступа, либо наоборот. В момент подключения жертвы к точке доступа будут видны EAPOL пакеты, содержащие обмен ключами — WPA-хендшейк.
Перехваченный WPA-хендшейк в момент авторизации жертвы на точке доступа.
Wireshark достаточно умный и умеет автоматически расшифровывать трафик, используя временные ключи из EAPOL хендшейка. Для этого ему нужно указать пароль от Wi-Fi-сети в меню
Preferences —> Protocol —> IEEE 802.11 —> Decryption keys
Нужно добавить новый ключ типа wpa-pwd, что значит wpa password, и указать пароль и имя сети в формате пароль: имя_сети.
В моем случае пароль от сети WhySoOpen, а имя сети OLOLOL_OAOOAOAOAOOA.
Wireshark автоматически расшифровывает трафик, если знает пароль от сети
Можно указать сразу несколько паролей от разных сетей, и Wireshark сам поймет и расшифрует трафик от всех сетей в одном дампе одновременно. Важно только помнить, что расшифровать он может только трафик, от которого есть WPA-хендшейк. Соответственно, если на точке доступа десять клиентов, а хендшейк пойман только от одного, будет расшифрован только его трафик.
Если не получается расшифровать трафик, убедитесь, что вы правильно указали wpa-pwd, и в вашем дампе есть полный хендшейк от жертвы.
Если все указано верно, мы увидим расшифрованный трафик. В моем примере жертва заходила на сайт http://asdasd.ru по нешифрованному HTTP, что успешно видно в дампе. Что делать с расшифрованным трафиком дальше, вы уже должны знать сами.
Расшифрованный HTTP-трафик в Wireshark
Эта атака совершенно банальна и всем известна, я только хотел показать набор инструментов специфичный для macOS.
Bettercap — удобный перехват WPA-хендшейков и PMKID
На предыдущем шаге мы научились перехватывать WPA-хендшейк полностью пассивно, сидя в засаде и ожидая, пока жертва подключится к сети самостоятельно. Этот же хендшейк можно использовать для перебора пароля от Wi-Fi-сети, если пароль не известен. Но что делать, если мы не хотим ждать, или жертва уже подключена к сети, и мы не успели застать момент подключения.
В этом случае мы можем насильно отключить жертву от Wi-Fi-сети (атака deauthentication), тем самым заставив подключиться к сети заново после разрыва, и послать нужный нам WPA-хендшейк. Несмотря на то, что встроенными средствами macOS нельзя выполнять инъекции пакетов в чистом виде, атака deauth работает!
Самый удобный инструмент для этого, на мой взгляд — фреймворк bettercap. Это интерактивный фреймворк для автоматизации сетевых атак. Работает полностью нативно на macOS, умеет много чего. Мы рассмотрим только работу с Wi-Fi. Более подробные примеры использования есть на видео в конце статьи.
Устанавливаем bettercap через brew:
Перед запуском bettercap нужно отключиться от Wi-Fi. Это можно сделать, зажав Alt и кликнув по меню Wi-Fi, выбрать пункт «отключиться», либо через Airtool, либо через airport -z. Bettercap следует запускать от рута указав имя wi-fi-адаптера.
Активируем мониторный режим. По-умолчанию он активируется в режиме channel hopping, то есть прыгая по всем существующим каналам. Сразу после его активации в консоль побежит лог перехваченных данных.
bettercap выводит лог перехваченных событий в мониторном режиме
Команда wifi.show покажет список видимых сетей с текущим числом подключенных клиентов к точке доступа. В нижнем левом углу отображается текущий рабочий канал. Если вводить эту команду несколько раз подряд, можно увидеть, как канал меняется.
Команда wifi.show показывает список доступных сетей
Мы видим, что на точке доступа уже есть один подключенный клиент. Попробуем его насильно отключить от сети, чтобы он начал подключаться к ней заново и передал нужный нам WPA-хендшейк. Введем команду wifi.deauth указав BSSID точки доступа. В этом случае bettercap будет посылать deauth всем клиентам, подключенным к сети. Если же мы хотим отключить только одного клиента, нужно указать его MAC-адрес вместо адреса точки доступа.
Через пару секунд после разрыва связи клиент заново пытается подключиться к сети, и мы успешно ловим его хендшейк.
Теперь при вводе команды wifi.show сеть, от которой был получен хендшейк, будет выделена красным цветом. Все перехваченные хендшейки bettercap сохраняет в домашнюю папку в файл
Получение PMKID
PMKID — это хеш, который некоторые точки доступа передают в первом пакете при подключении. Недавно был найден способ использовать этот хеш для брута пароля сети. Подробнее об этой атаке можно прочитать в блоге автора bettercap.
Прелесть в том, что PMKID можно получить вообще без клиентов на точке доступа!
Обычный EAPOL WPA-хендшейк требует наличие на точке легитимного клиента, который знает пароль, и для успешного получения такого хендшейка нужно перехватить четыре пакета между клиентом и точкой. В случае с PMKID, нам достаточно послать точке запрос на аутентификацию, и она сразу пришел в ответ PMKID.
Получить PMKID можно просто подключившись к точке доступа и введя неправильный пароль. Например, запустить мониторный режим на компьютере и пробовать подключиться с телефона, вводя случайный пароль. Bettercap сделает тоже самое с помощью команды wifi.assoc
Если точка доступа поддерживает PMKID, то он будет послан в ответ. Пример перехваченного PMKID видно на предыдущем скриншоте, он прилетает перед EAPOL-хендшейком.
Вот, как выглядит PMKID от нашей тестовой сети OLOLOL_OAOOAOAOAOOA в Wireshark:
Брутим пойманные хеши
Вот мы наловили хендшейков и PMKID, но как теперь извлечь из них пароль? Есть два варианта: брутить самостоятельно или залить на онлайн-фермы. Так как у меня слабенький ноутбук, мне лень напрягать его перебором паролей, поэтому я просто заливаю на онлайн-крякалки.
Onlinehashcrack.com
Мой любимый сервис, умеет бесплатно брутить огромное количество разных типов хешей, в том числе EAPOL и PMKID. Достаточно просто скормить ему .pcap дамп, который мы собрали с помощью bettercap и он сам найдет в нем нужные хеши. Дубли можно удалить вручную.
Сервис onlinehashcrack.com бесплатно перебирает пароли по словарю для EAPOL и PMKID
Регистрация не требуется, при загрузке файла на указанную почту придет ссылка на запущенное задание по перебору. Если пароль будет найден, на почту придет уведомление. Если нет, сервис предложить выбрать дополнительный словарь для перебора уже за деньги. Бесплатный словарь состоит из 20 млн. слов и достаточно часто находит. По моей личной статистике примерно треть паролей успешно находится.
Gpuhash.me
Менее удобный сервис, для показа найденного пароля просит заплатить 0.001BTC. Я обычно заливаю на все сервисы сразу, чтобы понять, насколько реально пароль слабый. Крайне редко бывает, что gpuhash.me находит то, чего не нашел onlinehashcrack.com.
Поддерживает EAPOL и PMKID, однако не умеет сам находить PMKID в дампе .pcap и требует специально подготовленный формат PMKID в виде строки текста. Подробно тема перекодирования хендшейков разбирается на видео в конце статьи.
Брут на своих мощностях
На маке работает старый дедовский способ брута на процессоре по словарю с помощью aircrack-ng, который также доступен в репозитории brew. Я не буду подробно рассматривать эту тему, потому что она была описана сотни раз.
Свежий aircrack-ng поддерживает брут PMKID. Его удобного использовать для быстрого просмотра содержимого pcap-файла. При использовании Wireshark важно помнить, что aircrack-ng умеет читать только формат pcap и не умеет pcapng.
aircrack-ng показывает список пойменных хендшейков и PMKID в файле собранном с помощью bettercap
Так выглядит успешно найденный пароль, если он был в словаре. Сам я таким никогда не занимаюсь, потому что мне просто лень ждать и слушать как жужжит ноутбук.
Брут с помощью hashcat
Hashcat — самая продвинутая программа для распределенного брута хешей на видеокартах. Работает нативно на macOS и поддерживает фреймворк OpenCL, что позволяет задействовать даже процессорное видео для брута.
Формат 22000
Hashcat понимает только собственный формат хешей, который ему нужно подготовить из pcap/pcapng дампа. Форматы hashcat часто меняются, aircrack-ng умеет конвертировать pcap в старые форматы для hashcat, но мы рассмотрим самый свежий формат Wi-Fi-хешей — 22000.
Старые форматы HCCAP/HCCAPX были бинарными, и для передачи хешей приходилось обмениваться файлами. Новый формат 22000 полностью текстовый и его можно просто передавать как текст, что сильно удобнее.
Все описанное ниже предназначено только для экспериментаторов. Я не советую всем ставить hcxtools из моего репозитория, и вообще пользоваться этим до того, как будет выпущена версия hcxtools v6. Тогда программа будет добавлена в официальный репозиторий brew. Синтаксис программ и формат данных может измениться к тому времени
hcxtools — набор утилит для подготовки хешей для hashcat. С недавнего времени он успешно собирается под macOS. Он еще не доступен в официальном репозитории brew, но вскоре должен там появиться. Пока его можно установить из моего репозитория (в терминологии brew называется tap).
После сборки brew скажет, по какому пути доступны установленные файлы. Он не добавит их в PATH, поэтому придется указывать полный путь.
Утилита hcxpcapngtool выковыривает все EAPOL и PMKID хеши из pcap/pcapng дампов и складывает их в один текстовый файл.
Отчет обработки файла программой hcxpcapngtool
Формат 22000 достаточно простой, по маркеру вначале можно понять, что это за хеш:
WPA*01 — PMKID
WPA*02 — EAPOL
Вот пример файла hashes.22000, полученного на предыдущем шаге. Видно, что в файле есть 6 штук PMKID и 1 EAPOL хеш.
Хеши, полученные из pcap файла с помощью hcxpcapngtool в формате 22000
Но глазами читать такие строки неудобно — непонятно, где какой хеш, и какой сети он принадлежит. Поэтому для удобства преобразуем полученный файл hashes.22000 в человекочитаемый вид с помощью утилиты hcxhashtool.
Эта программа возьмет каждый хеш, преобразует шестнадцатеричные строки в текст и сверит MAC-адрес устройств по базе производителей, в итоге получится красивый и понятный вывод, в котором видны имена сетей, MAC-адреса устройств от которых получены данные и даже производителям устройства. На скриншоте ниже пример обработанного EAPOL от сети OLOLOL_OAOOAOAOAOOA и PMKID от сети Whitestudio.
Теперь, имея удобный читаемый вывод, мы можем выбрать, какой хеш будем брутить.
Для теста возьмем PMKID от сети Whitestudio.
Старая версия hashcat в репозитории brew не поддерживает новый формат хешей 22000, поэтому устанавливаем текущую версию из исходников.
Положим нужный хеш в отдельный файл и натравим на него hashcat. Для брута не будем использовать словарь, а просто укажем маску из 8 цифр.
Расчетное время брута всех восьми цифр (сто миллионов) на моей встроенной в процессор видеокарте — 4 часа.
На мощной ферме это время может сократиться до несколько секунд.
Вот так выглядит успешно сбрученный пароль с помощью hashcat из PMKID хеша.
Описание работы hashcat и hcxtools выходит за рамки данной статьи, и я упомянул его здесь только, чтобы показать базовые примеры работы с новым форматом хешей 22000. В будущем, когда синтаксис команд и формат 22000 будет утвержден как официальный, я планирую добавить в hcxtools более удобный парсер хешей, чтобы получать хеши в нужном формате из pcap дампа одной командой. Владелец onlinehashcrack.com пообещал мне добавить поддержку формата 22000 в текстовую форму для ввода на сайте, в итоге можно будет просто скопировать нужный хеш из консоли и вставлять его плейнтекстом, вместо того чтобы заливать pcap-файлы с кучей лишнего мусора.
Видео
Все описанное в статье я записал в формате скринкаста, здесь показаны те же самые атаки в реальном времени и более подробно. Если что-то непонятно из текста, попробуйте посмотреть видео.
Заметки по проектам я публикую в свой Telegram-канал @zhovner_hub.
Если вам нравится то что я делаю, вы можете отправить мне 1$ через Patreon.
Источник