November 26, 2018

Гаси волну! Выбираем и настраиваем аппаратный деаутентификатор Wi-Fi на ESP8266.

Нихау, бегущие в тенях! Привет, случайный подписчик. Сегодня поговорим о такой крутой штуке, как Wi-Fi jammer, или глушилка Wi-Fi. Так вот, это гаджет, который предназначен для отключения беспроводных устройств от хотспота. Зачем это нужно? Можешь вообразить себе как дружеский розыгрыш (сосед, конечно, обрадуется, когда ты оборвешь его порнуху или, например, футбольный матч на самом интересном месте), так и криминальное применение: злоумышленник может отключить от сети камеры слежения или другое важное оборудование. В этой статье мы разберем, какие есть недорогие варианты аппаратных деаутентификаторов, как ими пользоваться и как защититься от подобных атак.

Поехали:

Как работает «глушилка»

В отличие от настоящих глушилок, которые перебивают сигнал радиопередатчика своим более сильным сигналом, деаутентификатор работает на программном уровне. Он реализует атаку типа «отказ в обслуживании», отправляя на роутер фрейм деаутентификации от имени подключенных к сети устройств. Поскольку этот фрейм никак не шифруется, глушилке достаточно выведать MAC-адреса устройств, поснифав трафик в сети.

Обычно деаутентификация — это часть комплексной атаки на сеть. Она используется при создании «злого двойника» точки доступа либо для перехвата хендшейка, что затем позволяет расшифровать пароль. Однако глушилка может быть полезной и сама по себе.

WARNING

Все рассмотренные советы настоятельно рекомендуется использовать только в образовательных целях. Блокировка передачи данных и использование рассмотренных средств может преследоваться по закону. Для проведения тестов на проникновение требуется получить соответствующее письменное подтверждение заказчика. Помни, что данные о деавторизации сохраняются в логах роутера. Проще говоря, киберсталкеры, не попадайтесь. Поймают - до суда не доживёте.

В последнее время большую популярность приобрели недорогие и миниатюрные платы с поддержкой программной платформы NodeMCU. Они построены на модуле ESP8266, который реализует работу с Wi-Fi по стандарту 802.11b/g/n на частоте 2,4 ГГц. Сейчас встречается два варианта подобных плат: с чипом CP2102 американской компании Silicon Labs или с китайским CH340.

Эти платы позиционируются как устройства для прототипирования: на их основе умельцы создают автоматизированные системы, управляемые по Wi-Fi. Тема сама по себе довольно захватывающая, но нас сейчас интересует другое — возможность использования NodeMCU для проведения атак.

Для полноценного мониторинга и инъекции пакетов ESP8266 непригоден в силу технических ограничений, однако его можно использовать в качестве деаутентификатора — что и привело к появлению соответствующих прошивок. В прошлом году хороший человек с псевдонимом Spacehuhn зарелизил первую из них, но с тех пор появились и другие версии — с дополнительными возможностями. Впрочем, прежде чем переходить к софту, определимся с выбором железа.

В данной статье будет продемонстрирован процесс на примере платы китайского производителя Dstike: на ней стоит ESP8266 и есть режимы работы в качестве клиента (P2P) и точки доступа (soft-AP). Управлять платой можно со смартфона или любого другого устройства с Wi-Fi.

Важно! Работоспособность программного обеспечения не зависит ни от чипа, ни от платы — ты можешь выбрать любой вариант по своему усмотрению. Одних только продуктов Dstike несколько вариантов в разном исполнении и для использования в разных ситуациях. Все их объединяет одно — возможность глушить сети.

Разновидности устройств Dstike

Deauther Wristband — браслет со встроенным дисплеем, батареей и переключателем. Удобное устройство для быстрого доступа к панели управления.

Deauther Power Bank — с модифицированным контроллером заряда; управление осуществляется через специальную панель. На контроллере есть разъем для подключения внешней антенны. Аккумуляторы в комплект не входят. Это незаметное устройство, которое можно с легкостью оставить где-нибудь и использовать удаленно.

Deauther OLED V3.5 — в этом варианте ты дополнительно получишь разъем для подключения внешней антенны и держатель для аккумулятора на 18650 мА · ч. Управляется устройство при помощи кнопок и переключателя, а вывод поступает на экран, что позволяет использовать этот вариант без дополнительного оборудования.

