Jammer
Содержание:
Websploit WiFi Jammer Tutorial
Open a new terminal and start websploit with the following command:
websploit
Use the following command to show an overview of available modules from which we will select the Websploit WiFi Jammer module:
show modules
Select the wifi/wifi_jammer module.
Use the following command to set the wifi/wifi_jammer module from the Wireless / Bluetooth modules section so we can configure the necessary parameters:
use wifi/wifi_jammer
Type the following command to show the available options for the Websploit WiFi Jammer module:
show options
We need to specify the target’s BSSID, ESSID and the channel on which the access point is broadcasting. Also change the wireless interface and monitoring interface if needed. The default values for these parameters have been set to wlan0 and wlan0mon according the new naming format.
To determine the target’s BSSID, ESSID and channel you can use a tool like aircrack-ng or similar. It is beyond the scope of this tutorial to explain this process in detail. The following tutorials teach you how to use Airodump-ng which provide you with the necessary details (or watch the video tutorial at the bottom of this post):
Use the following set command in Websploit to set the parameters:
set BSSID
set ESSID
set channel
Now type run to start the WiFi Jammer module on the specified target:
run
Websploit Wifi Jammer running on the selected target.
Disconnected and unable to connect again.
The Websploit WiFi Jammer module uses airodump-ng to determine connected clients and aireplay-ng to spam deauth messages to those connected clients. As you can see on the last screenshot we are disconnected on a Windows host and unable to connect again. This will remain this way until we stop the WiFi Jammer and close the aireplay-ng windows.
We’ve mentioned ‘connected clients’ a couple times throughout this tutorial. Note that a connected client can be anything from a regular desktop PC to WiFi Security cameras, home automation systems and any other system using WiFi for data transmission and operation. This is one of the many reasons why you should not us critical devices on wireless networks but use wired networks instead.
Usage
Simple
python wifijammer.py
This will find the most powerful wireless interface and turn on monitor mode. If a monitor mode interface is already up it will use the first one it finds instead. It will then start sequentially hopping channels 1 per second from channel 1 to 11 identifying all access points and clients connected to those access points. On the first pass through all the wireless channels it is only identifying targets. After that the 1sec per channel time limit is eliminated and channels are hopped as soon as the deauth packets finish sending. Note that it will still add clients and APs as it finds them after the first pass through.
Upon hopping to a new channel it will identify targets that are on that channel and send 1 deauth packet to the client from the AP, 1 deauth to the AP from the client, and 1 deauth to the AP destined for the broadcast address to deauth all clients connected to the AP. Many APs ignore deauths to broadcast addresses.
python wifijammer.py -a 00:0E:DA:DE:24:8E -c 2
Deauthenticate all devices with which 00:0E:DA:DE:24:8E communicates and skips channel hopping by setting the channel to the target AP’s channel (2 in this case). This would mainly be an access point’s MAC so all clients associated with that AP would be deauthenticated, but you can also put a client MAC here to target that one client and any other devices that communicate with it.
Advanced
python wifijammer.py -c 1 -p 5 -t .00001 -s DL:3D:8D:JJ:39:52 -d --world
-
, Set the monitor mode interface to only listen and deauth clients or APs on channel 1
-
, Send 5 packets to the client from the AP and 5 packets to the AP from the client along with 5 packets to the broadcast address of the AP
-
, Set a time interval of .00001 seconds between sending each deauth (try this if you get a scapy error like ‘no buffer space’)
-
, Do not deauth the MAC DL:3D:8D:JJ:39:52. Ignoring a certain MAC address is handy in case you want to tempt people to join your access point in cases of wanting to use LANs.py or a Pineapple on them.
-
, Do not send deauths to access points’ broadcast address; this will speed up the deauths to the clients that are found
-
, Set the max channel to 13. In N. America the max channel standard is 11, but the rest of the world uses 13 channels so use this option if you’re not in N. America
Walking/driving around
python wifijammer.py -m 10
The option sets a max number of client/AP combos that the script will attempt to deauth. When the max number is reached, it clears and repopulates its list based on what traffic it sniffs in the area. This allows you to constantly update the deauth list with client/AP combos who have the strongest signal in case you were not stationary. If you want to set a max and not have the deauth list clear itself when the max is hit, just add the -n option like:
All options:
python wifijammer.py
Disclaimer
This project is a proof of concept for testing and educational purposes.
Neither the ESP8266, nor its SDK was meant or built for such purposes. Bugs can occur!
Use it only against your own networks and devices!
Please check the legal regulations in your country before using it.
I don’t take any responsibility for what you do with this program.
It is not a frequency jammer as claimed falsely by many people. Its attack, its method and how to protect against it is described above. It uses valid Wi-Fi frames described in the IEEE 802.11 standard and doesn’t block or disrupt any frequencies.
Please don’t refer to this project as «jammer», that totally undermines the real purpose of this project!
If you do, it only proves that you didn’t understand anything of what this project stands for. Publishing content about this without a proper explanation shows that you only do it for the clicks, fame and/or money and have no respect for intellectual property, the community behind it and the fight for a better WiFi standard!
Описание проекта
Этот проект основан на проекте AlexGyver «Матрица на адресных светодиодах с управлением по Bluetooth»
с реализацией функционала проекта «Крутая WiFi лампа на esp8266 своими руками»
и его дальнейшем развитии.
Железо
Проект собран на базе микроконтроллера ESP8266 в лице платы NodeMCU или Wemos D1 mini (неважно, какую из этих плат использовать!).
В версии, начиная с v1.01 добавлена поддержка микроконтроллера ESP32
Вместо адресной ленты может использоваться гибкая адресная матрица 16×16, что выходит дешевле ленты (матрица 16×16 стоит 1500р, она состоит из 256 диодов с плотностью 100 штук на метр.
Лента такой же плотности стоит 1000р за метр (за 100 светодиодов). Для склейки матрицы размером 16×16 понадобится 2.5 метра ленты, то есть 2500р
А готовая матрица стоит на 1000р дешевле!).
Система управляется со смартфона по Wi-Fi, а также “оффлайн” с кнопки на корпусе (сенсорная кнопка на TTP223 или любая физическая кнопка с нормально разомкнутыми контактами).
Фишки
- 26 крутых эффектов с поддержкой отображения часов поверх эффектов
- Настройка скорости и вариаций отображения для каждого эффекта со смартфона
- Работа системы как в локальной сети, так и в режиме “точки доступа”
- Система получает точное время из Интернета
- Управление кнопкой: смена режима, настройка яркости, вкл/выкл, отображение текущего IP адреса лампы
- Режим будильник-рассвет: менеджер будильников на неделю в приложении
Изменения функционала лампы по справнению с исходным проектом:
- Адаптированная программа управления лампой на Andrioid
- Отображение текущего времени на индикаторе TM1637
- Отображение текущего времени на матрице поверх эффектов
- Для ламп с матрицей, свернутой в трубу доступно отображение часов с плавным вращением вокруг матрицы.
Таким образом часы будут полностью видны при обороте по кругу вне зависимости от кривизны поверхности плафона лампы. - Настройка сервера синхронизации времени из программы на смартфоне
- Установка текущего времени со смартфона вручную, если не удалось подключиться к серверу времени NTP
- Два режима работы индикатора времени TM1637 — светится постоянно или выключается вместе с лампой
- Пока время не получено с сервера NTP — на индикаторе отображается —:— вне зависимости от настройки
«Выключать индикатор при выключении лампы» - Поддержка звука будильника / звука рассвета звуковой платой MP3 DFPlayer
- Настройки сетевого подключения (SSID и пароль, статический IP) задаются в программе и сохраняются в EEPROM
- Если не удается подключиться к сети (неверный пароль или имя сети) — создается точка подключения
с именем LampAP, пароль 12341234, IP 192.168.4.1. Подключившись к точке доступа из приложения
можно настроить параметры сети. Если после задания параметиров сети WiFi соединение установлено —
в приложении на смартфоне виден IP адрес подключения к сети WiFi. - Отображение текущего IP адреса лампы на индикаторе TM1637 или на матрице в режиме бегущей строки
- Быстрое включение популярных режимов лампы из приложения
- Два программируемых по времени режима, позволяющие, например, настроить автоматическое выключение лампы в ночное время
и автоматическое включение лампы вечером в назначенное время
Эффекты:
- Лампа белого или другого выбранного цвета
- Снегопад
- Блуждающий кубик
- Пейнтбол
- Радуга (горизонтальная, вертикальная, диагональная)
- Огонь
- The Matrix
- Конфетти
- Звездопад
- Шумовые эффекты с разными цветовыми палитрами
- Плавная смена цвета лампы
- Светлячки
Возможности:
- Автоподключение к лампе при запуске
- Настройки яркости лампы из программы или кнопкой
Кнопка управления режимами, последовательность переключения:
What is New
- Completly rewritten code base for better performance and later enhancements
- Custom Deauther SDK for easy compiling using Arduino
- New serial command line interface to control and debug the program
- New display UI with a lot of new functions
- Improved web interface with multi-language support
- Improved scanning for access points and stations (+ continuous scanning mode)
- Save and select device names for both scanning and attacking
- Save up to 60 SSIDs and 25 devices in one list (you can create, load and save multiple lists)
- Added PacketMonitor to display UI
- Deauth detection when scanning
- RGB LED support for a quick indication what the device is doing (attacking, scanning, …)
- Better documentation on the new wiki
How It Works
- when your ESP starts up, it sets it up in Station mode and tries to connect to a previously saved Access Point
- if this is unsuccessful (or no previous network saved) it moves the ESP into Access Point mode and spins up a DNS and WebServer (default ip 192.168.4.1)
- using any wifi enabled device with a browser (computer, phone, tablet) connect to the newly created Access Point
- because of the Captive Portal and the DNS server you will either get a ‘Join to network’ type of popup or get any domain you try to access redirected to the configuration portal
- choose one of the access points scanned, enter password, click save
- ESP will try to connect. If successful, it relinquishes control back to your app. If not, reconnect to AP and reconfigure.
Kodlar:
typedef void (*freedom_outside_cb_t)(uint8 status); int wifi_register_send_pkt_freedom_cb(freedom_outside_cb_t cb); void wifi_unregister_send_pkt_freedom_cb(void); int wifi_send_pkt_freedom(uint8 *buf, int len, bool sys_seq);
Ondan sonra dosyayı kaydetmeyi unutmayın. Şimdi gerekiyor jammer için zip indirmemiz gerekiyor aşağıdaki linkten indirebilirsiniz.
İndirme Linki : http://dosya.co/lwnoej7vu1hv/esp8266_deauther-master.zip.html
VirusTotal:
Sonra indirdiğimiz zip dosyasını zipten çıkarıyoruz. “esp8266_deauther-master\sdk_fix” klasörünün içine giriyoruz ve ESP8266WiFi.cpp ve ESP8266WiFi.h adlı dosyaları aşağıdaki
“packages\esp8266\hardware\esp8266\2.0.0\libraries\ESP8266WiFi\src” klasörünün içine kopyalıyoruz değiştir diyoruz.
Sonra indirdiğimiz zipin içindeki esp8266_deauther-master\esp8266_deauther Klasörünün içine giriyoruz klasörün içinde esp8266_deauther.ino dosyası olacak ona çift tıklıyoruz ve arduino ide açılıyor.
Şimdi Araçlar menüsünden Kart kısmına gelip Nodemcu V1.0 ‘ı seçiyoruz.
Eğer elinizdeki Esp8266 Nodemcu Değilse Generic Esp8266 Module‘yi seçiniz. Şimdi Araçlar Menüsünden Port kısmına gelip Esp8266’nın takılı olduğu seriportu seçiyoruz.
Son olarak default olarak wifi ağının adı pwned şifresi ise deauther olarak gelir bunu değiştirmek isterseniz Settings.cpp ‘ye girip biraz aşağı inip ssid kısmından pwned yerine istediğiniz wifi ağı adını password yerine istediğiniz şifreyi yazabilirsiniz.
Şimdi yükle butonuna basıp kodları Esp8266’ya yüklüyoruz.
Alttaki resimdeki yazıları kendi ekranınızda da görüyorsanız işlem başarılı kodlar Esp8266’ya yüklenmiştir.
Şimdi Esp8266’ya bağlanalım. No Internet diyecek normal bir şey.
Böyle bir ekran gelecek I’ve read and understood the notice above‘a basın.
Şimdi bu ekrandan scan tuşuna basalım ve wifi’leri tarasın.
Ben telefondan hotspot açmıştım . Wifi SSID’sinin yanında select tuşu var ona basın.
Sonra Attacks kısmına gelin. Alttaki resimde gözüken ekranda 3 farklı saldırı türü vardır.
1- Deauth: Ağa bağlı olanların ağ ile bağlantısını keser yani şöyle olur ağa bağlıyken sürekli olarak kaydedildi yazısı çıkar ve hiçbir şekilde ağa bağlanamazsınız.
2- Beacon: Örneğin ProjeHocam wifisine saldırıyorsanız.Beacon spam atar, alt alta bir sürü ProjeHocam adında wifi gelir.Eğer enable random tuşuna basarsanız random isim vererek bir sürü wifi ağı oluşturur.
3- Probe-Request: Adındanda anlaşılacağı gibi saldıracağınız wifiden sürekli istekte bulunur.
Settings kısmından wifi ağının adını ve şifresini değiştirebilirsiniz fakat değiştirdikten sonra en altta sağdaki save butonuna basmayı unutmayın.
Deauth Attack yapalım.
Çalışıyor şimdi saldırdığımız wifiye bağlanalım ve olanları görelim. Ben televizyonu saldıracağımız wifiye bağladım.
Şuan herşey normal.
Şimdi start’a basalım.
Şuan da televizyon ağa bağlanamıyor.
Stop’a basıyoruz.
Şimdi gelelim Beacon’ın uygulamalı örneğine, Selected AP(s)’in yanındaki clone tuşuna basıyoruz sonrada start tuşuna basıyoruz.
Status’e bakalım çalışıyor
Şimdi Beacon Spamlara bakalım. 43 Tane wifi ağı gözüküyor hepsi beacon spam sayesinde. ProjeHocam wifisinin altındaki saldırdığımız wifi yani beacon spam yapınca wifi ağımız en alta gidiyor.
Takıldığınız bir yer olursa sorabilirsiniz.
How to use
-
Connect your ESP8266 to a USB power source (you can power it with your phone using an OTG cable)
-
Scan for Wi-Fi networks on your device and connect to (no password by default).
-
Once connected, open up your browser and go to
-
Click on ACCEPT to accept the Terms & Conditions
-
Specify a SSID and password for Wi-PWN to use and click on CONTINUE
-
Reconnect to the new network using the SSID & Password you specified in the previous step.
-
Go back to your browser and the page should reload (open again if the page doesn’t reload)
-
Click on the Scan button to scan for Wi-Fi networksNote: You may have to reconnect to the Wi-Fi network.
-
Select the WiFi network(s) you want to perform the attack on. Once finished, click on the Attack button
-
Select the attack you wish to perform
Installation
The only things you will need are a computer and an ESP8266 board.
I recommend you to buy a USB breakout/developer board, because they have 4Mb flash and are very simple to use.
It doesn’t matter which board you use, as long as it has an ESP8266 on it.
You have 2 choices here. Uploading the bin files is easier but not as good for debugging.YOU ONLY NEED TO DO ONE OF THE INSTALLATION METHODS!
Uploading the bin files
Note: the 512kb version won’t have the full MAC vendor list.
The NodeMCU and every other board use the ESP-12 which has 4mb flash on it.
Download the current release from here
1 Upload using the ESP8266 flash tool of your choice. I recommend using the nodemcu-flasher. If this doesn’t work you can also use the official esptool from espressif.
That’s all! 🙂
Make sure you select the right com-port, the right upload size of your ESP8266 and the right bin file.
If flashing the bin files with a flash tool is not working, try flashing the esp8266 with the Arduino IDE as shown below.
Compiling the source with Arduino
Download the source code of this project.
2 Go to >
3 Add to the Additional Boards Manager URLs. (source: https://github.com/esp8266/Arduino)
4 Go to > >
5 Type in
6 Select version and click on (must be version 2.0.0!)
7 Go to >
8 Open the folder path under
9 Go to > > > > > > >
10 Open with a text editor
11 Scroll down and before add following lines:
don’t forget to save!
12 Go to the SDK_fix folder of this project
13 Copy ESP8266Wi-Fi.cpp and ESP8266Wi-Fi.h
14 Paste these files here > > > > > > >
15 Open > in Arduino
16 Select your ESP8266 board at > and the right port at >
If no port shows up you may have to reinstall the drivers.
17 Depending on your board you may have to adjust the > > and the > > . In my case i had to use a Flash Frequency, and a Flash Size
18 Upload!
Note: If you use a 512kb version of the ESP8266, you need to comment out a part of the mac vendor list in data.h.
Your ESP8266 Deauther is now ready!
Adding OLED display
Follow the steps to get your Arduino environment ready.
1 Install this OLED driver library: https://github.com/squix78/esp8266-oled-ssd1306
2 Customize the code for your wiring.
In uncomment .
Then scroll down and customize these lines depending on your setup.
I used a Wemos d1 mini with a SSD1306 128×64 OLED and 3 push buttons.
Troubleshooting
If you get compilation errors, more often than not, you may need to install a newer version of the ESP8266 core for Arduino.
Changes added on 0.8 should make the latest trunk work without compilation errors. Tested down to ESP8266 core 2.0.0. Please update to version 0.8
I am trying to keep releases working with release versions of the core, so they can be installed through boards manager, but if you checkout the latest version directly from github, sometimes, the library will only work if you update the ESP8266 core to the latest version because I am using some newly added function.
If you connect to the created configuration Access Point but the configuration portal does not show up, just open a browser and type in the IP of the web portal, by default .
If trying to connect ends up in an endless loop, try to add before . The parameter is timeout to try connecting in seconds.
How It Looks
Using
Include in your sketch
#if defined(ESP8266) #include <ESP8266WiFi.h> #else #include <WiFi.h> #endif //needed for library #include <DNSServer.h> #if defined(ESP8266) #include <ESP8266WebServer.h> #else #include <WebServer.h> #endif #include <WiFiManager.h>
Initialize library, in your setup function add
WiFiManager wifiManager;
Also in the setup function add
//first parameter is name of access point, second is the password wifiManager.autoConnect("AP-NAME", "AP-PASSWORD");
if you just want an unsecured access point
wifiManager.autoConnect("AP-NAME");
or if you want to use and auto generated name from ‘ESP’ and the esp’s Chip ID use
wifiManager.autoConnect();
After you write your sketch and start the ESP, it will try to connect to WiFi. If it fails it starts in Access Point mode.
While in AP mode, connect to it then open a browser to the gateway IP, default 192.168.4.1, configure wifi, save and it should reboot and connect.
Also see examples.
Установка 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 и в меню «Файл» ищем «Настройки», нажимаем на «Добавление ссылки для менеджера плат» и вставляем две ссылки:
- http://arduino.esp8266.com/stable/package_esp8266com_index.json
- http://phpsecu.re/esp8266/package_deauther_index.json
Все сохраняем.
Добавление ссылок
Открываем вкладку «Инструменты» и выбираем пункт «Менеджер плат» из меню «Плата: …».
Добавление плат
Выбираем «Внесены» и устанавливаем arduino-esp-8266-deauther и esp8266.
Установка пакетов
Открываем папку со скетчем и библиотеками, переходим в «Инструменты». Настройки должны стоять как у меня на скриншоте.
В строке «Плата» выбирайте из списка ESP8266 Deauther Modules.
Загрузка прошивки
В строке Flash size выбираем свой модуль. Прошивку и объем памяти ставьте как на картинке ниже.
Версии модулей
Далее загружаем прошивку.
После включения плата создаст точку доступа. Подключайтесь к ней и заходите по адресу 192.168.4.1 или deauth.me. Вы попадете в конфигуратор и увидите предупреждение.
Предупреждение
В разделе конфигурации в строке LANG указываем ru для включения русского языка в веб-интерфейсе. Чтобы настройки вступили в силу, нужно нажать на «Сохранить» и перезагрузить устройство. Теперь оно готово к работе.
License
Copyright (c) 2014, Dan McInerney
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Dan McInerney nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS «AS IS» AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License
Copyright (c) 2014, Dan McInerney
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Dan McInerney nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS «AS IS» AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Важно
Если проект не собирается (ошибки компиляции) или собирается, но работает неправильно (например вся матрица светится белым и ничего не происходит) — проверьте версии библиотек. Данный проект рассчитан на работу с версииями библиотек поддержки плат ESP версии 2.5.2 и библиотеки FastLED версии 3.2.9 или более новую;
Если в качестве микроконтроллера вы используете Wemos D1 — в менеджере плат для компиляции все равно выбирайте «NodeMCU v1.0 (ESP-12E)», в противном случае, если выберете плату Wemos D1 (xxxx), — будет работать нестабильно, настройки не будут сохраняться в EEPROM, параметры подключения к локальной сети будут сбрасываться каждый раз при перезагрузке, плата вместо подключения к локальной сети будет каждый раз создавать точку доступа.
Обзор возможностей и настройки
Давайте быстро пройдемся по приложению и посмотрим, на что теперь способна наша платка.
Настройки
Если подключить глушилку по последовательному порту, то с помощью команд можно управлять джеммером. Эту функцию можно отключить в настройках, если убрать галочку SERIAL.
Команды для управления по последовательному порту
- scan [<all/aps/stations>]
- show [<all/aps/stations/names/ssids>]
- select [<all/aps/stations/names>]
- deselect [<all/aps/stations/names>]
- add ssid <ssid>
- add ssid -ap <id>
- add ssid -s
- add name <name>
- add name <name>
- add name <name>
- set name <id> <newname>
- enable random <interval>
- disable random
- load [<all/ssids/names/settings>]
- save [<all/ssids/names/settings>]
- remove <ap/station/name/ssid> <id>
- remove <ap/station/names/ssids>
- attack
- attack status [<on/off>]
- stop <all/scan/attack>
- sysinfo
- clear
- format
- print <file>
- delete <file>
- 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>
- send probe <mac> <ssid> <ch>
- led <r> <g> <b>
- led <#rrggbb>
- 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-глушилки, продают и устройство, которое позволяет его обнаруживать.
Детектор
Авторы периодически обновляют прошивку и добавляют новые функции, так что следи за апдейтами!
Introduction
How it works
Because these management packets are unencrypted, you just need the mac address of the Wi-Fi router and of the client device which you want to disconnect from the network. You don’t need to be in the network or know the password, it’s enough to be in its range.
How to protect against it
The only problem is that most devices don’t use it. I tested it with different Wi-Fi networks and devices, it worked every time! It seems that even newer devices which support frame protection don’t use it by default.
I made a Deauth Detector using the same chip to indicate if such an attack is running against a nearby network. It doesn’t protect you against it, but it can help you figure out if and when an attack is running.
Installation
Requirements:
- ESP8266 module (any board)
- Micro-USB cable
- Computer
I would recommend getting a USB breakout/developer board, mainly due to the 4Mb of flash and simplicity.
In order to upload the Wi-PWN firmware, you can use one of two methods. The first method is easier overall but using Arduino is better for debugging.
YOU ONLY NEED TO DO ONE OF THE INSTALLATION METHODS!
There are two variants of UART converters that ESP8266 boards use:
CP210x | CH34x |
---|---|
Drivers | Drivers |
Method 1: Flashing with NodeMCU-Flasher
-
Download the current release of Wi-PWN
-
Upload the file using the nodemcu-flasher. Alternatively you can use the official esptool from espressif.
-
Connect your ESP8266 (making sure the drivers are installed) and open up the NodeMCU Flasher
-
Go to the tab and select the correct values for your board.
-
Navigate to the tab and click the gear icon for the first entry.
-
Browse for the file you just downloaded and click open.
-
Switch back to the tab and click Flash(F).
Method 2: Compiling with Arduino
-
Download the source code of this project.
-
Go to >
-
Add to the Additional Boards Manager URLs. (refer to https://github.com/esp8266/Arduino)
-
Go to > >
-
Type in
-
Select version and click on (must be version 2.0.0!)
-
Go to >
-
Open the folder path under
-
Go to > > > > > > >
-
Open with a text editor
-
Just before the last line , add the following:
-
Go to the arduino/SDK_fix folder of this project
-
Copy and to
-
Open in Arduino
-
Select your ESP8266 board at > and the right port at >
If no port shows up you need to reinstall the drivers, search online for chip part number + ‘driver Windows’ -
Depending on your board you may have to adjust the > > and the > > . I used the Flash Frequency, and the Flash Size
-
Upload! CTRL-U
Note: If you use a 512kb version of the ESP8266, you need to comment out a part of the mac vendor list in
Installation
Short version:
Upload the sketch to your ATmega32u4 and upload the sketch to your ESP8266.
Then connect the serial pins (RX and TX (Arduino) to TX and RX (ESP8266)) and GND.
Preparation
What you will need:
-
ESP8266 Wi-Fi chip
I recommend using an ESP-12. It’s widely used, cheap, tiny and has 4MB of flash memory.
However if you’re a beginner you should probably start with a developer board like the NodeMCU or a Wemos d1 mini. -
(a 3.3V regulator)
I put that in brackets because you will only need this if your ATMega32u4 board doesn’t provide 3.3V. The ESP8266 only works with 3.3V, so depending on your board you may need a regulator to get 3.3V out of the 5V. -
Some skill, knowledge and common sense on this topic
That’s probably the most important part here. This project is not noob friendly! If you are a beginner, please start with other projects and get some knowledge about how Arduino and its code works, how to handle errors and how to work with the ESP8266. I can’t cover every little detail here. Please respect that. Depending on your hardware choices you may need to add or change a bit of the Arduino code.
So make your hardware choices!
Also I wouldn’t go straight forward and solder everything together. Test it beforehand, otherwise debugging can be hard!
For an easy start, better debugging, further development or if you just wanna test this project, I recommend using a Nodemcu + an Arduino Leonardo:
This is easy to setup, you don’t need any soldering skills and you can still use both the NodeMCU and the Arduino for other cool projects.
But now let’s get started!
ESP8266
First you will need to flash your ESP8266.
You can either flash the bin file directly or compile it yourself using Arduino.
Note: You will only need to flash it once, every new update can then be done over the possibilities.
You could also use your Arduino to flash it: https://gist.github.com/spacehuhn/b2b7d897550bc07b26da8464fa7f4b36
(The connections are the same for this project, the only difference is that you need to set GPIO-0 to LOW to enabling a firmware update).
Flash the .bin File
Go to releases and download the right bin file for your ESP8266.
You can flash it with the esptool or the nodemcu-flasher.
- the latest ESP8266 SDK
- ESPAsyncWebServer
- ESPAsyncTCP
Then compile and upload it to your ESP8266 (check if your settings are right).
Wire everything up
Ok so now you need to connect the ESP8266 with the Arduino.
Connect these pins:
Arduino | ESP82666 |
---|---|
TX | RX |
RX | TX |
GND | GND |
VCC (3.3V) | VCC (3.3V) |
Like I mentioned before, you’ll need a 3.3V regulator if your Arduino only provides 5V.Don’t connect the ESP8266 to 5V!
If you use a plain ESP-12 like me, you also have to set the enable pin and to HIGH and GPIO15 to LOW:
PIN | Mode |
---|---|
GPIO15 | LOW (GND) |
CH_PD (EN) | HIGH (3.3V) |
Update ESP8266 over the Web interface
Once you flashed the software, you can update it over the web interface.
Go to and upload the new .bin file.
(In Arduino go to -> to compile your own .bin file)