WiFi деаутентификатор или мультитул для WiFi
В данной статье мы рассмотрим проект карманного устройства на базе Wemos D1 Mini. Оно способно сканировать сети WiFi, отправлять пакеты деаутентификации в выбранных сетях, а также создавать десятки фальшивых WiFi сетей для сбивания с толку сканеров. Несмотря на то, что такие устройства могут использоваться в незаконных целях, мы напоминаем, что данный проект создан исключительно в образовательных и развлекательных целях, и не призывает к нарушению закона. В статье будут рассмотрены все этапы создания устройства, включая настройку и прошивку, а также научимся контролировать и управлять его работой.
Прежде чем начать, следует рассказать о важном отличии между WiFi деаутентификатором и WiFi глушилкой. В то время как глушилка просто создает шум в определенном диапазоне частот (например, 2,4 ГГц), атака с деаутентификацией возможна только из-за уязвимости в стандарте Wi-Fi (802.11). Устройство из этого проекта не создает помех ни на каких частотах. Оно просто отправляет несколько пакетов Wi-Fi, которые позволяют определенным устройствам отключиться. Это позволяет вам конкретно выбирать каждую цель. Глушилка просто блокирует все в радиусе действия, и поэтому ее использование незаконно.
Введение и немного предыстории
Я живу в многоквартирном доме и имею множество соседей. В большинстве своем это очень хорошие и отзывчивые люди, но есть и те, которые не учитывают мнение окружающих и не соблюдают правила общежития. Мой сосед-меломан - именно такой.
Особых проблем он раньше не доставлял, разве что любилпошуметь перфоратором в выходные дни или поздним вечером, но всё плохое, в том числе и ремонт, рано или поздно кончается. И пару месяцев я наслаждался долгожданной тишиной и спокойствием. Но, как выяснилось, это было затишье перед бурей. Сосед купил себе умную колонку с Алисой. Теперь с раннего утра до поздней ночи в квартире не умолкают веселые трели русской попсы вперемешку с "остроумными комментариями " Алисы.
Я пытался поговорить с соседом, объяснить, что его музыка мешает мне и другим жителям. Но он был настроен агрессивно и не желал слышать ничьих просьб. Я даже обратился в полицию, но они не смогли мне помочь.
Тогда я подумал, что было бы неплохо иметь небольшое портативное устройство, которое будет отключать соседской колонке доступ к wifi сети в особо яркие часы обострения его меломанской натуры.
Конечно, я не призываю нарушать закон и делать что-то незаконное. Я понимаю, что это не самое дешевое и правильное решение. Все это плод моей больной фантазии, чтобы защитить свои права на комфортное проживание в своей квартире.
Конечно было бы неплохо, когда мой сосед-меломан вдруг решит поделится глубокой ночью своим безупречным музыкальным вкусом со всем домом, с помощью своей умной колонки работающей на полную громкость, включить это гипотетическое, не менее умное устройство, в розетку на полчасика. И удовлетворенно услышав через стенку обиженный голос Алисы, что отсутствует подключение к интернету, и последующую громкую ругань соседа, спокойно наслаждаться заслуженным отдыхом.
Конечно же, я так делать никогда не буду и вам категорически не рекомендую. Если у вас есть такой же сосед-меломан, я советую сначала попробовать пообщаться с ним и договориться. Но если это не помогает, можно обратиться за помощью к специалистам или юристам. Но если уж совсем ничего не помогает, то попробуйте отвлечься сборкой этого проекта. А потом поэкспериментировать со своей домашней wifi сетью. Главное - не забывайте о мерах предосторожности и не нарушайте закон.
Необходимые компоненты
Для использования базового функционала устройства вам достаточно иметь в наличии любую плату на базе ESP8266. Это может быть Wemos D1 Mini, NodeMCU, ESP01 и подобные.
Если хочется чего-то более сложного и универсального, то дополнительно вам понадобятся:
- OLED экран SSD1306 желательно с I2C интерфейсом
- 3 тактовых кнопки
- Кусок макетной платы для размещения компонентов
- Немного проводов для соединений
Сборка проекта
Размещаем все компоненты на макетной плате, припаиваем и соединяем проводами по схеме:
Wemos D1 Mini можно приклеить на обратную сторону платы термоклеем. Общий вид того что получилось на фото ниже:
После сборки и проверки всех соединений мультиметром можно приступать к прошивке устройства.
Прошивка устройства
Прошить устройство можно одним из следующих способов. Загрузка предварительно скомпилированной прошивки с помощью программы ESP Tool и ей подобных, либо сборка из исходников через Arduino IDE.
Прошивка через ESP Tool
Самый простой способ прошивки. Скачайте последнюю версию программы с github репозитория.
Далее подключите устройство к любому свободному USB порту компьютера и запустите программу. Выберите виртуальный COM порт для прошивки и скорость передачи данных. Затем выберите с помощью кнопки Browse, напротив надписи Firmware, версию файла для прошивки.
- ESP8266_deauther.bin - для "голой" платы Wemos D1 Mini
- ESP8266_deauther_OLED.bin - для устройств с OLED экраном и кнопками.
Для проверки правильности настроек можно использовать картинку ниже:
Далее жмите кнопку Upload и ожидайте завершения процесса.
Прошивка с помощью Arduino IDE
- Исходный код проекта находится в папке src
- Откройте
esp8266_deauther.ino
с помощью Arduino. - В Arduino перейдите по
File
>Preferences
добавьте этот URL вAdditional Boards Manager URLs
:https://raw.githubusercontent.com/SpacehuhnTech/arduino/main/package_spacehuhn_index.json
- Перейдите в
Tools
>Board
>Boards Manager
, выполните поискdeauther
и установитеDeauther ESP8266 Boards
- Выберите свою плату в
Tools
>Board
и убедитесь, что она находится вDeauther ESP8266 Boards
(а не вESP8266 Modules
)! - В зависимости от вашей платы вам, возможно, придется выбрать настройку конфигурации на
Tools
>Deauther Config
- Если вам необходимо сбросить настройки предыдущей прошивки, обязательно выберите
Tools
>Erase Flash
>All Flash Contents
- Если вы хотите добавить поддержку дисплея, светодиода или кнопок, то дополнительно необходимо выполнить несколько шагов:
- В Arduino в разделе
tools > Deauther Config
выберитеDisplay Example I2C
илиDisplay Example SPI
в зависимости от типа подключения вашего дисплея. - В редакторе кода откройте вкладку
A_config.h
- Прокрутите вниз до
#if defined(DISPLAY_EXAMPLE_I2C)
или#elif defined(DISPLAY_EXAMPLE_SPI)
- При необходимости переназначьте используемые пины исходя из ваших настроек подключения. Также можете изменить тип используемого дисплея. Доступные варианты:
#define SH1106_I2C, #define SSD1306_I2C, #define SH1106_SPI, #define SSD1306_SPI
- В Arduino в разделе
- Проверьте настройки и нажмите Загрузить.
Тестирование и отладка
После установки прошивки, откройте любую программу терминала умеющую работать с последовательным портом. Например, можете воспользоваться монитором последовательного порта в Arduino IDE.
Установите скорость передачи данных на 115200 и выберите Newline
.
Если вы видите, что устройство перезагружается каждые несколько секунд, проверьте код! Чаще всего причина в том, что дублируются пины для дисплея, кнопки или светодиода.
Также проверьте пайку на макетной плате на замыкание между соседними пинами!
Если на дисплее нет изображения, то введите в терминале set display true;;save settings
и нажмите enter. Далее нажмите кнопку сброса на плате, для перезапуска. Если экран ничего не показывает, значит еще раз проверьте подключение и свой код!
Чтобы проверить, все ли кнопки работают правильно, используйте команду screen mode buttontest
. Чтобы вернуться в рабочий режим используйте команду screen mode menu
.
Управление устройством
Управление осуществляется через веб интерфейс. Также при наличии подключенного экрана и кнопок, можно управлять устройством напрямую.
Управление через веб интерфейс
При запуске устройство создает точку доступа pwned c паролем deauther. Подключитесь к ней любым удобным способом, откройте браузер и перейдите по адресу 192.168.4.1 или deauth.me.
Откроется страница с предупреждением и отказом от ответственности. Внимательно прочитайте его и нажмите на кнопку ниже.
После нажатия на кнопку открывается страница сканирования.
Здесь вы можете начать сканирование на наличие точек доступа (сетей Wi-Fi) и станций (клиентских устройств) и посмотреть, сколько сетей находится вокруг вас.
Обратите внимание, что сканирование занимает от 2 до 5 секунд. При запуске должен загореться светодиод на плате. Когда он выключится, сканирование будет завершено, и вы можете нажать "Reload", чтобы загрузить результаты.
Теперь можно пролистать список и выбрать сети для атаки.
На странице SSID находятся различные настройки генерации фейковых точек доступа используемые для атак типа Beacon и Probe.
На странице Attacks вы можете запускать различные атаки на устройства WiFi.
Возможны следующие варианты атак:
-
Deauth - Закрывает соединение устройств Wi-Fi, отправляя кадры деаутентификации выбранным вами точкам доступа и клиентским устройствам.Это возможно только потому, что многие устройства не используют стандарт 802.11w-2009, который обеспечивает защиту от этой атаки.
Выбирайте только одну цель! Когда вы выбираете несколько целей, работающих по разным каналам, и начинаете атаку, она быстро переключается между этими каналами, и у вас нет возможности повторно подключиться к точке доступа, на которой размещен этот веб-интерфейс.
-
Beacon - Непрерывная отправка пакетов-маяков будет выглядеть так, будто вы создали новые сети Wi-Fi. Вы можете указать имена сетей в разделе SSID. На моем смартфоне это выглядит примерно так:
-
Probe - Клиентские устройства отправляют запросы на проверку, находится ли поблизости известная сеть. Используйте эту атаку, чтобы сбить с толку WiFi-трекеры, запрашивая сети, указанные вами в списке SSID. Маловероятно, что вы увидите какое-либо воздействие этой атаки на вашу домашнюю сеть.
И, наконец, страница настроек. Служит для изменения различных настроек устройства. Для применения параметров нажмите кнопку Save, затем Reload.
Управление с помощью экрана и кнопок
Функционал практически полностью аналогичен управлению через веб интерфейс, хотя и отсутствует множество тонких настроек. Можно сканировать Wifi, атаковать выбранные сети и запускать атаки типа beacon и probe. Также доступен монитор пакетов Wifi, для оценки загруженности той или иной сети. И бонусом идут небольшие часики с текущим временем. Плюсом данного метода управления является возможность использовать устройство напрямую без посредников, а также улучшенная стабильность работы по сравнению с веб интерфейсом.
Ниже несколько фотографий интерфейса:
Основной экран
Экран запуска атак:
Монитор пакетов:
Перемещение по пунктам меню осуществляется кнопками Вверх и Вниз, выбор и подтверждение центральной кнопкой.
Заключение
В данной статье был представлен проект карманного устройства на базе Wemos D1 Mini, которое обладает функциями сканирования сетей WiFi, отправки пакетов деаутентификации и создания фальшивых WiFi сетей. Важно отметить, что несмотря на потенциальное незаконное использование таких устройств, данный проект разработан исключительно в образовательных и развлекательных целях, не призывая к нарушению закона. В статье были рассмотрены все этапы создания устройства, включая настройку и прошивку, а также предоставлены инструкции по контролю и управлению его работой.
Если вас заинтересовало данное устройство, то вы можете также посетить Github репозиторий автора проекта для получения свежей версии прошивки и более подробной документации.