Sniffer ��� mac os

Аналоги Wireshark для Mac OS

Wireshark — это крупнейший в мире анализатор сетевых протоколов. Он позволяет вам захватывать и интерактивно просматривать трафик, работающий в компьютерной сети. Это де-факто (и часто де-юре) стандарт во многих отраслях и учебных заведениях.

Wireshark имеет богатый набор функций, который включает в себя следующее:

-Глубокая проверка сотен протоколов, с постоянным добавлением новых
-Живая запись и автономный анализ
-Стандартный трехпанельный браузер
-Мультиплатформенность: работает на Windows, Linux, OS X, Solaris, FreeBSD, NetBSD и многих других.
-Захваченные данные сети можно просматривать с помощью графического интерфейса или с помощью утилиты TShark в TTY-режиме
-Самые мощные фильтры в отрасли
-Анализ VoIP
-Читать / записывать множество различных форматов файлов: tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, сетевой монитор Microsoft, сеть General Sniffer® (сжатая и несжатая), Sniffer® Pro и NetXray®, сетевые инструменты, NetScreen snoop, Novell LANalyzer, RADCOM WAN / LAN Analyzer, Shomiti / Finisar Surveyor, Tektronix K12xx, Visual Networks Visual UpTime, WildPackets EtherPeek / TokenPeek / AiroPeek и многие другие
-Захват файлов, сжатых с помощью gzip, которые могут быть сразу распакованы
-Живые данные можно считывать из Ethernet, IEEE 802.11, PPP / HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI и других (в зависимости от вашей платформы)
-Поддержка дешифрования для многих протоколов, включая IPsec, ISAKMP, Kerberos, SNMPv3, SSL / TLS, WEP и WPA / WPA2.
-Красочные правила могут быть применены к списку пакетов для быстрого, интуитивного анализа
-Файлы могут быть экспортированы в XML, PostScript®, CSV или обычный текст

Источник

Вардрайвинг в MAC OS X

Стандартом де-факто в вардрайвинге обычно считается система Linux (модифицированные драйвера, Kismet в связке с aircrack-ng). Но немногие знают, что в маке есть мощные инструменты для взлома аудита безопасности беспроводных сетей, ни чуть не уступающие, а во многом и превосходящие по функционалу Linux-аналоги.
UPD: Описанные в статье инструменты на сегодняшний день устарели. Рекомендуется использовать Linux

Для ознакомления с общими понятиями вардрайвинга рекомендуется почитать эту статью

Kismac — Мощная программа «всё в одном». Большим преимуществом перед линуксом является то, что драйвера wi-fi карт интегрированы сразу в программу и не нужно устанавливать дополнительные модули. Все действия по сканированию сети, сбору и анализу трафика (в линуксе команды airdump, airmon, airplay) выполняются в одном месте из графического интерфейса, что значительно упрощает процесс.

Возможности программы:

  • пассивный сканер/сниффер
  • инъекция пакетов
  • при наличии GPS модуля может отмечать найденные сети на карте
  • звуковая индикация мощности сигнала (как металлоискатель)
  • запись дампа с сервера kismet drone

В Kismac также есть интструменты для дешифровки WEP/WPA алгоритмов, но авторы программы говорят, что они давно не разрабатываются и рекомендуют использовать последнию версию aircrack-ng, которую можно установить из исходников или с помощью системы портов fink.

Выбор оборудовния

Встроенная в макбук карта «Airport Extreme» не годится для вардрайвинга. Ею невозможно проводить инъекции пакетов, а из-за низкой чувствительности приемника сбор трафика для анализа нужно производить в непосредственной близости от источника сигнала. Единственное, для чего она годится — первичный осмотр сетей: можно узнать тип используемого шифрования, наличие клиентов на точках и т. д.

Для более глубокого изучения необходима карта, поддерживающая инъекцию пакетов (см. список устройств). Наиболее оптимальным выбором будет карта Alfa AWUS036H на чипсете RTL8187L. Ее рекомендуют разработчики kismac и aircrack-ng. Поддерживается всеми вардрайверскими программами во всех операционных системах, обладает очень чувствительным приемником. Мощность передачтика 500 милливатт. Оснащена разьемом RP-SMA для подключения внешних антенн.
Китайцы делают эти карты под разными названиями, например G-SKY или IDU-2850UG-8G или Kinmax.
В принципе, можно выбрать любую из поддерживаемых карт, но у этой лучшие характеристики, стоит дешево и легко найти.

Чтобы начать работать, нужно выбрать драйвер для вашего устройства:
KisMac => Preferences… => Driver

Для знакомства с программой и за неимением других карт выбираем Airport Extreme Passive mode.

Channel Hopping — выбираем все европейские каналы 1-11.
Use as primary device — чтобы активировать функцию инъекции пакетов (невозможно в Airport)
Dump Filter — какие данные записывать в дамп-файл, выбираем «Keep everything».
Save Dumps At — путь и название дамп-файла.

