Содержание
Free_Wi-Fi… как же приятно видеть подобное оповещение на экране смартфона или другого гаджета, когда ты присел отдохнуть в кафе торгового центра или аэропорта перед вылетом. Так уж устроен человек, что тянет его ко всему дармовому. Однако каждому известно, где чаще всего бывает бесплатный сыр. Какие опасности таит в себе бесплатный вай-фай?
Уже давно не секрет (по крайней мере для знающих людей), что операторы открытых сетей с доступом к интернету могут легко перехватывать весь идущий через них трафик и получать таким образом различную информацию, в том числе что вы ищете и какие ресурсы посещаете. Хорошо, если ее просто передадут рекламодателям, чтобы изучать спрос на товары и услуги, и этим все ограничится, но это далеко не все опасности, подстерегающие охочих до халявы владельцев электронных девайсов. Что же еще не так?
Недавно в РФ был принят закон, призванный обезопасить открытые точки доступа в общественных местах через обязательную авторизацию с помощью мобильного телефона или социальных сетей. Но, как часто бывает, «что-то пошло не так» и благое, казалось бы, дело обернулось появлением новых уязвимостей, играющих на тонкостях души человеческой. В итоге родился небольшой проект, который в полной мере демонстрирует безграничную легковерность подавляющего большинства представителей Homo Sapiens. Итак, обо всем по порядку.
WARNING
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Что за зверь такой?
Зверя изобрели и воплотили в железе наши китайские коллеги. Точнее, они построили скелет самого хищного зверя, которого мы будем одевать в овечью шкуру. Имя ему — контроллер ESP8266, неоднократно упоминавшийся на страницах «Хакера» и GitHub. В нашем проекте мы будем использовать его в качестве автономной точки доступа и веб-сервера. Девайс поднимет точку доступа с именем Free_Wifi, не содержащую пароля, при этом большая часть смартфонов и прочих девайсов будет присылать своим владельцам уведомление с предложением подключиться к открытой сети Wi-Fi, даже если они не просматривали список доступных сетей. Это проверено на Android 9 и iOS последней версии. Итак, доверчивый юзер, не особо полагаясь на интуицию и здравый смысл, нажимает на выпадающее уведомление с весьма заманчивым предложением и попадает на страницу регистрации (при этом не нужно открывать браузер). На экране появится вот такое окно.
Здесь мы видим стандартную страничку приветствия открытых точек доступа, предлагающую авторизоваться с помощью электронной почты, пароля и номера телефона либо сразу ввести код авторизации, если он есть. Жертва (как правило, не задумываясь) вводит данные, после чего получает уведомление, что нужно подождать SMS-сообщение с кодом авторизации, а все введенные жертвой данные благополучно сливаются на SD-карту устройства, одновременно отображаясь на OLED-дисплее.
Итак, наше устройство работает в режиме фейковой точки доступа, которая имеет привлекательное название и вынуждает расположенные поблизости девайсы обращать внимание на приглашение подключиться, но на самом деле просто сливает учетные данные пользователей.
И что дальше?
А вот дальше начинается самое интересное. В самом простом случае у нас окажется предположительно действующий адрес электронной почты и номер телефона. В лучшем случае мы получим бонусом некий пароль — возможно, один из тех, которыми пользуется данный человек.
Часто ли ты используешь разные пароли для разных сервисов? Вопрос, скорее всего, риторический. Но, даже не имея действительного пароля, можно уже сделать выводы о предпочтениях и уровне осведомленности человека. А адрес электронной почты и номер телефона — это уже хоть какая-то информация, способная сыграть большую роль в дальнейших атаках. Тут на что фантазии хватит: от рассылки писем и SMS с рекламой находящихся поблизости заведений до взлома почты, социальных сетей и деанонимизации человека… Как минимум этот метод позволит узнать номерок и мыло понравившейся девчонки из соседнего подъезда.
В общем, мы наглядно убедились, что открытые сети могут быть весьма небезопасны.
Рождение зверя
Как я уже говорил, использовать мы будем ESP8266 NodeMCU либо ESP32 (для 32 придется подкорректировать код), эти контроллеры работают идентично. Вооружаемся паяльником, макетной платкой, инструментами. Также в нашем устройстве применяется адаптер microSD-карты и OLED-дисплей размером 128 на 32 пикселя с контроллером SSD1306 и интерфейсом i2C. Еще нам понадобится зуммер (динамик-пищалка от старого системника). Так, все приготовили. Берем схему, которая показана на следующей картинке, и приступаем к сборке зверюги. Можно паять, можно соединить просто на макетной плате, суть от этого не изменится.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru» ← Ранее Около 80% организаций установили исправления для уязвимости в Citrix Далее → Министерство юстиции США обвинило во взломе Equifax китайских хакеров
16 апреля 2019
системы безопасноститерминалы продажучёт ресурсовпотребительская электроникаинтернет вещейEspressif Systemsстатьяинтегральные микросхемыбеспроводные технологии
В последнее время создание беспроводных приложений значительно упростилось благодаря появлению на рынке готовых модулей с поддержкой наиболее популярных беспроводных интерфейсов. Одним из лидеров в этом направлении является компания Espressif Systems, которая предлагает удобные и недорогие микросхемы и модули с поддержкой Wi-Fi и Bluetooth.
Рынок беспроводных решений стремительно растет. Беспроводные технологии применяются в быту, в медицине, на производстве, в торговле. Это стало возможным благодаря двум факторам. Если совсем недавно для создания Wi-Fi- или Bluetooth-устройства разработчику приходилось начинать все с нуля и использовать «голую» микросхему приемопередатчика, то теперь к его услугам предлагаются не только чипы, но и готовые модули. Такие модули содержат в своем составе все необходимое для реализации беспроводного канала, что существенно упрощает процесс разработки. С другой стороны, упрощение разработки значительно повысило интерес к беспроводным технологиям со стороны широкого круга пользователей. Причем речь идет не только о профессиональных разработчиках, но и о радиолюбителях.
Сейчас на рынке беспроводных встраиваемых решений присутствует несколько крупных игроков. Среди них особенно стоит отметить компании Texas Instruments, STMicroelectronics, Microchip. Эти гиганты выпускают широкий спектр беспроводных микросхем и модулей с поддержкой различных беспроводных стандартов, в том числе Wi-Fi или Bluetooth. При использовании продукции этих компаний разработчики получают множество преимуществ:
- доступ к надежному каналу поставки, поскольку разработчику не нужно волноваться, что производитель внезапно пропадет, и возникнет дефицит используемых компонентов;
- доступ к богатому выбору средств разработки и отладки: отладочным платам, средам разработки, библиотекам, типовым решениям и прочему;
- отличная информационная поддержка: статьи, публикации, инженерные сообщества, типовые схемы и так далее.
Вместе с тем, на рынке присутствуют и менее известные производители, которые специализируются именно на беспроводных встраиваемых решениях и могут предложить разработчикам такой же высокий уровень комфорта, но за меньшие деньги. В качестве примера можно привести компанию Espressif Systems.
Компания Espressif Systems была основана еще в 2008 году в Китае, и только после пяти лет упорной работы представила первую беспроводную SoC-микросхему для Wi-Fi-приложений – ESP8089. Уже в следующем году компания выпустила Wi-Fi-микросхему ESP8266EX, которая стала чрезвычайно популярной среди разработчиков. В 2016 году, закрепляя успех, компания Espressif Systems представила новое флагманское семейство ESP32, которое стало одним из первых интегрированных решений с одновременной поддержкой Wi-Fi и Bluetooth. Таким образом, за десять лет компания выросла из небольшого стартапа до многонационального пионера IoT в полупроводниковой промышленности и за период с 2014 по 2018 год выпустила более 100 миллионов чипов.
Среди преимуществ продукции Espressif Systems можно отметить:
- широкий выбор беспроводных микросхем и готовых модулей с поддержкой Wi-Fi и Bluetooth;
- малую стоимость и отсутствие наценки за раскрученность бренда;
- 12-летнюю гарантию выпуска. Этот пункт особенно важен для производителей промышленного оборудования;
- доступность на российском рынке;
- наличие широкого спектра отладочных плат;
- бесплатные программные средства разработки;
- богатый выбор библиотек и готовых решений в сети.
Для промышленного оборудования крайне важно, чтобы комплектующие имели гарантированный длительный жизненный цикл. Это касается и электроники. Компания Espressif официально гарантирует для своей продукции следующие жизненные циклы:
- микросхемы ESP8266 – 12 лет, начиная с 1-го января 2014 года;
- модули на базе ESP8266– 12 лет, начиная с 1-го января 2014года;
- отладочные платы для ESP8266 – 12 лет, начиная с 1-го января 2014 года;
- ESP8285 – 10лет, начиная с 1-го января 2016 года;
- микросхемы ESP32 – 12лет, начиная с 1-го января 2016 года;
- модули на базе ESP32 – 12 лет, начиная с 1-го января 2016 года;
- отладочные платы для ESP32 – 12 лет, начиная с 1-го января 2016 года.
Исходя из этих данных, разработчики могут выбирать длительность жизненного цикла своих устройств.
Беспроводные SoC-микросхемы производства Espressif Systems
В настоящее время компания Espressif Systems выпускает два типа интегральных беспроводных SoC-микросхем:
- чипы ESP8266 и ESP8285 с поддержкой Wi-Fi;
- семейство ESP32 с одновременной поддержкой Wi-Fi и Bluetooth.
Все микросхемы поставляются в корпусном исполнении QFN 5×5 мм, за исключением чипа ESP32-D0WDQ6, который имеет корпусное исполнение QFN 6×6 мм (рисунок 1).
Рис. 1. Беспроводные микросхемы Espressif Systems поставляются в корпусном исполнении QFN 5×5 мм или QFN 6×6 мм
Между собой микросхемы отличаются типом процессора, объемом встроенной Flash-памяти, набором периферии и диапазоном питающих напряжений. Для наглядности в таблице 1 представлены основные отличительные особенности каждого из чипов.
Таблица 1. Сравнительная таблица интегральных беспроводных микросхем Espressif Systems
Наименование | ESP32-D0WD | ESP32-D0WDQ6 | ESP32-D2WD | ESP32-S0WD | ESP8266EX | ESP8285 |
---|---|---|---|---|---|---|
Процессор | Двухъядерный 32-битный процессор Xtensa® 240 МГц 600 DMIPS | Двухъядерный 32-битный процессор Xtensa® 240 МГц 600 DMIPS | Двухъядерный 32-битный процессор Xtensa® 160 МГц 400 DMIPS | Одноядерный 32-битный процессор Xtensa® 160 МГц 200 DMIPS | Одноядерный 32-битный процессор Tensilica L106 160 МГц | |
ОЗУ | 520 кбайт SRAM, 448 кбайт ROM, 16 кбайт SRAM в RTC | 520 кбайт SRAM, 448 кбайт ROM, 16 кбайт SRAM в RTC | 520 кбайт SRAM, 448 кбайт ROM, 16 кбайт SRAM в RTC | 520 кбайт SRAM, 448 кбайт ROM, 16 кбайт SRAM в RTC | 160 кбайт RAM | |
Flash, Мбайт | – | – | 2 | – | – | 1 |
Число выводов | 48 | 48 | 48 | 48 | 32 | |
Wi-Fi | Протокол | 802.11b/g/n (HT40) | 802.11b/g/n (HT20) | |||
Мощность передатчика | 802.11b: +20,5 дБм, 802.11g: +17 дБм, 802.11n: +18 дБм | 802.11b: +20 дБм, 802.11g: +17 дБм, 802.11n: +14 дБм | ||||
Чувствительность приемника | ||||||
Шифрование | AES, SHA-2, CCMP (CBC-MAC, counter mode), TKIP (MIC, RC4), WAPI (SMS4), WEP (RC4) и CRC | WEP(RC4)/TKIP(MIC, RC4)/AES, CCMP (CBC-MAC, counter mode), WAPI (SMS4) и CRC | ||||
Bluetooth | Протокол | Bluetooth v4.2 BR/EDR и BLE | – | |||
Мощность передатчика, дБм | +12 | – | ||||
Чувствительность приемника, дБм | -94 (0,1% BER) | – | ||||
Коммуникационные интерфейсы | UART/SDIO/SPI/I²C/I²S/IR/ Ethernet/ CAN | UART/SDIO/SPI/I²C/I²S/IR | ||||
Периферия | GPIO/АЦП/ЦАП/ШИМ/датчик Холла/контроллер сенсорных функций | GPIO/АЦП/ШИМ | ||||
Корпус, мм | QFN, 5×5 | QFN, 6×6 | QFN, 5×5 | QFN, 5×5 | QFN, 5×5 | |
Uпит, В | 2,3…3,6 | 2,3…3,6 | 2,3…3,6 | 2,3…3,6 | 2,5…3,6 | 2,7…3,6 |
Траб, °С | -40…125 | -40…125 | -40…125 | -40…125 | -40…125 |
Wi-Fi-микросхема ESP8266 была выпущена на рынок в 2014 году и стала первым крупным успехом компании Espressif Systems. ESP8266 может работать в качестве самостоятельного беспроводного Wi-Fi-контролера либо выступать в роли Wi-Fi-адаптера для управляющего процессора.
ESP8266 представляет собой систему-на-кристалле (SoC или СнК), которая состоит из двух основных доменов: высокочастотного и цифрового (рисунок 2).
Рис. 2. ESP8266 состоит из двух доменов: высокочастотного и цифрового
ВЧ-домен включает модуляторы, генераторы, согласующий трансформатор, силовой ключ и схемы фазовой автоподстройки частоты. Таким образом, практически все необходимые элементы для создания беспроводного Wi-Fi-канала, за исключением антенны, уже присутствуют в составе ESP8266. Характеристики приемника и передатчика Wi-Fi представлены в таблице 1.
Цифровой домен ESP8266 построен на базе 32-битного RISC-процессора Tensilica L106 с рабочей частотой до 160 МГц. Процессор взаимодействует с памятью и периферией с помощью трех шин: iBus, dBus и AHB. На борту у ESP8266 присутствует 160 кбайт ОЗУ.
При работе под управлением внешнего контроллера взаимодействие с ESP8266 производится с помощью интерфейса UART или SPI/SDIO. Если предполагается, что ESP8266 будет работать автономно, то для хранения пользовательской программы потребуется внешняя Flash, которая подключается по SPI. При этом существует возможность использования не только микросхем памяти Single-SPI, но и Double-SPI, а также Quad-SPI. Максимальный объем внешней Flash-памяти составляет 16 Мбайт.
При автономной работе большим плюсом ESP8266 является встроенная периферия:
- 17 портов ввода-вывода;
- коммуникационные интерфейсы (UART/SDIO/SPI/I²C/I²S);
- четыре канала ШИМ;
- контроллер инфракрасного канала связи (IR);
- одноканальный 10-битный АЦП.
Создатели ESP8266 четко понимали, что одной из важнейших проблем, стоящих перед разработчиками беспроводных устройств, является снижение потребления. При питании от аккумулятора важно обеспечить малое среднее потребление и максимально широкий диапазон напряжений питания. Микросхема ESP8266 способна работать с напряжением питания 2,5…3,6 В. Для уменьшения потребления предлагается использовать различные режимы:
- Active – активный режим, в котором общее потребление в первую очередь зависит от потребления ВЧ-домена;
- Modem-sleep – режим, в котором процессорное ядро остается активным, а Wi-Fi выключается при отсутствии обмена данными (с сохранением соединения). Типовое потребление – 15 мА;
- Light-sleep – спящий режим, в котором процессор и Wi-Fi периодически включаются и выключаются: сон в течение 300 мс, далее 3 мс бодрствования. Типовое потребление – 0,9 мА;
- Deep-sleep– режим глубокого сна, в котором передача сообщений по Wi-Fi производится крайне редко. В промежутках сна блок Wi-Fi полностью отключен. Типовое потребление – 20 мкА;
- Shut down – режим ожидания с полным отключением питания. Типовое потребление – 0,5 мкА.
С момента начала выпуска микросхема ESP8266 нашла применение в самых различных областях: в бытовой технике и автоматике, системах умного освещения и промышленной автоматики, в автономных датчиках, пультах управления, системах безопасности, игрушках и так далее.
Wi-Fi-микросхема ESP8285 – является своего рода модернизацией микросхемы ESP8266. Функционал и структурная схема ESP8285 в общих чертах остались без изменения: те же возможности Wi-Fi и то же процессорное ядро. Однако есть несколько важных отличий.
В первую очередь стоит отметить, что в составе ESP8285 появилась встроенная Flash-память объемом 1 Мбайт для хранения пользовательской программы. При этом для связи с Flash используется Dual-SPI. Такой подход явно ориентирован на создание сверхкомпактных решений с дефицитом свободного места, в которых нет возможности размещения внешней микросхемы памяти. Кроме того, уменьшение занимаемой площади и сокращение числа компонентов позволяет снизить стоимость конечного устройства.
По сравнению с ESP8266, периферия ESP8285 не претерпела изменений.
Потребление ESP8285 также осталось на уровне ESP8266, однако диапазон питающих напряжений сузился до 2,7…3,6 В. Это стоит иметь в виду.
Области применения для ESP8285 те же, что и у ESP8266.
Семейство Wi-Fi-/Bluetooth-микросхем ESP32. После волны популярности ESP8266 компания Espressif Systems решила закрепить успех и выпустила целое семейство новых беспроводных микросхем – ESP32. В первую очередь отметим, что микросхемы ESP32 поддерживают сразу два самых популярных беспроводных протокола: Wi-Fi и Bluetooth. Кроме того, благодаря переходу на технологический процесс 40 нм, удалось существенно увеличить степень интеграции, расширить функционал и снизить потребление.
При анализе структуры ESP32 можно увидеть все те же два основных домена: цифровой и высокочастотный (рисунок 3). Однако состав доменов существенно изменился. Появился встроенный Bluetooth-контроллер и сопутствующие ему блоки. ESP32 поддерживает Bluetooth v4.2 BR/EDR, а также BLE. Характеристики Wi-Fi примерно соответствуют показателям ESP8266. Характеристики Bluetooth представлены в таблице 1.
Рис. 3. Блок-схема микросхем ESP32
Еще больше изменений можно наблюдать в структуре цифрового домена.
- В микросхемах ESP32 используется новый одно- или двухъядерный 32-битный процессор Xtensa® LX6 с максимальной рабочей частотой до 240 МГц (у ESP32-S0WD и ESP32-D2WD – 160 МГц). Особенностями нового процессора являются:
- 16/24-битный набор инструкций;
- поддержка вычислений с плавающей точкой;
- поддержка DSP-инструкций (например, 32-битное умножение, 32-битное деление, 40-битное умножение с накоплением);
- 32 вектора прерываний от 70 источников;
- отладка посредством JTAG.
- Помимо центрального процессора в составе ESP32 присутствует дополнительный малопотребляющий сопроцессор ULP, который берет на себя управление системой в режимах пониженного потребления.
- В ESP32 значительно расширился объем встроенной памяти:
- 448 кбайт ПЗУ, в которой хранится функциональная прошивка модуля;
- 520 кбайт ОЗУ общего назначения;
- 8 кбайт ОЗУ RTC FAST Memory. Эта память может быть использована основным процессором для хранения данных, а также при пробуждении из режима Deep-sleep mode;
- 8 кбайт ОЗУ RTC SLOW Memory. Эта память может быть использована сопроцессором ULPв режиме Deep-sleep mode;
- 1 кбит eFuse: 256 бит используются для системных нужд (MAC-адрес и конфигурация системы), еще 788 бит могут использоваться по усмотрению пользователя;
- 2 Мбайт встроенной Flash (только у ESP32-D2WD).
Кроме того, память ESP32 может быть расширена за счет внешних микросхем ОЗУ (до 4 Мбайт SRAM) и Flash (до 16 Мбайт).
- По сравнению с ESP8266, разнообразие и возможности периферийных блоков в ESP32 существенно расширились:
- 34 порта ввода-вывода;
- четыре 64-битных таймера с 16-битным делителем;
- три сторожевых таймера;
- часы реального времени со встроенной памятью;
- Кроме «традиционных» интерфейсов UART/SDIO/SPI/I²C/I²S, появилась поддержка CAN 0 и Ethernet MAC (с IEEE 1588);
- разрядность АЦП возросла до 12 бит, а число каналов – до 18;
- два 8-битных ЦАП;
- 10 сенсорных каналов для создания слайдеров, сенсорных кнопок и прочего;
- датчик Холла;
- каналы ШИМ для управления электродвигателями;
- 16 независимых ШИМ-генераторов для управления светодиодами;
- контроллер инфракрасного канала (IR);
- аппаратные ускорители AES, SHA, RSAи ECC.
Необходимо отдельно сказать о потреблении ESP32. По сравнению с ESP8266 диапазон питающих напряжений был расширен до 2,3…3,6 В. Кроме того, разнообразие рабочих режимов существенно возросло, что дает разработчикам больше пространства для маневра.
Потребление в активном режиме по-прежнему зависит от работы беспроводных интерфейсов (таблица 2). Потребление ESP32 в режиме Modem-sleep зависит от числа процессорных ядер и рабочей частоты (таблица 3). Режим Deep-sleep разделен на три подрежима, которые отличаются состоянием и активностью малопотребляющего ULP-сопроцессора. Режим Hibernation подразумевает отключение всех блоков микросхемы за исключением RTC. Это самый малопотребляющий режим ESP32, в нем питающий ток составляет всего 5 мкА. Стоит напомнить, что в микросхемах ESP8266 самым экономным режимом был Deep-sleep с потреблением 20 мкА.
Таблица 2. Типовое потребление ESP32 в активном режиме
Режим | Потребление, мА |
---|---|
Передача 802.11b, DSSS 1 Мбит/с, POUT = +19,5 дБм | 240 |
Transmit 802.11b, OFDM 54 дБм POUT = +16 дБм | 190 |
Transmit 802.11g, OFDM MCS7, POUT = +14 дБм | 180 |
Прием 802.11b/g/n | 95…100 |
Передача BT/BLE, POUT = 0 дБм | 130 |
Прием BT/BLE | 95…100 |
Таблица 3. Типовое потребление ESP32 в режимах пониженного потребления
Режим | Описание | Потребление | ||
---|---|---|---|---|
Active | Зависит от активности радиопередатчика | см. табл. 2 | ||
Modem-sleep | Процессор активен | 240 МГц | Двухъядерный | 30…68 мА |
Одноядерный | – | |||
160 МГц | Двухъядерный | 27…44 мА | ||
Одноядерный | 27…34 мА | |||
80 МГц | Двухъядерный | 20…31 мА | ||
Одноядерный | 20…25 мА | |||
Light-sleep | – | 0,8 мА | ||
Deep-sleep | Активен малопотребляющий сопроцессор ULP | 150 мкА | ||
Мониторинг датчиков | 100 мкА (длительность цикла 1%) | |||
RTC + память RTC | 10 мкА | |||
Hibernation | RTC | 5 мкА | ||
Power off | На вывод CHIP_PU подан низкий уровень, питание чипа отключено | 0,1 мкА |
Важной задачей при создании современных беспроводных систем становится безопасность. Огромным плюсом ESP32 является наличие аппаратных блоков шифрования AES, SHA, RSA и ECC. Как известно, кодирование является достаточно затратным мероприятием с точки использования вычислительных ресурсов процессора. Благодаря встроенным криптографическим ускорителям центральный процессор ESP32 освобождается от рутинных операций и может заниматься чем-то более полезным.
В настоящий момент семейство ESP32 объединяет четыре модели:
Заключение
Компания Espressif Systems предлагает широкий выбор беспроводных микросхем и готовых модулей для создания Wi-Fi-устройств, а также – комбинированных Wi-Fi + BT/BLE-устройств. Среди преимуществ продукции Espressif Systems можно отметить малую стоимость, высокую надежность, гарантированный длительный жизненный цикл, что важно для промышленных устройств, наличие доступных отладочных средств и развитую систему информационной поддержки разработчиков: форумы, открытые проекты, доступную документацию и так далее.
•••
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 выложил первую из них, но с тех пор появились и другие версии — с дополнительными возможностями. Впрочем, прежде чем переходить к программной части, определимся с выбором устройств.
В рамках этой статьи я буду демонстрировать процесс на примере платы китайского производителя 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.
Команды для управления по последовательному порту
- scan [] [-t ] [-c ] [-ch ]
- show [selected] []
- select [] []
- deselect [] []
- add ssid [-wpa2] [-cl ]
- add ssid -ap [-cl ] [-f]
- add ssid -s [-f]
- add name [-ap ] [-s]
- add name [-st ] [-s]
- add name [-m ] [-ch ] [-b ] [-s]
- set name
- disable random
- load [] []
- save [] []
- remove
- remove [all]
- attack [beacon] [deauth] [deauthall] [probe] [nooutput] [-t ]
- attack status []
- sysinfo
- clear
- format
- print []
- delete [] []
- replace
- copy
- rename
- write
- set
- reset
- chicken
- reboot
- info
- send deauth
- send beacon [wpa2]
- send probe
- led []
- led <#rrggbb> []
- draw
Через 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-masterarduinoWi-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 к сети не подключается. Если у вашего роутера есть защита от спама, которая работает и с неподключенными устройствами, то советую ее активировать!
Вам может быть интересно: Секретные документы АНБ: Шпионские устройства
ВКонтакте Twitter Facebook OK Telegram WhatsApp Viber Используемые источники:
- https://xakep.ru/2020/02/11/wifi-esp/
- https://www.compel.ru/lib/123539
- https://spy-soft.net/wifi-jammer/