Глушилка WiFi сигнала на ESP8266
Wi-Fi jammer, или глушилка WiFi, — это устройство, которое предназначено для отключения беспроводных устройств от точки доступа. Зачем это нужно? Можете вообразить себе как дружеский розыгрыш, так и криминальное применение: злоумышленник может отключить от сети камеры слежения или другое важное оборудование. В сегодняшней статье мы разберемся, какие есть дешевые варианты WiFi-глушилок (аппаратных деаутентификаторов), как ими пользоваться и как защититься от подобных атак.
Как работает глушилка WiFi
В отличие от настоящих глушилок, которые перебивают сигнал радиопередатчика своим более сильным сигналом, деаутентификатор работает на программном уровне. Он реализует атаку типа «отказ в обслуживании», отправляя на роутер фрейм деаутентификации от имени подключенных к сети устройств. Поскольку этот фрейм никак не шифруется, глушилке достаточно выведать MAC-адреса устройств, поснифав трафик в сети.
Обычно деаутентификация — это часть комплексной атаки на сеть. Данная атака используется при создании «злого двойника» точки доступа или для перехвата хендшейка, что затем позволяет расшифровать пароль. Однако глушилка WiFi может быть полезной и сама по себе.
Все рассмотренные в статье советы настоятельно рекомендуется использовать только в образовательных целях. Блокировка передачи данных и использование рассмотренных средств может преследоваться по закону. Для проведения тестов на проникновение требуется получить соответствующее письменное подтверждение заказчика. Помните, что данные о деавторизации сохраняются в логах роутера.
В последнее время большую популярность приобрели недорогие и миниатюрные платы с поддержкой программной платформы NodeMCU. Они построены на модуле ESP8266, который реализует работу с Wi-Fi по стандарту 802.11 b/g/n на частоте 2,4 ГГц. Сейчас встречается два варианта подобных плат: с чипом CP2102 американской компании Silicon Labs или с китайским CH340.
Данные платы позиционируются как девайсы для прототипирования: на их основе технари создают автоматизированные системы, контролируемые по WiFi. Тема сама по себе очень интересная, но нас в данный момент интересует другое — возможность применения NodeMCU для проведения атак.
Для полноценного мониторинга и инъекции пакетов ESP8266 не подходит в силу технических ограничений, но его можно пустить в ход в качестве деаутентификатора — что и привело к появлению соответствующих прошивок. Год назад хороший человек с псевдонимом Spacehuhn выложил первую из них, но с тех пор появились и другие версии — с дополнительными возможностями. Впрочем, прежде чем переходить к программной части, определимся с выбором устройств.
Если вы выбираете более серьезное оборудование для вардрайвинга — с режимом мониторинга и, может быть, даже возможностью проводить MiTM-атаки в сети, — то ознакомтесь с нашей предыдущей статьей.
В рамках этой статьи я буду демонстрировать процесс на примере платы китайского производителя Dstike: на ней стоит ESP8266 и есть режимы работы в качества клиента (P2P) и точки доступа (soft-AP). Управлять платой можно со телефона или любого другого устройства с WiFi.
Отмечу, что работоспособность программного обеспечения не зависит ни от чипа, ни от платы — вы можете выбрать любой вариант по вашему усмотрению. Одних только продуктов Dstike несколько вариантов в разном исполнении и для использования в разных ситуациях. Все их объединяет одно — возможность глушить сети.
Разновидности устройств Dstike
Deauther Wristband — браслет со встроенным дисплеем, батареей и переключателем. Удобное устройство для быстрого доступа к панели управления.
Deauther Power Bank — с модифицированным контроллером заряда; управление осуществляется через специальную панель. На контроллере есть разъем для подключения внешней антенны. Аккумуляторы в комплект не входят. Это незаметное устройство, которое можно с легкостью оставить где-нибудь и использовать удаленно.
Deauther OLED V3.5 — в этом варианте вы дополнительно получите разъем для подключения внешней антенны и держатель для аккумулятора на 18650 мА · ч. Управляется устройство при помощи кнопок и переключателя, а вывод поступает на экран, что позволяет использовать этот вариант без дополнительного оборудования.
Главное преимущество этих гаджетов — в возможности выбора определенной сети или всех сразу в радиусе действия устройства. Отмечу на всякий случай, что для проведения атак пароль от WiFi не потребуется!
Установка 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, то процесс слегка другой. Первым делом точно так же качаем драйверы (CP2102, CH340). Затем открываем Arduino IDE и в меню «Файл» ищем «Настройки», нажимаем на «Добавление ссылки для менеджера плат» и вставляем две ссылки:
Открываем вкладку «Инструменты» и выбираем пункт «Менеджер плат» из меню «Плата: …».
Выбираем «Внесены» и устанавливаем arduino-esp-8266-deauther и esp8266.
Открываем папку со скетчем и библиотеками, переходим в «Инструменты». Настройки должны стоять как у меня на скриншоте.
В строке «Плата» выбирайте из списка ESP8266 Deauther Modules.
В строке Flash size выбираем свой модуль. Прошивку и объем памяти ставьте как на картинке ниже.
После включения плата создаст точку доступа. Подключайтесь к ней и заходите по адресу 192.168.4.1 или deauth.me. Вы попадете в конфигуратор и увидите предупреждение.
В разделе конфигурации в строке LANG указываем ru для включения русского языка в веб-интерфейсе. Чтобы настройки вступили в силу, нужно нажать на «Сохранить» и перезагрузить устройство. Теперь оно готово к работе.
Обзор возможностей и настройки
Давайте быстро пройдемся по приложению и посмотрим, на что теперь способна наша платка.
Если подключить глушилку по последовательному порту, то с помощью команд можно управлять джеммером. Эту функцию можно отключить в настройках, если убрать галочку SERIAL.
Команды для управления по последовательному порту
Через 600 секунд после начала атак они автоматически прекратятся. Если не хотите, чтобы это происходило, то можете вручную настроить отключение по времени, задав значение в меню ATTACKTIMEOUT: укажите 0, и атаки перестанут автоматически отключаться.
Если в разделе сканирования нажать Scan APs, то глушилка находит все точки доступа Wi-Fi. Выбираете одну или несколько сетей, и можно переходить в раздел атак. Режим Deauth отключает все устройства от выбранной сети. Режим Beacon позволяет создавать одновременно до 60 точек доступа.
В разделе SSIDs создаются точки доступа для атаки Beacon.
В прошивке предусмотрена возможность подключения дисплея — для версии устройства с ним. Но при желании вы можете и сами припаять к плате экран и кнопки, а также обеспечить автономное питание, чтобы превратить ее в независимое устройство.
Также разработчики прошивки, помимо самой WiFi-глушилки, продают и устройство, которое позволяет его обнаруживать.
Авторы периодически обновляют прошивку и добавляют новые функции, так что следи за апдейтами!
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.
Открываем скачанное приложение, соглашаемся с правилами, указываем имя и пароль сети. После настройки подключаемся к новому WiFi.
В приложении есть несколько вкладок с говорящими названиями:
- Scan — раздел с поиском и выбором нескольких точек доступа;
- Users — функция сканирования определенного Wi-Fi на наличие подключений и создание собственных «пользователей»;
- Attack — атаки аналогичны версии Spacehuhn, но при клонировании сетей максимальное число пользователей — 48 вместо 60 (столько было в ранних версиях Deauther);
- Detector — функция, которая позволяет сканировать каналы и определять глушилки;
- Settings — настройка сервера WiFi (имя, пароль сети). Здесь же можно включить клиент WiFi и настроить параметры сканирования и атаки.
Для стабильной работы устройства рекомендую прикрепить радиатор к греющейся части устройства. В противном случае джеммер может перегреться и выключиться.
Защита от WiFi-глушилок
NodeMCU — это дешевое, универсальное, мощное и компактное решение для деаутентификации. Повторить весь проект можно быстро и без особых усилий. А раз это может сделать кто угодно, то неплохо подумать и о защите.
Большинство популярных роутеров используют стандарты IEEE 802.11b/g/n, которые подвержены глушению. Если хотите исключить такую вероятность, то ищите роутер с поддержкой стандарта 802.11w, который полностью защищает пользователей от глушилок WiFi.
В некоторых роутерах есть защита от спама, но она работает только с подключенными к сети устройствами, а WiFi jammer к сети не подключается. Если у вашего роутера есть защита от спама, которая работает и с неподключенными устройствами, то советую ее активировать!