Теперь можно начать сканирование. Программа сообщит обо всех найденных сетях. Изменяющееся цифры в нижнем правом углу означают, что устройство находится в режиме Channel Hopping, прыгая по частотам чтобы обнаружить сети работающие на всех каналах. Также необходимо иметь ввиду, что карта прыгает по каналам очень быстро (скорость настраивается при выборе драйвера), поэтому есть вероятность, что некоторые сети могу быть не обнаружены. Чтобы исключить это, можно пройтись по каждому каналу отдельно. Когда вы выбрали интересующую сеть, необходимо остановить Channel hopping и установить канал, на котором работает выбранная сеть.

При двойном клике по выбраной сети будет показана подробная информация.
Слева — техничесская информация, справа — список клиентов подключюенных к точке. Реально подключенные клиенты имеют значение Last Seen.

Важным фактором является уровень сигнала.
Signal — мощность сигнала
AvgSignal — качество сигнала (полезный сигнал с учетом помех)
MaxSignal — максимально зафиксированный уровень сигнала

Для успешных инъекций пакетов сигнал точки и сигнал клиента не должен быть ниже 40-50. Необходимо найти оптимальное положение антенны, при котором сигнал будет максимальным. Иногда изменение положения даже на один сантиметр может существенно повлиять на уровень сигнала. Так же можно включить звуковую индикацию мощности сигнала в меню «Network => Monitor Signal Strenght», в зависимости от уровня сигнала будет меняться тональность звука.

Сниффинг в откртых сетях

В сетях без шифрования весь траффик может быть свободно просмотрен. Для этого достаточно настроить карту на прослушивание частоты, на которой работает сеть (Main channel), и собирать весь трафик в файл. После чего дамп можно просматривать анализатором пакетов.

Вот, например, за соседним столиком в кафе Вася !*SuPeR-ViP*! Пупкин залогинился вконтактик:

В нагруженных сетях дампы наполняются очень быстро, и чтобы ускорить открытие дампа wireshark-ом можно применять фильтры. Например делать выборку только по протколу или IP. Так же можно отключить резолв адресов.

Взлом WEP

Суть состоит в том, чтобы собрать большое количество служебных пакетов, содержащих вектор инициализации (Initial Vector), и из них дешифровать ключ сети. Векторы инициализации передаются для контроля соеднинения точки с клиентом, соответсвенно, атака осуществима только при налии подключений к точке.
Для успешного нахождение ключа необходимо собрать более 70 тысяч пакетов (на практитке достаточно и 20 тысяч). Собрать такое количество, пассивно слушая эфир, не представляется возможным. Для ускорения процесса существует метод инъекции пакетов, чтобы заставить хосты генерировать большое количество IV-пакетов. Для начала инъекции необходимо иметь какое-то количество Initial Vectors, поэтому можно просто подождать или же нагнать трафик флудом авторизации: Network => Authentication Flood (Подобие DoS-атаки. Будьте осторожны с этой опцией, точка доступа может зависнуть). После этого можно начинать инъекции: Network => Reinject Packets.

Читайте также:  Служба windows отвечающая за печать

Если попытка иньекций была удачной, количество нужных нам пакетов (Unique IV’s) начнет резко увеличиваться.

Запустим паралельно дешифровку ключа, используя программу aircrack-ng.
В терминале вводим:

Если не указывать mac-адрес атакуемой точки доступа, программа предложить выбрать из всех точек найденных в дампе. Указать mac-адрес можно опцией -b:

aircrack-ng -b 00:00:00:00:00:00 /path/to_dump.file

Взлом WPA/WPA2

На сегодняшний день алгоритм WPA является достаточно надежным. Единственная возможность взлома — брутфорс (перебор по словарю).
Задача состоит в перехвате «handshake» (рукопожатия) в момент авторизации клиента на точке доступа и последующего перебора паролей по словарю. Для этого нам необходимо либо дождаться момента когда клиент придет логиниться либо попытаться разорвать уже имеющиеся соединения для того чтобы спровоцировать повторное подключение:

Важно поймать обе части рукопожатия: Challenge и «Response. В случаи успеха красная точка Ch/Re станет зеленой.
Часто случается, что удается поймать только ответ точки (Challenge), а ответ маломощного клиента (например мобильного телефона) не удается. В таком случае нужно найти положение антенны, в котором будет максимальным сигнал клиента

Перебор ключа выглядит так:

aircrack-ng -w keys.txt -b 00:00:00:00:00:00 dump.file

где keys.txt — путь к словарю, 00:00:00:00:00:00 — mac-адрес атакуемой точки, dump.file — путь к файлу с хендшейком.

Имея ключ шифрования, можно прослушивать весь трафик проходящий в сети. Для этого используется декриптор дампа:

для WEP шифрования ключ задается опцией -w:

airdecap-ng -w 12345678 /path/to/wep.dump.file

для WPA/WPA2 опцией -e имя_сети -p ключ_сети:

airdecap-ng -e ‘Cool-WiFi’ -p 12345678 /path/to/wpa.dump.file

В результате будет создан дешифрованный дамп-файл который уже можно просматривать анализатором пакетов.

Источник

Похек 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.

Читайте также:  Как посмотреть когда поставили windows

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.

Читайте также:  Failed to import profile openvpn mac os

Прелесть в том, что 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.

Источник

Оцените статью