GithubHelp home page GithubHelp logo

alpha-1729 / esp_wifi_captive_portal Goto Github PK

View Code? Open in Web Editor NEW
36.0 3.0 7.0 874 KB

ESP8266 WiFi captive portal for phishing WiFi passwords.

C++ 100.00%
arduino esp8266 nodemcu esp captive-portal wifi-captive-portal wifi hacking-wifi password-capture password

esp_wifi_captive_portal's Introduction

ESP8266 Wifi Captive Portal

WiFi captive portal for the NodeMCU (ESP8266 Module) with DNS spoofing.

Original Author

Disclaimer

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.

Features

  • ๐Ÿ’ช 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.

Working

  • 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.
  • 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.

Usage

  • โœ๏ธ 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โ—€๏ธ

Demo Video

Screenshot

172.0.0.1/index 172.0.0.1/post 172.0.0.1/pass 172.0.0.1/ssid
This is the main page. Here the user will write his password and send it. This is the post page. The user will be redirected here after posting the password. This is where the attacker can retrieve all the passwords that has been posted and saved passwords can be cleared. Here the attacker can change the SSID name of the Access Point on the go.

Installation

1. ESP8266 Flasher - Easy way

  1. Download ESP8266 Flasher.

  2. Download the esp-wifi-captive-portal-v1.0.bin file.

  3. Open the ESP8266 Flasher and select the Node MCU port

  1. Then, go to the config tab and select the .bin file you've just downloaded.

  1. Finally, go back to the first tab and press "Flash"

  2. Your Node MCU is ready!

2. Arduino IDE

  1. 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
  2. Go to Tools ๐Ÿ”ŽBoard ๐Ÿ”Ž Boards Manager, search "esp8266" and install esp8266.
  3. Go to Tools ๐Ÿ”Ž Board and select you board.
  4. Download and open the sketch "esp-wifi-captive-portal.ino".
  5. You can optionally change some parameters like the SSID name and texts of the page like title, subtitle, text body...
  6. Upload the code into your board.
  7. You are done!

Note

  • After uploading the code, first clear the passwords already in the EEPROM.
  • If any error happens, kindly report the issue.

esp_wifi_captive_portal's People

Contributors

alpha-1729 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

esp_wifi_captive_portal's Issues

There is a compilation error in funtion String postedSSID()

This error occurred while compiling in Arduino IDE

C:\Users\HP\AppData\Local\Temp\.arduinoIDE-unsaved202341-25240-19sjolq.b2lc\sketch_may1a\sketch_may1a.ino: In function 'String postedSSID()':
C:\Users\HP\AppData\Local\Temp\.arduinoIDE-unsaved202341-25240-19sjolq.b2lc\sketch_may1a\sketch_may1a.ino:124:1: error: no return statement in function returning non-void [-Werror=return-type]
  124 | }
      | ^
cc1plus.exe: some warnings being treated as errors

exit status 1

Compilation error: no return statement in function returning non-void [-Werror=return-type]

Screenshot 2023-05-01 005357

I Have A Big Request

Sir, I Appreciate and love your project
As you have fixed many of the captive portal problems from the "125K" project
I believe about 80% people use TP Link Router as their own Wi-Fi Device
And this time i just want to say please make a wifi captive portal of TP Link Router
I have searched a lot for the TP Link Captive Portal
But i have just founded an website that provides me such information of TP Link Captive Portal
And also founded a github project repository of the source code
But in that website they mentioned about Micro Python and i really a beginner about that thing
So please sir, make a TP Link Captive Portal by modifying the source Code
Please translate the website if you're unable to understand
Project Website
Github Source Code

Credentials cleans after reboot

IMG_20200822_154124
Sir, it gets cleaned all passwords after reboot or power off and in the passwords list, it show a long (????) question mark
I have tried to flash the bin file in many ways but same here.

Request add a deauth button

Plz add add a deauth button so you can deauth the real network and change the esp network name to to one ur trying to get there password if you add deauthing option this would be the perfect project I'll be waiting for you to add that feature hopefully soon
-thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.