{"id":13490443,"url":"https://github.com/samdenty/Wi-PWN","last_synced_at":"2025-03-28T06:31:28.225Z","repository":{"id":40614187,"uuid":"91923053","full_name":"samdenty/Wi-PWN","owner":"samdenty","description":"ESP8266 firmware for performing deauthentication attacks, with ease.","archived":false,"fork":false,"pushed_at":"2024-01-26T10:06:02.000Z","size":61844,"stargazers_count":1605,"open_issues_count":13,"forks_count":322,"subscribers_count":81,"default_branch":"master","last_synced_at":"2025-03-27T21:35:57.400Z","etag":null,"topics":["arduino","attack","beacon","board","deauth","esp8266","hack","material-design","material-theme","material-ui","probe","wifi"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samdenty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-20T23:55:24.000Z","updated_at":"2025-03-24T10:26:55.000Z","dependencies_parsed_at":"2024-07-31T21:59:21.396Z","dependency_job_id":null,"html_url":"https://github.com/samdenty/Wi-PWN","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdenty%2FWi-PWN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdenty%2FWi-PWN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdenty%2FWi-PWN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdenty%2FWi-PWN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samdenty","download_url":"https://codeload.github.com/samdenty/Wi-PWN/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245984481,"owners_count":20704791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","attack","beacon","board","deauth","esp8266","hack","material-design","material-theme","material-ui","probe","wifi"],"created_at":"2024-07-31T19:00:46.673Z","updated_at":"2025-03-28T06:31:23.201Z","avatar_url":"https://github.com/samdenty.png","language":"C","funding_links":["https://github.com/sponsors/samdenty"],"categories":["C","\u003ca id=\"9eee96404f868f372a6cbc6769ccb7f8\"\u003e\u003c/a\u003e新添加的","\u003ca id=\"862af330f45f21fbb0d495837fc7e879\"\u003e\u003c/a\u003e工具","material-design"],"sub_categories":["\u003ca id=\"31185b925d5152c7469b963809ceb22d\"\u003e\u003c/a\u003e新添加的","\u003ca id=\"764122f9a7cf936cd9bce316b09df5aa\"\u003e\u003c/a\u003e认证\u0026\u0026Authenticate"],"readme":"\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://wi-pwn.samdd.me/?ref=logo\"\u003e\n\t\t\u003cimg src=\"https://github.com/samdenty99/Wi-PWN/raw/master/pictures/Wi-PWN.png\" width=\"100\"\u003e\n\t\u003c/a\u003e\n    \u003ch3 align=\"center\"\u003eWi-PWN\t\u003ca href=\"http://www.somsubhra.com/github-release-stats/?username=samdenty99\u0026repository=Wi-PWN\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/github/downloads/samdenty99/Wi-PWN/total.svg?colorB=437FB9\u0026style=flat\"\u003e\n\t\u003c/a\u003e\u003c/h3\u003e\n    \u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/sponsors/samdenty\"\u003eSponsor this project\u003c/a\u003e\u003cbr/\u003e\n    \tESP8266 firmware for performing deauthentication attacks, with ease.\n    \u003c/p\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://samdenty99.github.io/r?https://play.google.com/store/apps/details?id=samdd.wipwn\"\u003e\n        \u003cimg src=\"https://i.imgur.com/SHwUics.png\" height=\"60px\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\u003ch2\u003e\u003c/h2\u003e\n\n- Fast \u0026 responsive Material Design UI, with optional dark mode\n- Integrated [Deauth Detector](https://github.com/spacehuhn/DeauthDetector) (with full customization)\n- WiFi client mode - Access Wi-PWN on a WiFi network\n- Info page with total packets sent, uptime, memory usage, check for updates...\n- Easy to use translation engine - want to translate it to your own language? [Simply go over here and ask!](https://wi-pwn.samdd.me/discord)\n\n\n\u003cimg src=\"pictures/secondary-banner.png\"\u003e\n\n### \u003ca href=\"http://wi-pwn.samdd.me\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1ec-1f1e7.png\" alt=\"English translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/german\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1e9-1f1ea.png\" alt=\"German translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/chinese\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1e8-1f1f3.png\" alt=\"Chinese translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/dutch\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1f3-1f1f1.png\" alt=\"Dutch translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/russian\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1f7-1f1fa.png\" alt=\"Russian translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/italian\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1ee-1f1f9.png\" alt=\"Italian translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/slovak\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1f8-1f1f0.png\" alt=\"Slovakian translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/portuguese\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1f5-1f1f9.png\" alt=\"Portuguese translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/polish\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1f5-1f1f1.png\" alt=\"Polish translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/estonian\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1ea-1f1ea.png\" alt=\"Estonian translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/turkish\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1f9-1f1f7.png\" alt=\"Turkish translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/czech\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1e8-1f1ff.png\" alt=\"Czech translation\" height=40\u003e\u003c/a\u003e \u003ca href=\"http://wi-pwn.samdd.me/hebrew\"\u003e\u003cimg src=\"https://twemoji.maxcdn.com/2/72x72/1f1ee-1f1f1.png\" alt=\"Hebrew translation\" height=40\u003e\u003c/a\u003e\n\n\n## Table of Contents\n- [Introduction](#introduction)\n  - [What is Wi-PWN](#what-is-Wi-PWN)\n  - [How it works](#how-it-works)\n  - [How to protect against it](#how-to-protect-against-it)\n- [Installation](#installation)\n  - [Flashing with NodeMCU-Flasher](#nodemcu)\n  - [Compiling with Arduino](#arduino)\n- [How to use it](#how-to-use)\n- [FAQ](#faq)\n- [License](#license)\n- [Sources and additional links](#sources-and-additional-links)\n\n## Introduction ##\n\n### What is Wi-PWN\n\nWi-PWN is a firmware that performs [deauth attacks](https://en.wikipedia.org/wiki/Wi-Fi_deauthentication_attack) on cheap Arduino boards. The [ESP8266](https://en.wikipedia.org/wiki/ESP8266) is a cheap micro controller with built-in Wi-Fi. It contains a powerful 160 MHz processor and it can be programmed using [Arduino](https://www.arduino.cc/en/Main/Software).\n\nA deauthentication attack is often confused with [Wi-Fi jamming](https://en.wikipedia.org/wiki/Radio_jamming#Method), as they both block users from accessing Wi-Fi networks.\n\n### How it works\n\nThe 802.11 Wi-Fi protocol contains a so called [deauthentication frame](https://mrncciew.com/2014/10/11/802-11-mgmt-deauth-disassociation-frames/). It is used to disconnect clients safely from a wireless\nnetwork.\n\nBecause 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.\n\n\n### How to protect against it\n\nWith the [802.11w-2009](https://en.wikipedia.org/wiki/IEEE_802.11w-2009) updated standards, management frames are encrypted by default.\n\n[802.11w](https://en.wikipedia.org/wiki/IEEE_802.11w-2009) is rarely used in the real world as both the router **and the client device** need to support this standard, otherwise they won't be able to connect to the routers.\n\nUpdating to the [802.11w](https://en.wikipedia.org/wiki/IEEE_802.11w-2009) standard is often expensive and difficult due to the vast devices of legacy devices not supporting the new standard. Because of the maintenance nightmare, over 95% of devices use the vulnerable 802.11 standard — even though newer devices support newer standards.\n\n## Installation\n\nRequirements:\n\n- ESP8266 module (any board)\n- Micro-USB cable\n- Computer\n\nI would recommend getting a USB breakout/developer board, mainly due to the 4Mb of flash and simplicity.\n\nIn 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.\n**YOU ONLY NEED TO DO ONE OF THE INSTALLATION METHODS!**\n\n### Install the necessary drivers\n\nThere are two variants of UART converters that ESP8266 boards use:\n\n|CP210x|CH34x|\n|:---:|:---:|\n| [Drivers](https://github.com/samdenty99/Wi-PWN/tree/master/drivers/CP210x) | [Drivers](https://github.com/samdenty99/Wi-PWN/tree/master/drivers/CH34x) |\n|\u003cimg src=\"drivers/CP210x-board.png\" height=\"200px\"\u003e|\u003cimg src=\"drivers/CH34x-board.png\" height=\"200px\"\u003e|\n\n\n### \u003ca name=\"nodemcu\"\u003e\u003c/a\u003eMethod 1: Flashing with NodeMCU-Flasher\n\n1. [Download](https://github.com/samdenty99/Wi-PWN/releases/latest) the current release of Wi-PWN\n\n2. Upload the `.bin` file using the [nodemcu-flasher](https://github.com/nodemcu/nodemcu-flasher/raw/master/Win64/Release/ESP8266Flasher.exe). Alternatively you can use the official [esptool](https://github.com/espressif/esptool) from espressif.\n\n3. Connect your ESP8266 (making sure the drivers are installed) and open up the *NodeMCU Flasher*\n4. Go to the `Advanced` tab and select the correct values for your board.\n5. Navigate to the `config` tab and click the gear icon for the first entry.\n6. Browse for the `.bin` file you just downloaded and click open.\n7. Switch back to the `Operation` tab and click \u003ckbd\u003eFlash(F)\u003c/kbd\u003e.\n\n### \u003ca name=\"arduino\"\u003e\u003c/a\u003eMethod 2: Compiling with Arduino\n\n1. [Download the source code](https://github.com/samdenty99/Wi-PWN/archive/master.zip) of this project.\n\n2. Install [Arduino](https://www.arduino.cc/en/Main/Software) and open it.\n\n3. Go to `File` \u003e `Preferences`\n\n4. Add `http://arduino.esp8266.com/stable/package_esp8266com_index.json` to the *Additional Boards Manager URLs.* (refer to [https://github.com/esp8266/Arduino](https://github.com/esp8266/Arduino))\n\n5. Go to `Tools` \u003e `Board` \u003e `Boards Manager`\n\n6. Type in `esp8266`\n\n7. Select version `2.0.0` and click on `Install` (**must be version 2.0.0!**)\u003cbr\u003e\u003cbr\u003e\n![Screenshot of Arduino, selecting the right version](pictures/arduino_screenshot_1.JPG)\n\n8. Go to `File` \u003e `Preferences`\n\n9. Open the folder path under `More preferences can be edited directly in the file`\u003cbr\u003e\u003cbr\u003e\n![Screenshot of Arduino, opening folder path](pictures/arduino_screenshot_2.JPG)\n\n10. Go to `packages` \u003e `esp8266` \u003e `hardware` \u003e `esp8266` \u003e `2.0.0` \u003e `tools` \u003e `sdk` \u003e `include`\n\n11. Open `user_interface.h` with a text editor\n\n12. Just before the last line `#endif`, add the following:\n\n\u003cb\u003e\u003c/b\u003e\n\n    typedef void (*freedom_outside_cb_t)(uint8 status);\n    int wifi_register_send_pkt_freedom_cb(freedom_outside_cb_t cb);\n    void wifi_unregister_send_pkt_freedom_cb(void);\n    int wifi_send_pkt_freedom(uint8 *buf, int len, bool sys_seq);\n\n![screenshot of notepad, copy paste the right code](pictures/notepad_screenshot_1.JPG)\n\n13. Go to the [arduino/SDK_fix](https://github.com/samdenty99/Wi-PWN/arduino/SDK_fix) folder of this project\n\n14. Copy `ESP8266Wi-Fi.cpp` and `ESP8266Wi-Fi.h` to\n    `C:\\Users\\%username%\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.0.0\\libraries\\ESP8266WiFi\\src`\n\n16. Open `arduino/Wi-PWN/Wi-PWN.ino` in Arduino\n\n17. Select your ESP8266 board at `Tools` \u003e `Board` and the right port at `Tools` \u003e `Port`\n**If no port shows up you need to reinstall the drivers**, search online for chip part number + 'driver Windows'\n\n18. Depending on your board you may have to adjust the `Tools` \u003e `Board` \u003e `Flash Frequency` and the `Tools` \u003e `Board` \u003e `Flash Size`. I used the `80MHz` Flash Frequency, and the `4M (1M SPIFFS)` Flash Size\n\n19. Upload! \u003ckbd\u003eCTRL-U\u003c/kbd\u003e\n\n**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`\n\n## How to use\n\n1. Connect your ESP8266 to a USB power source (you can power it with your phone using an OTG cable)\n\n2. Scan for Wi-Fi networks on your device and connect to `Wi-PWN` (no password by default).\n\n3. Once connected, open up your browser and go to `http://192.168.4.1`\n\n4. Click on \u003ckbd\u003eACCEPT\u003c/kbd\u003e to accept the Terms \u0026amp; Conditions\u003cbr\u003e\u003cbr\u003e\n![](pictures/windows/chrome/default/index.png)\n\n5. Specify a SSID and password for Wi-PWN to use and click on \u003ckbd\u003eCONTINUE\u003c/kbd\u003e\u003cbr\u003e\u003cbr\u003e\n![](pictures/windows/chrome/default/setup.png)\n\n6. Reconnect to the new network using the SSID \u0026amp; Password you specified in the previous step.\n7. Go back to your browser and the page should reload (open `http://192.168.4.1` again if the page doesn't reload)\u003cbr\u003e\u003cbr\u003e\n8. Click on the \u003ckbd\u003eScan\u003c/kbd\u003e button to scan for Wi-Fi networks\u003cbr\u003e\u003cbr\u003e\n![](pictures/windows/chrome/default/scan.png)\u003cbr\u003e\n**Note: You may have to reconnect to the Wi-Fi network.**\n\n9. Select the WiFi network(s) you want to perform the attack on. Once finished, click on the \u003ckbd\u003eAttack\u003c/kbd\u003e button\n10. Select the attack you wish to perform \u003cbr\u003e\u003cbr\u003e\n![](pictures/windows/chrome/default/attack.png)\u003cbr\u003e\n\n\n## FAQ\n\n#### Only able to connect to Wi-Fi network on some devices\n\nThis happens due to a channel conflict. Simply navigate to `192.168.4.1/settings.html` on a device that is able to connect to the Wi-Fi network and **change the Channel number** from `1` to any number up to `14`.\n\n#### `espcomm_sync failed` / `espcomm_open` when uploading\n\nThe ESP upload tool can't communicate with the chip.\n\n- Reconnect the chip using a different USB port and cable.\n- Install the USB drivers (cp2102 or ch340).\n- Make sure the right COM port is selected.\n\n#### SSID's wont load? (No clear button)\n\nTry resetting the SSID list by visiting `192.168.4.1/clearSSID.json` while connected to your ESP.\nIf this doesnt solve your problem, ask for help in the [official discord](https://discord.gg/yN2x7sp).\n\n#### Deauth attack won't work\n\nIf you see 0 pkts/s on the website, then you've made a mistake. Check that you have followed the installation steps correctly and that the right SDK installed, it must be version 2.0.0!\nIf it can send packets but your target doesn't lose its connection, then the Wi-Fi router either uses [802.11w](#how-to-protect-against-it) and it's protected against such attacks, or it communicates on the 5GHz band, which the ESP8266 doesn't support because of its 2.4GHz antenna.\n\n#### If you have other questions or problems with the ESP8266 you can also check out the official [community forum](http://www.esp8266.com/).\n\n[![Analytics](https://ga-beacon.appspot.com/UA-85426772-5/Wi-PWN/?pixel)](https://github.com/igrigorik/ga-beacon)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdenty%2FWi-PWN","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamdenty%2FWi-PWN","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdenty%2FWi-PWN/lists"}