Главное преимущество этих гаджетов — в возможности выбора определенной сети или всех сразу в радиусе действия устройства. Отмечу на всякий случай, что для проведения атак пароль от Wi-Fi не потребуется!

Установка Deauther 2.0

Начнем с Deauther 2.0 — той самой прошивки, которую разработал Spacehuhn. В его репозитории на GitHub ты можешь выбрать версию для конкретной платы.

Файлы с расширением bin — это скомпилированные скетчи. Их нужно устанавливать на плату через специальный загрузчик. Но если захочешь, то в архивах с исходным кодом ты отыщешь библиотеки и скетчи, которые можно поставить через Arduino IDE.

Загрузка .bin

Если ты выбрал вариант с загрузкой бинарника, то для начала запускай программу NodeMCU Flasher. Скачать ее можно в репозитории NodeMCU.

Устанавливаем драйверы для CP2102 либо для CH340. После этого подключаем плату к компьютеру, открываем программу NodeMCU Flasher, выбираем порт COM в диспетчере устройств в разделе «Порты (COM и LPT)». Теперь переходим во вкладку Config, жмем на шестеренку и выбираем скачанный файл .bin.

После добавления файла в строке слева появится его путь. Переходи во вкладку Operation и нажимай на Flash — прошивка после этого будет загружена в плату.

Загрузка через Arduino IDE

Если тебе удобнее устанавливать через Arduino IDE, то процесс слегка другой. Первым делом точно так же качаем драйверы (CP2102CH340). Затем открываем Arduino IDE и в меню «Файл» ищем «Настройки», нажимаем на «Добавление ссылки для менеджера плат» и вставляем две ссылки:

Все сохраняем.

Открываем вкладку «Инстр��менты» и выбираем пункт «Менеджер плат» из меню «Плата: …».

Выбираем «Внесены» и устанавливаем arduino-esp-8266-deauther и esp8266.

Открываем папку со скетчем и библиотеками, переходим в «Инструменты». Настройки должны стоять как у меня на скриншоте.

В строке «Плата» выбирай из списка ESP8266 Deauther Modules.

В строке Flash size выбираем свой модуль. Прошивку и объем памяти ставь как на картинке ниже.

Далее загружаем прошивку.

После включения плата создаст точку доступа. Подключайся к ней и заходи по адресу 192.168.4.1 или deauth.me. Ты попадешь в конфигуратор и увидишь предупреждение.

В разделе конфигурации в строке LANG указываем ru для включения русского языка в веб-интерфейсе. Чтобы настройки вступили в силу, нужно нажать на «Сохранить» и перезагрузить устройство. Теперь оно готово к работе, можно начинать портить жизнь соседям.

Обзор возможностей и настройки

Давай быстро пройдемся по приложению и посмотрим, на что теперь способна наша платка.

Если подключить глушилку по последовательному порту, то с помощью команд можно управлять джеммером. Эту функцию можно отключить в настройках, если убрать галочку SERIAL.

Команды для управления по последовательному порту

  • scan [<all/aps/stations>] [-t <time>] [-c <continue-time>] [-ch <channel>]
  • show [selected] [<all/aps/stations/names/ssids>]
  • select [<all/aps/stations/names>] [<id>]
  • deselect [<all/aps/stations/names>] [<id>]
  • add ssid <ssid> [-wpa2] [-cl <clones>]
  • add ssid -ap <id> [-cl <clones>] [-f]
  • add ssid -s [-f]
  • add name <name> [-ap <id>] [-s]
  • add name <name> [-st <id>] [-s]
  • add name <name> [-m <mac>] [-ch <channel>] [-b <bssid>] [-s]
  • set name <id> <newname>
  • enable random <interval>
  • disable random
  • load [<all/ssids/names/settings>] [<file>]
  • save [<all/ssids/names/settings>] [<file>]
  • remove <ap/station/name/ssid> <id>
  • remove <ap/station/names/ssids> [all]
  • attack [beacon] [deauth] [deauthall] [probe] [nooutput] [-t <timeout>]
  • attack status [<on/off>]
  • stop <all/scan/attack>
  • sysinfo
  • clear
  • format
  • print <file> [<lines>]
  • delete <file> [<lineFrom>] [<lineTo>]
  • replace <file> <line> <new-content>
  • copy <file> <newfile>
  • rename <file> <newfile>
  • run <file>
  • write <file> <commands>
  • get <setting>
  • set <setting> <value>
  • reset
  • chicken
  • reboot
  • info
  • // <comments>
  • send deauth <apMac> <stMac> <rason> <channel>
  • send beacon <mac> <ssid> <ch> [wpa2]
  • send probe <mac> <ssid> <ch>
  • led <r> <g> <b> [<brightness>]
  • led <#rrggbb> [<brightness>]
  • led <enable/disable>
  • draw
  • screen <on/off>
  • screen mode <menu/packetmonitor/buttontest/loading>

