Ведущий разработчик, Jens 'Atom' Steube, популярного инструмента Hashcat для брута пароля по хешу (уже делал небольшую
статейку по данной утилите, можете глянуть) обнаружил уязвимость беспроводных сетей, использующих протоколы WPA / WPA2 с включенными функциями роуминга на основе парного идентификатора главного ключа (PMKID).
Атака с целью взлома wi-fi сетей с поддержкой WPA / WPA2 была случайно обнаружена данным специалистом во время анализа относительно недавно выпущенного стандарта безопасности WPA3. (Искали дыры в wpa3, а нашли у предшественников:)
Этот новый метод взлома Wi-Fi позволяет злоумышленникам восстанавливать пароли входа в систему с помощью предварительного ключа (PSK), что потенциально позволит им взламывать вашу wi-fi сеть и сниферить её.
Так в чем же отличие от уже ранее известных способов?!
Ранее известные методы взлома требуют от злоумышленника верменного ожидания, пока кто-нибудь войдет или перезайдет в сеть, для получения полное подтверждение подлинности с использованием 4-сторонней аутентификации EAPOL, которая является протоколом аутентификации сетевого порта (захвата handshak'а).
Новая же атака больше не требует, чтобы пользователь подключался к целевой сети для отправки данных. Вместо этого это выполняется в RSN-IE (Robust Security Network Information Element) с использованием EAPOL после запроса его от точки доступа.
Robust Security Network - это протокол для установления защищенной связи по беспроводной сети 802.11. В качестве одной из его возможностей используется PMKID, ключ, необходимый для установления соединения между клиентом и точкой доступа.
PMKID вычисляется с использованием HMAC-SHA1, где ключ является PMK, а часть данных представляет собой конкатенацию фиксированной строковой метки «PMK Name», MAC-адрес точки доступа и MAC-адрес станции.
Реализация атаки:
1) Используем инструмент hcxdumptool для получения PMKID точки доступа.
$ ./hcxdumptool -o test.pcapng -i wlp39s0f3u4u5 --enable_status
2) После его получения, нам необходимо отконвертировать его в хеш формат. Для этого используем hcxpcaptool.
$ ./hcxpcaptool -z test.16800 test.pcapng
3) Ну, и после этого уже брутим сам пароль с помощью Hashcat.
$ ./hashcat -m 16800 test.16800 -a3