Всем огромный привет, дорогие форумчане. В этой статье я хотел бы рассказать о новом способе взлома пароля к сети Wi-Fi.
Протокол WPA/WPA2 морально и физически устарел, и всё уже давно идет к тому что этот протокол пора обновить! И одним из таких ключевых толчков, стала опубликованная уязвимость в октябре 2017г Mathy Vanhoef, в протоколе WPA2, которая получила название key reinstallation attack (
Суть метода заключается в том что Вы можете получить идентификатор 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.
И так для проведения атаки нам будет необходимо:
Hcxtools (аналогично и для hcxdumptool)
Hashcat v4.2.0
Даже если у Вас уже установлен hashcat, но он ниже версии 4.2.0, то Вам нужно будет его удалить, затем скачать свежую версию и установить, как и я это делал, ну или обновить другим известным для Вас способом т.к. в старых версиях нет метода расшифровки PMKID для WPA/WPA2 (а именно 16800).
Всю атаку я буду проводить на своем роутере. Марка Asus RT-N12C1. Прошивка последняя.
I. Переводим наш беспроводной интерфейс в режим монитора:
1 способ
wlan0 - это Ваш интерфейс, посмотреть можно введя команду ifconfig
2 способ
II. Запускаем сканирование Wi-Fi сетей
мой тестовый Wi-Fi называется "Happy_New_Year"
Сохраняем BSSID нашей тестовой AP БЕЗ ДВОЕТОЧИЙ в файл... я это сделал следующей командой:
III. Запускаем Hcxdumptool
-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 справился со своей задачей и нашел нужный пакет с хешем... идем дальше!![Cool :cool: :cool:](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![Cool :cool: :cool:](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![Cool :cool: :cool:](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
IV Запускаем hcxpcaptool
-z hash_crack - выходной файл, с хешем PMKID очищенной от лишней инфы, для hashcat (hashmod -m 16800). преобразован в обычный текст.
hash - файл в pcapng формате (все собранные пакеты hcxdumptool)
В моем случае он обнаружил 3 пакета, как я уже говорил, и все данные записал в мой текстовый файл hash_crack..... в 3 строки. Как раз эти строки мы и будем расшифровывать в HASHCAT
V. Запускаем HASHCAT
-m 16800 - новый hashmod который появился в версии 4.2.0
?u?s?d?d?d?d?d6A - мой пароль по маске + 2 последних символа которых я знаю из этого пароля
1 день и 4 часа
проверять я конечно же не буду!), но я добавил ее пару известных символов и перезапустил... вот результат...
Вывод из всего этого могу сделать только один.... данный метод на голову выше своих предыдущих вариантов атаки, к тому же я посмотрел на скорость которая хоть и не намного выше чем в aircrack-ng, но все же, а если учесть то что у некоторых есть хорошие видеокарты, то это вообще отличное подспорье! к тому же нет больше необходимости ждать юзверя и перехватывать "рукопожатие" + этих скриптов в том что можно это все делать не на одной точке а на нескольких одновременно... добавив в первичный текстовый файл BSSID разных AP.
P.S. Трудности с которыми я столкнулся:
1. наверно единственная была маленькая проблема при переустановке hashcat. После удаления (apt-get remove hashcat), перешел в папку свежескачанного скрипта.....
1.
2.
и тут мне выдает ошибку - "include/ext_OpenCL.h:15:10: fatal error: CL/cl.h: No such file or directory #include <CL/cl.h>" , мол нет какой-то папки....так и правильно у меня в принципе не было OpenGL....так что порыскав, в течении пару минут нашел решение -
Протокол WPA/WPA2 морально и физически устарел, и всё уже давно идет к тому что этот протокол пора обновить! И одним из таких ключевых толчков, стала опубликованная уязвимость в октябре 2017г Mathy Vanhoef, в протоколе WPA2, которая получила название key reinstallation attack (
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
). Конечно же, дыры прикрыли где смогли, но именно с этого момента началась разработка нового протокола шифрования WPA3 и Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
уже во всю проводит испытания нового протокола на потенциальные проблемы в протоколе, в рамках которого как раз и был выявлен новый вектор атаки на протокол 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.
И так для проведения атаки нам будет необходимо:
- Linux (в моем случае Linux parrot 4.16.0-parrot16-amd64)
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
- Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
Hcxtools (аналогично и для hcxdumptool)
Bash:
git clone ZerBea/hcxtools
cd hcxtools
make
make install
Даже если у Вас уже установлен hashcat, но он ниже версии 4.2.0, то Вам нужно будет его удалить, затем скачать свежую версию и установить, как и я это делал, ну или обновить другим известным для Вас способом т.к. в старых версиях нет метода расшифровки PMKID для WPA/WPA2 (а именно 16800).
Bash:
git clone hashcat/hashcat
cd hashcat
make
make install * (пояснения внизу)
I. Переводим наш беспроводной интерфейс в режим монитора:
1 способ
Bash:
airmon-ng start wlan0
airmon-ng check kill
2 способ
Bash:
ifconfig wlan0 down
iwconfig wlan0 mode monitor
ifconfig wlan0 up
airmon-ng check kill
airodump wlan0mon
(wlan0 в зависимости от того каким способом пользовались)мой тестовый Wi-Fi называется "Happy_New_Year"
![1.png 1.png](https://dark-time.com/data/attachments/35/35454-dec110191ed1359a2c8fb255a7c6c9d1.jpg)
Сохраняем 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 )
![3.png 3.png](https://dark-time.com/data/attachments/35/35455-fd680afd9ebd88e521077d84c46c6dec.jpg)
после получения сообщения "FOUND PMKID" мы останавливаем работу скрипта, и как вы можете заметить мне пришло аж сразу 3 сообщения о найденных пакетах в которм содержится строка с хешем PMKID. И так, Hcxdumptool справился со своей задачей и нашел нужный пакет с хешем... идем дальше!
IV Запускаем hcxpcaptool
hcxpcaptool -z hash_crack hash
,где-z hash_crack - выходной файл, с хешем PMKID очищенной от лишней инфы, для hashcat (hashmod -m 16800). преобразован в обычный текст.
hash - файл в pcapng формате (все собранные пакеты hcxdumptool)
![4.png 4.png](https://dark-time.com/data/attachments/35/35456-7960240e841ee12a3ced50c095cda47a.jpg)
В моем случае он обнаружил 3 пакета, как я уже говорил, и все данные записал в мой текстовый файл hash_crack..... в 3 строки. Как раз эти строки мы и будем расшифровывать в HASHCAT
![5.png 5.png](https://dark-time.com/data/attachments/35/35457-f2125bfa1bf23ff86628ddf4b2841493.jpg)
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 последних символа которых я знаю из этого пароля
![7.png 7.png](https://dark-time.com/data/attachments/35/35458-ea7a942626e36c8ca390663cdeb7c941.jpg)
1 день и 4 часа
![8.png 8.png](https://dark-time.com/data/attachments/35/35459-716f88c9af9ee0207934478c1d80ec6b.jpg)
Пароль был успешно найден!
Вывод из всего этого могу сделать только один.... данный метод на голову выше своих предыдущих вариантов атаки, к тому же я посмотрел на скорость которая хоть и не намного выше чем в aircrack-ng, но все же, а если учесть то что у некоторых есть хорошие видеокарты, то это вообще отличное подспорье! к тому же нет больше необходимости ждать юзверя и перехватывать "рукопожатие" + этих скриптов в том что можно это все делать не на одной точке а на нескольких одновременно... добавив в первичный текстовый файл BSSID разных AP.
P.S. Трудности с которыми я столкнулся:
1. наверно единственная была маленькая проблема при переустановке hashcat. После удаления (apt-get remove hashcat), перешел в папку свежескачанного скрипта.....
1.
make
2.
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 благополучно заработал!
Последнее редактирование модератором: