Создание сканера Wi-Fi сетей на Python и Scapy

Сканер 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.

Написать сканер WiFi сетей Python Scapy

Этот кадр включает в себя различную информацию:

  • Канал
  • BSSID
  • Тип шифрования
  • SSID

Если мы сможем получить эти кадры и проанализировать эту информацию, мы сможем создать сканер, который действует аналогично kismet или airodump-ng.

Сканер WiFi Python Scapy

Для простоты в этом первом скрипте мы создадим сканер WiFi, который захватывает и отображает только канал, BSSID, шифрование и SSID.

Выбор текстового редактора или IDE

Для написания скриптов понадобится текстовый редактор. Подойдет любой текстовый редактор, такой как Leafpad, Vim, Gedit, Vi, Kate и т. д. Если вы умеете создавать скрипты с помощью IDE PyCharm, еще лучше.

В моем случае будет использоваться Kate — простой текстовый редактор с некоторыми возможностями IDE, полезными для Python, такими как проверка отступов и синтаксис. Если он у вас не установлен, вы можете установить его из репозитория Kali Linux:

Сканера WiFi на Python и Scapy

Создание сканера WiFi сетей на Python и Scapy

Запустите новый проект в Kate или другом текстовом редакторе. Первое, что нужно сделать с любым скриптом Python, — это сообщить системе, какой интерпретатор мы хотим использовать, а затем импортировать все необходимые модули. В этом случае нам понадобятся модули scapy, sys, signal и os.

Чтобы импортировать scapy введите:

Если еще не установили scapy, вам нужно будет это сделать сейчас:

Установка Scapy Kali Linux

Завершение скрипта по Ctrl+C

Следующим шаг — создание функции, которая будет останавливать скрипт по нажатию на Ctrl+C и отображать пользователю соответствующее сообщение.

Функции для завершения скрипта по Ctrl+C

Функции выхода

Функции для выхода

Сообщение о неправильном синтаксисе

Основной синтаксис этого скрипта:

Эта функция проверяет синтаксис и если он неверен, отображаете сообщение, о правильном синтаксисе.

Сообщение о правильном синтаксисе

Прослушивание пакетов

В этой функции мы будем использовать scapy для прослушивания беспроводных пакетов.

Прослушивание пакетов

Проверка пакетов на содержание кадра маяка

Мы уже можем снифить пакеты. Теперь проверим, являются ли перехваченные кадры сигнальными кадрами. Мы уже говорили, что кадры-маяки обозначаются типом 0 и подтипом 8.

Проверка пакетов на содержание кадра маяка

Отслеживание обнаруженных SSID

Создаем функцию для отслеживания обнаруженных SSID. Это предотвратит отображение уже обнаруженных SSID.

Отслеживание обнаруженных SSID

Перевод беспроводного интерфейса в режим мониторинга

Эта функция переводит беспроводной интерфейс в режим монитора. В Wi-Fi режим монитора аналогичен беспорядочному режиму в проводных сетевых адаптерах. Это позволяет интерфейсу «видеть» весь трафик Wi-Fi.

Перевод беспроводного интерфейса в режим мониторинга

Проверка прав root

Для правильной работы scapy требуется, чтобы у пользователя были права root. Следующая функция проверяет, равен ли userid 0 (root). В Linux пользователю root назначается UserID = 0. В противном случае отображается сообщение, что для запуска этого сценария пользователь должен быть root.

Проверка пользователь root

Основная часть кода

Теперь мы входим в тело основного кода, где мы будем выполнять каждую из определенных выше функций.

Основная часть кода сканера WiFi сетей на Python

Запуск сканера Wi-Fi сетей на Python и Scapy

Сохраните скрипт, например как WiFiScanner и измените права на выполнение (chmod 755).

Чтобы запустить сканер Wi-Fi, выполните команду:

Запуск сканера Wi-Fi сетей на Python и Scapy

Как видите, скрипт может найти все точки доступа Wi-Fi в радиусе действия и отобразить ключевую информацию, необходимую для их взлома.

Заключение

Этот простой скрипт использует функциональность scapy для прослушивания кадров маяков Wi-Fi, чтобы отобразить все точки доступа Wi-Fi в диапазоне с их каналом, BSSID, типом шифрования и SSID. Теперь вы можете использовать эту информацию для аудита Wi-Fi. Большая благодарность HackersArise!

РЕКОМЕНДУЕМ:

ВКонтакте
OK
Telegram
WhatsApp
Viber

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *