diff --git a/README.md b/README.md index cd50b92..b47175a 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,15 @@ Firmware for high-tech pranks on M5Stack ESP32 Devices NEMO started a personal project to help me learn more about ESP32 development with the Arduino IDE. I decided to replicate a few common, trending pranks that were getting a lot of attention in the tech community, as a challenge to myself, and to also better understand these attacks. NEMO is named after the small, clever and stubborn fish in Finding Nemo. This project stands in contrast to another high-tech gadget that's associated with certain sea-dwelling creatures. I did want to prove that there are a lot of things you can do with a small development kit and some curiosity. I have no delusions of superseding the capabilities of any similar device with this project. It's just for fun, and my own education. -![M5-Nemo on M5StickC+ and M5Cardputer](https://github.com/n0xa/m5stick-nemo/blob/main/M5-Nemo.jpg) +![M5-Nemo on M5StickC family and M5Cardputer](https://github.com/n0xa/m5stick-nemo/blob/main/M5-Nemo.jpg) + ## Features * [TV B-Gone](http://www.righto.com/2010/11/improved-arduino-tv-b-gone.html) port (thanks to MrArm's [HAKRWATCH](https://github.com/MrARM/hakrwatch)) to shut off many infrared-controlled TVs, projectors and other devices * [AppleJuice](https://github.com/ECTO-1A/AppleJuice) iOS Bluetooth device pairing spam * Bluetooth device notification spamming for SwiftPair (Windows) and Android * WiFi Spam - Funny SSIDs, WiFi Rickrolling, and a Random mode that creates hundreds of randomly-named SSIDs per minute * WiFi NEMO Portal - A captive portal that tries to social engineer email credentials - saves usernames and passwords to SD Card (if inserted into a supported reader) -* WiFi SSID Scanner - Display 2.4 GHz SSIDs nearby and get information about them +* WiFi SSID Scanner - Display 2.4 GHz SSIDs nearby, get information about them, and even clone the SSIDs in NEMO Portal * User-adjustable 24 Hour digital clock backed by the M5 Stick RTC so it holds relatively stable time even in deep sleep and low battery mode * EEPROM-backed Settings for rotation, brightness, automatic dimming and NEMO Portal SSID * Battery level and credits in settings menu @@ -38,8 +39,10 @@ There are three main controls: In NEMO Portal mode, NEMO activates an open WiFi Hotspot named "Nemo Free WiFi" (configurable in portal.h) with DNS, DHCP and Web servers activated. * NEMO Portal serves a fake login page that claims to provide internet access if you log in. * This is a social engineering attack, and will log the username and passwords entered on the page. -* You can view these credentials by connecting to the portal from your own device and browsing to http://172.0.0.1/creds +* From the Wifi Scan details, you can clone an existing SSID from the scan list. Exiting NEMO Portal will clear the Evil Twin SSID +* You can view captured credentials by connecting to the portal from your own device and browsing to http://172.0.0.1/creds * You can set a custom SSID by connecting to the portal from your own device and browsing to http://172.0.0.1/ssid +* If your device supports EEPROM for settings, the custom SSID you enter will be saved as the default, even if powered off. * If your device has an SD Card reader with a FAT filesystem formatted card inserted, the usernames and passwords will be logged to nemo-portal-creds.txt on the SD Card for you to peruse later. * SD Card support is only enabled by default on the M5Stack Cardputer platform. It can be enabled on M5Stick devices but an SD Card reader must be built and attached to the front panel pin header. * NEMO Portal is only for use on professional engagements with a valid scope of work, educational or demonstration purposes. Storage, sale, or use of personal information without consent is against the law. 🤓 diff --git a/m5stick-nemo.ino b/m5stick-nemo.ino index aee18a8..b881d7d 100644 --- a/m5stick-nemo.ino +++ b/m5stick-nemo.ino @@ -5,7 +5,7 @@ #define STICK_C_PLUS //#define STICK_C_PLUS2 //#define STICK_C -//define CARDPUTER +//#define CARDPUTER // -=-=- Uncommenting more than one at a time will result in errors -=-=- String buildver="2.3.0"; @@ -50,7 +50,7 @@ String buildver="2.3.0"; #define SMALL_TEXT 2 #define TINY_TEXT 1 // -=-=- FEATURES -=-=- - #define ACTIVE_LOW_IR + //#define ACTIVE_LOW_IR #define ROTATION #define USE_EEPROM //#define RTC //TODO: plus2 has a BM8563 RTC but the class isn't the same, needs work.