
FragAttacks — фреймворк для тестирования на проникновение WiFi — CVE-2020-24586/87/88
FragAttacks: фреймворк для пентеста Wi-Fi
CVE-2020-24586 / CVE-2020-24587 / CVE-2020-24588
Fracture автоматизирует три новые цепочки атак с помощью инжекции фреймов 802.11. Он использует уязвимость агрегации A-MSDU в WPA2/WPA3 для инжекции произвольных незашифрованных фреймов в зашифрованные сети — без знания пароля.
Только для авторизованного тестирования на проникновение. Используйте исключительно против сетей, которые вам принадлежат или на тестирование которых у вас есть явное письменное разрешение.
Флаг A-MSDU present в QoS Control 802.11 не защищается аутентификацией CCMP/GCMP. Устанавливая этот флаг в сфабрикованном фрейме, атакующий заставляет получателя интерпретировать полезную нагрузку как внутренний Ethernet-фрейм, полностью обходя шифрование.
Fracture использует этот примитив для реализации трёх путей атак:
Инжектирует HTTP-запросы напрямую в интерфейс управления роутера (192.168.x.1 и распространённые варианты) из-за пределов сети. Перебирает стандартные учётные данные и известные конечные точки CVE без аутентификации для прошивок TP-Link, D-Link, Netgear и ASUS. Бесшумно — никакой деаутентификации, никаких обнаруживаемых сигнатур.
Обнаруживает сети с captive-порталом, клонирует страницу портала, затем инжектирует поддельные DNS-ответы для перенаправления подключённых клиентов. Когда клиент вводит учётные данные на клоне, Fracture перехватывает их и использует для легитимной аутентификации. Цели: WiFi в отелях, корпоративные гостевые сети, хотспоты в кафе.
Инжектирует команды UPnP SSDP discovery и SOAP AddPortMapping. Большинство домашних маршрутизаторов принимают их без аутентификации. В случае успеха открывает внешний порт на WAN-интерфейсе роутера, перенаправленный на SSH внутреннего клиента — обеспечивая входящий доступ откуда угодно без необходимости знать пароль Wi-Fi.
sudo apt install python3-scapy python3-requests python3-bs4 python3-flask
git clone https://github.com/fracture-wifi/fracture
cd fracture
sudo pip3 install -e . --break-system-packages
После установки команда fracture становится доступна как системная.
# Сначала переведите адаптер в режим монитора
sudo iwconfig wlan1 mode monitor
# Полная автоматика — сканирование, выбор цели, запуск всех подходящих путей
sudo fracture -i wlan1
# Только сканирование — без атак
sudo fracture -i wlan1 --scan-only
# Привязаться к конкретной цели
sudo fracture -i wlan1 -t AA:BB:CC:DD:EE:FF
# Принудительно запустить конкретный путь
sudo fracture -i wlan1 --path 1 # администрирование роутера
sudo fracture -i wlan1 --path 2 # сбор данных портала
sudo fracture -i wlan1 --path 3 # UPnP
# Подробный журнал инжекций
sudo fracture -i wlan1 -v
# Детальная справка
sudo fracture --about
| Цель | Причина |
|---|---|
| Домашние маршрутизаторы (TP-Link, D-Link, Netgear, ASUS) |
Корпоративное оборудование (Cisco, Aruba, Ruckus, Ubiquiti) обычно исправлено.
fracture/
├── fracture/
│ ├── __init__.py версия, метаданные
│ ├── __main__.py точка входа, оркестрация
│ ├── tui.py терминальный интерфейс, цвета, таблицы
│ ├── scanner.py поиск точек доступа/клиентов с перебором каналов
│ ├── injector.py движок фреймов FragAttacks (CVE-2020-24588)
│ ├── portal.py обнаружение портала, клонирование, сервер учётных данных
│ └── paths.py три цепочки атак
├── setup.py
└── README.md
MIT
| Стандартная прошивка, стандартные учётные данные, включён UPnP |
| IoT-устройства | Почти никогда не получают исправлений после 2021 года |
| Сети с captive-порталом | WiFi в отелях/кафе, построенный вокруг ввода учётных данных |
| Linux ядро < 5.12.4 | Ядро до выхода патча |
| Windows до июня 2021 года | ОС до выхода патча |