- Создание сканера Wi-Fi сетей на Python и Scapy
- Выбор текстового редактора или IDE
- Создание сканера WiFi сетей на Python и Scapy
- Завершение скрипта по Ctrl+C
- Функции выхода
- Сообщение о неправильном синтаксисе
- Прослушивание пакетов
- Проверка пакетов на содержание кадра маяка
- Отслеживание обнаруженных SSID
- Перевод беспроводного интерфейса в режим мониторинга
- Проверка прав root
- Основная часть кода
- Запуск сканера Wi-Fi сетей на Python и Scapy
- Заключение
Существует множество инструментов для взлома Wi-Fi (802.11), но одно дело использовать уже готовые инструменты, а другое создать свой. Далее покажу, как написать сканер Wi-Fi сетей на Python и Scapy. Наша тулза будет похожа на airmon-ng и Kismet из комплекта aircrack-ng.
Еще по теме: Создание пейлоада на Python для взлома камеры
Создание сканера Wi-Fi сетей на Python и Scapy
Итак, Scapy написан на Python и может подделывать или декодировать пакеты, отправлять их по сети, захватывать их и сопоставлять запросы и ответы. Он также может выполнять такие задачи, как сканирование, трассировка, зондирование, модульные тесты, атаки и обнаружение сети.
Scapy предоставляет интерфейс к libpcap (той же библиотеке, которую Wireshark использует для захвата и визуализации пакетов) и позволяет захватывать и анализировать пакеты. Он может, например, отфильтровать кадры (frame) точки доступа с типом 0 и подтипом 8.
Этот кадр включает в себя различную информацию:
- Канал
- BSSID
- Тип шифрования
- SSID
Если мы сможем получить эти кадры и проанализировать эту информацию, мы сможем создать сканер, который действует аналогично kismet или airodump-ng.
Для простоты в этом первом скрипте мы создадим сканер WiFi, который захватывает и отображает только канал, BSSID, шифрование и SSID.
Выбор текстового редактора или IDE
Для написания скриптов понадобится текстовый редактор. Подойдет любой текстовый редактор, такой как Leafpad, Vim, Gedit, Vi, Kate и т. д. Если вы умеете создавать скрипты с помощью IDE PyCharm, еще лучше.
В моем случае будет использоваться Kate — простой текстовый редактор с некоторыми возможностями IDE, полезными для Python, такими как проверка отступов и синтаксис. Если он у вас не установлен, вы можете установить его из репозитория Kali Linux:
1 |
Kali > apt install kate |
Создание сканера WiFi сетей на Python и Scapy
Запустите новый проект в Kate или другом текстовом редакторе. Первое, что нужно сделать с любым скриптом Python, — это сообщить системе, какой интерпретатор мы хотим использовать, а затем импортировать все необходимые модули. В этом случае нам понадобятся модули scapy, sys, signal и os.
Чтобы импортировать scapy введите:
1 |
from scapy.all import * |
Если еще не установили scapy, вам нужно будет это сделать сейчас:
1 |
kali > git clone https://github.com/secdev/scapy.git |
1 |
kali > cd scapy |
1 |
kali > sudo python setup.py install |
Завершение скрипта по Ctrl+C
Следующим шаг — создание функции, которая будет останавливать скрипт по нажатию на Ctrl+C и отображать пользователю соответствующее сообщение.
Функции выхода
Сообщение о неправильном синтаксисе
Основной синтаксис этого скрипта:
1 |
python ./WiFiScanner -i |
Эта функция проверяет синтаксис и если он неверен, отображаете сообщение, о правильном синтаксисе.
Прослушивание пакетов
В этой функции мы будем использовать scapy для прослушивания беспроводных пакетов.
Проверка пакетов на содержание кадра маяка
Мы уже можем снифить пакеты. Теперь проверим, являются ли перехваченные кадры сигнальными кадрами. Мы уже говорили, что кадры-маяки обозначаются типом 0 и подтипом 8.
Отслеживание обнаруженных SSID
Создаем функцию для отслеживания обнаруженных SSID. Это предотвратит отображение уже обнаруженных SSID.
Перевод беспроводного интерфейса в режим мониторинга
Эта функция переводит беспроводной интерфейс в режим монитора. В Wi-Fi режим монитора аналогичен беспорядочному режиму в проводных сетевых адаптерах. Это позволяет интерфейсу «видеть» весь трафик Wi-Fi.
Проверка прав root
Для правильной работы scapy требуется, чтобы у пользователя были права root. Следующая функция проверяет, равен ли userid 0 (root). В Linux пользователю root назначается UserID = 0. В противном случае отображается сообщение, что для запуска этого сценария пользователь должен быть root.
Основная часть кода
Теперь мы входим в тело основного кода, где мы будем выполнять каждую из определенных выше функций.
Запуск сканера Wi-Fi сетей на Python и Scapy
Сохраните скрипт, например как WiFiScanner и измените права на выполнение (chmod 755).
Чтобы запустить сканер Wi-Fi, выполните команду:
1 |
kali > python ./WiFiScanner -i wlan0 |
Как видите, скрипт может найти все точки доступа Wi-Fi в радиусе действия и отобразить ключевую информацию, необходимую для их взлома.
Заключение
Этот простой скрипт использует функциональность scapy для прослушивания кадров маяков Wi-Fi, чтобы отобразить все точки доступа Wi-Fi в диапазоне с их каналом, BSSID, типом шифрования и SSID. Теперь вы можете использовать эту информацию для аудита Wi-Fi. Большая благодарность HackersArise!
РЕКОМЕНДУЕМ:
- Взлом WiFi на Python
- Глушение WiFi-сети и клиентов
- Лучший WiFi-адаптер для Kali Linux (цена-качество)