WPA2 - обмен паролями EAPOL
(Я делаю это в своей сети, только для науки). Я использовал airodump-ng для захвата рукопожатия. После этого я смог открыть файл с захваченной информацией в WireShark и найти часть с 4 сообщениями рукопожатия протокола EAPOL. Я знаю о миллионах лет, необходимых для перебора, и знаю, что могу использовать aircrack-ng для атаки по словарю.
Я хотел бы извлечь пароль из этих 4 сообщений. Я предполагаю, что это передано как некое соленое хеш-значение. Что я не знаю, так это то, в каком сообщении находится пароль (пароль беспроводной сети, для соединения) и как именно оно отправлено? Например, SHA1 "пароль"+"ssid"... Я хотел бы иметь возможность вычислять точно такой же хэш в моей программе (конечно, это было бы возможно только для моей сети, потому что я знаю свой пароль). Мне это понадобится и для демонстрации в университете.
Спасибо!
1 ответ
Захваченное вами "четырехстороннее рукопожатие" 802.11i - это то, где обе стороны договариваются об общих переходных ключах группы (читай: широковещание) и парных (читай: одноадресная передача). Т.е. сгенерированные здесь ключи существуют только на время ассоциации 802.11 или до тех пор, пока из точки доступа не будет выпущен следующий повторный ключ.
Прежде чем вы сможете начать расшифровывать сообщения о четырехстороннем рукопожатии, вам необходим парный главный ключ (PMK), который получается из введенной пользователем парольной фразы с использованием функции вывода ключа (PBKDF2) или является результатом обмена WPS. который основан на Diffie-Helman.
Суть в том, что пароль ASCII, который вы хотите извлечь, не обменивается ни в одном из 4 сообщений, поскольку он уже был передан всем сторонам, участвующим в транзакции (в данном случае клиенту и точке доступа), и использовался для генерации 256-битного ПМК. И если у вас нет этого PMK, содержимое сообщений о четырехстороннем рукопожатии так же хорошо, как случайные данные.
Лучшее, что вы можете сделать, если вы уже знаете PMK, - это извлечь GTK и PTK из M2 и M3 4-стороннего рукопожатия, а также из тех, которые извлекают временный ключ, который может быть XORed с полезной нагрузкой в последующих кадрах, чтобы получить данные в незашифрованном виде - что Wireshark также сделает для вас, если вы введете PMK или фразу-пароль в настройки IEE802.11 и включите расшифровку.