
Автоматизированный инструмент проверки уязвимостей для Wi-Fi-клиентов и точек доступа, обнаруживающий уязвимости фрагментации/агрегации FragAttacks с помощью инъекции кадров, тестирования в смешанном режиме и анализа перехваченных пакетов.
Этот репозиторий содержит инструмент FragAttacks. С его помощью можно проверять Wi-Fi-клиенты и точки доступа на наличие frагментационных и agрегационных атак. Эти уязвимости затрагивают все защищённые Wi-Fi-сети. Дополнительную информацию об этих уязвимостях можно найти на сайте fragattacks.com.
Также доступны следующие дополнительные материалы:
Подробный обзор обновлений инструмента, сделанных после 11 августа 2020 года, приведён в журнале изменений. В этом журнале изменений также указано, на какой версии hostap основан инструмент FragAttacks.
Обратите внимание, что атаки идентичны для WPA2 и WPA3, поскольку их шифры CCMP и GCMP идентичны. Для старых сетей WPA по умолчанию используется TKIP для шифрования, а применимость атак против TKIP обсуждается в статье и на сайте. Чтобы показать, что Wi-Fi уязвим с момента его создания, в статье и на сайте также кратко обсуждается применимость атак против WEP.
Поддерживаются только определённые беспроводные сетевые карты. Это связано с тем, что некоторые сетевые карты могут перезаписывать номер последовательности или фрагмента внедряемых кадров либо изменять порядок кадров разного приоритета, что мешает работе тестового инструмента (т.е. инструмент может сообщить, что устройство защищено, хотя это не так). Я подтвердил, что следующие сетевые карты работают корректно:
| Сетевая карта | USB | 5GHz | смешанный режим | режим внедрения |
|---|---|---|---|---|
| Technoethical N150 HGA | Да | Нет | патченный драйвер/прошивка | патченный драйвер/прошивка |
| TP-Link TL-WN722N v1.x | Да | Нет | патченный драйвер/прошивка | патченный драйвер/прошивка |
| Alfa AWUS036NHA | Да | Нет | патченный драйвер/прошивка | патченный драйвер/прошивка |
| Intel Wireless-AC 8265 | Нет | Да | патченный драйвер | да |
| Intel Wireless-AC 3160 | Нет | Да | патченный драйвер | да |
| Alfa AWUS036ACM | Да | Да | патченный драйвер | да |
| Netgear WN111v2 | Да | Нет | патченный драйвер | да |
| Alfa AWUS036ACH | Да | Да | нет | да |
Последние два столбца означают:
Смешанный режим: можно ли использовать сетевую карту в рекомендуемом смешанном режиме.
Режим внедрения: можно ли использовать сетевую карту в качестве второго интерфейса для внедрения кадров в режиме внедрения.
Да означает, что карта работает без дополнительной настройки в указанном режиме. Патченный драйвер/прошивка означает, что карта совместима при использовании с патченными драйверами и/или прошивкой. Нет означает, что этот режим не поддерживается сетевой картой. Я рекомендую использовать тестовый инструмент в смешанном режиме.
Обратите внимание, что USB-устройства можно использовать внутри виртуальной машины, а модифицированные драйверы и/или прошивку можно установить в этой виртуальной машине. Однако я обнаружил, что использование виртуальных машин может снижать надёжность сетевых карт, и вместо этого рекомендую использовать живой USB-образ, если вы не можете установить модифицированные драйверы/прошивку в основной системе.
Мой опыт работы с указанными выше сетевыми картами описан здесь. Если кратко:
AWUS036ACM в смешанном режиме выглядит надёжной с нашими последними драйверами, и именно её я рекомендую. Более дешёвое, но почти идентичное устройство — карта на чипсете MT7612U. Подробнее см. здесь.
Ранее я рекомендовал Technoethical N150 HGA в смешанном режиме. Этот адаптер идентичен TP-Link TL-WN722N v1.x и требует использования патченных драйверов и прошивки. Это один из наиболее хорошо протестированных адаптеров, но его трудно достать. Именно поэтому теперь я рекомендую AWUS036ACM.
Intel 3160 и 8265 поддерживаются и extensively протестированы. Иногда их прошивка падала, но перезагрузка делает сетевую карту снова работоспособной. Intel AX200 не совместим с тестовым инструментом.
WN111v2, похоже, работает хорошо, хотя я не тестировал его extensively.
Драйвер для AWUS036ACH не входит в состав ядра Linux и требует установки отдельного драйвера. В Kali этот драйвер можно установить через менеджер пакетов. Эта карта не была extensively протестирована.
Если вы не можете найти одну из указанных выше сетевых карт, можно поискать альтернативные сетевые карты, которые с высокой вероятностью тоже будут работать. При использовании сетевой карты, которая явно не поддерживается, я настоятельно рекомендую сначала запустить тесты внедрения перед использованием, а также применить инструмент к заведомо уязвимой реализации, чтобы убедиться, что инструмент работает корректно.
Тестовый инструмент проверялся на Ubuntu 20.04 с ядром 5.8. Если вы используете другой дистрибутив Linux, учтите, что поддерживаются только версии ядра не выше 5.12.
При использовании Ubuntu 20.04 сначала необходимо установить ядро 5.8 следующим образом. Обратите внимание, что ваше существующее ядро останется установленным и по-прежнему будет использоваться по умолчанию:
sudo apt install linux-image-5.8.0-63-generic linux-headers-5.8.0-63-generic linux-hwe-5.8-headers-5.8.0-63 \
linux-modules-5.8.0-63-generic linux-modules-extra-5.8.0-63-generic
Теперь перезагрузите Ubuntu, во время загрузки удерживайте клавишу Shift, выберите «Advanced options for Ubuntu» и запустите ядро 5.8, выбрав «Ubuntu, with Linux 5.8.0-63-generic». Вы можете изменить конфигурацию GRUB, чтобы Ubuntu использовала эту версию ядра по умолчанию. Продолжите следующие инструкции уже под этим запущенным ядром.
Установите необходимые зависимости:
sudo apt-get update
sudo apt-get install libnl-3-dev libnl-genl-3-dev libnl-route-3-dev libssl-dev \
libdbus-1-dev git pkg-config build-essential macchanger net-tools python3-venv \
aircrack-ng rfkill firmware-ath9k-htc
# Примечание: в Kali Linux используйте пакет firmware-atheros вместо firmware-ath9k-htc