WiFi captive portal for the NodeMCU (ESP8266 Module) with DNS spoofing.
This project is for testing and educational purposes. Use it only against your own networks and devices. I don't take any responsibility for what you do with this program.
-
๐ช The LED will blink 5 times when a password is posted.
-
๐ช All captured password will be stored in the ESP8266 itself.
-
๐ชYour saved passwords will not disappear when you:
โถ๏ธ Restart/power off the ESP8266.โถ๏ธ Change the SSID.
-
๐ช You can clear saved password when necessary.
-
๐ช You can change the SSID name from the portal itself.
- Passwords and SSID will be stored in the EEPROM of the ESP8266.
- EEPROM Memory location:
- 0-19
โถ๏ธ For storing SSID. - 20-24
โถ๏ธ To check the first boot of ESP8266. - 30-END
โถ๏ธ For storing password.
- 0-19
- When ESP8266 boots for the first time, it checks the data in memory location (20-24) in EEPROM.
- After the first boot, it only loads the SSID and all passwords in the EEPROM.
- If there is no SSID in the EEPROM, default SSID will be set.
- โ๏ธ Changing the SSID:
โถ๏ธ 172.0.0.1/ssidโ๏ธ - ๐ฅClearing the passwords:
โถ๏ธ 172.0.0.1/clearโ๏ธ - ๐ To see saved passwords:
โถ๏ธ 172.0.0.1/passโ๏ธ - ๐ Testing victim page:
โถ๏ธ 172.0.0.1/indexโ๏ธ
-
Download ESP8266 Flasher.
-
Download the esp-wifi-captive-portal-v1.0.bin file.
-
Open the ESP8266 Flasher and select the Node MCU port
- Then, go to the config tab and select the .bin file you've just downloaded.
-
Finally, go back to the first tab and press "Flash"
-
Your Node MCU is ready!
- Open your Arduino IDE and go to File ๐ Preferences ๐ Boards Manager URLs and paste the following link:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
- Go to Tools ๐Board ๐ Boards Manager, search "esp8266" and install esp8266.
- Go to Tools ๐ Board and select you board.
- Download and open the sketch "esp-wifi-captive-portal.ino".
- You can optionally change some parameters like the SSID name and texts of the page like title, subtitle, text body...
- Upload the code into your board.
- You are done!
- After uploading the code, first clear the passwords already in the EEPROM.
- If any error happens, kindly report the issue.