Через 600 секунд после начала атак они автоматически прекратятся. Если не хочешь, чтобы это происходило, то можешь вручную настроить отключение по времени, задав значение в меню ATTACKTIMEOUT: укажи 0, и атаки перестанут автоматически отключаться.

Если в разделе сканирования нажать Scan APs, то глушилка находит все точки доступа Wi-Fi. Выбираешь одну или несколько сетей, и можно переходить в раздел атак. Режим Deauthотключает все устройства от выбранной сети. Режим Beacon позволяет создавать одновременно до 60 точек доступа.

Сканирование и виды атак

В разделе SSIDs создаются точки доступа для атаки Beacon.

В прошивке предусмотрена возможность подключения дисплея — для версии устройства с ним. Но при желании ты можешь и сам припаять к плате экран и кнопки, а также обеспечить автономное питание, чтобы превратить ее в независимое устройство.

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

Авторы периодически обновляют прошивку и добавляют новые функции, так что следи за апдейтами!

Wi-PWN

Рассмотрим аналогичную прошивку Wi-PWN, которую разработал Сэм Денти (samdenty99). Он улучшил творение Spacehuhn и добавил функции детектора деаутентификации, а также создал сопутствующее приложение для Android. В итоге использовать Wi-PWN удобнее, чем Deauther 2.0.

После скачивания и распаковки архива потребуется прошить плату и установить приложение на телефон. В папке ты найдешь программу ESP8266Flasher. Запусти ее, выбирай COM-порт и в разделе Config — прошивку (она находится по пути *\Wi-PWN-master\arduino\Wi-PWN). Теперь жми Flash во вкладке Operation.

С телефона подключаемся к плате по Wi-Fi.

Открываем скачанное приложение, соглашаемся с правилами, указываем имя и пароль сети. После настройки подключаемся к новому Wi-Fi.

Настройка точки доступа и завершение установки

В приложении есть несколько вкладок с говорящими названиями:

  • Scan — раздел с поиском и выбором нескольких точек доступа;
  • Users — функция сканирования определенного Wi-Fi на наличие подключений и создание собственных «пользователей»;
  • Attack — атаки аналогичны версии Spacehuhn, но при клонировании сетей максимальное число пользователей — 48 вместо 60 (столько было в ранних версиях Deauther);
  • Detector — функция, которая позволяет сканировать каналы и определять глушилки;
  • Settings — настройка сервера Wi-Fi (имя, пароль сети). Здесь же можно включить клиент Wi-Fi и настроить параметры сканирования и атаки.

WARNING

Для стабильной работы устройства рекомендую прикрепить радиатор к греющейся части устройства. В противном случае джеммер может перегреться и выключиться.

Пара слов о защите

NodeMCU — это дешевое, универсальное, мощное и компактное решение для деаутентификации. Повторить весь проект можно быстро и без особых усилий. А раз это может сделать кто угодно, то неплохо подумать и о защите.

Большинство популярных роутеров используют стандарты IEEE 802.11b/g/n, которые подвержены глушению. Если хочешь исключить такую вероятность, то ищи роутер с поддержкой стандарта 802.11w, который полностью защищает пользователей от этой атаки.

В некоторых роутерах есть защита от спама, но она работает только с подключенными к сети устройствами, а Wi-Fi jammer к сети не подключается. Если у твоего роутера есть защита от спама, которая работает и с неподключенными устройствами, то советуем ее активировать!

Для тех, кто в теме либо очень хочет научиться:

Подборка полезностей для работы с ESP8266, собранная братьями-tenevikami. Работаем, тени, работаем.