Сегодня мы с вами соберем глушилку WiFi сигнала на ESP8266 своими руками. Статья по запросу подписчика.
Всем салют, дорогие друзья!
Сегодня мы с вами соберем глушилку 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 выложил первую из них, но с тех пор появились и другие версии — с дополнительными возможностями. Впрочем, прежде чем переходить к программной части, определимся с выбором устройств.
В рамках этой статьи я буду демонстрировать процесс на примере платы китайского производителя 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 [<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.
В прошивке предусмотрена возможность подключения дисплея — для версии устройства с ним. Но при желании вы можете и сами припаять к плате экран и кнопки, а также обеспечить автономное питание, чтобы превратить ее в независимое устройство.
Также разработчики прошивки, помимо самой 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 и настроить параметры сканирования и атаки.
Для стабильной работы устройства рекомендую прикрепить радиатор к греющейся части устройства. В противном случае джеммер может перегреться и выключиться.
На сегодня это все. Надеюсь, что данная статья будет для вас полезна. Благодарю за внимание!
Comments