Этот скрипт проверяет, пострадали ли AP от CVE-2017-13082 (атака KRACK).
https://github.com/vanhoefm/krackattacks-test-ap-ft
Инструкции по использованию скриптов
Мы создали сценарии, чтобы определить, является ли внедрение уязвимым для любых наших атак. Эти скрипты были протестированы на Kali Linux. Чтобы установить необходимые зависимости от Kali, выполните:
apt-get update
apt-get install libnl-3-dev libnl-genl-3-dev pkg-config libssl-dev net-tools git sysfsutils python-scapy python-pycryptodome
Не забудьте отключить Wi-Fi в своем сетевом менеджере перед использованием наших скриптов. После этого выполните так, sudo rfkill unblock wifi чтобы наши скрипты все еще могли использовать Wi-Fi.
Включенный сценарий Linux krack-ft-test.py можно использовать, чтобы определить, является ли AP уязвимым для нашей атаки. Сценарий содержит подробную документацию о том, как его использовать:
./krack-ft-test.py --help
По существу, он обертывает нормального wpa_supplicantклиента и будет воспроизводить запрос FT Reassociation (что делает AP переустановкой PTK). Мы протестировали скрипт на дистрибутиве Kali Linux с помощью USB-ключа Wi-Fi (TP-Link WN722N v1).
Помните, что это не сценарий атаки! Вам нужны учетные данные в сети, чтобы проверить, влияет ли атака на точку доступа.
Предлагаемое решение
Если реализация уязвима, предлагаемое исправление аналогично исправлению 4-стороннего рукопожатия. То есть логическое значение может быть добавлено таким образом, чтобы первые запросы FT Reassociation устанавливали парные ключи, но любые повторные передачи пропускают установку ключа. Обратите внимание, что в идеале AP все равно должен отправить новый ответ на повторную передачу FT, даже если он не переустанавливал какие-либо ключи.
Сведения об ударе и эксплуатации
Использование этой уязвимости не требует позиции «человек в середине»! Вместо этого противнику просто нужно зафиксировать рукопожатие Fast BSS Transition и сохранить запрос FT Reassociation. Поскольку этот кадр не содержит счетчик повтора, противник может воспроизвести его в любое время (и произвольно много раз). Каждый раз, когда уязвимая точка доступа получает воспроизводимый кадр, попарный ключ будет переустановлен.
Противник может инициировать рукопожатие FT по своему усмотрению следующим образом. Во-первых, если ни одна другая точка доступа в сети не находится в пределах досягаемости клиента, противник клонирует реальную точку доступа этой сети рядом с клиентом, используя атаку червоточины (т.е. мы пересылаем все кадры через Интернет). Затем противник отправляет клиенту запрос управления переходами BSS. Этот запрос позволяет клиенту перемещаться в другую точку доступа. В результате клиент выполнит рукопожатие FT для перехода на другую точку доступа.