ENIGMA is a command-line IoT security toolkit powered by the ESP32 NodeMCU, built for real-time wireless signal monitoring, basic attack simulation, and hands-on cybersecurity research. It provides an educational, modular platform for ethical hackers, students, and professionals to safely explore wireless vulnerabilities.
⚠️ For educational and ethical use only. Do not use this tool for unauthorized activities.
- Wi-Fi Scanner
- Evil Twin Attack
- Hardcoded Evil Twin Attack
- iPhone BLE Spamming
- RFID Tag Reader (MFRC522)
- UID storage with Profile
- Full Command-Line Operation
- Real-time log of events
- Configurable commands via Serial Terminal
| Component | Description |
|---|---|
| ESP32 NodeMCU | Main Microcontroller (Wi-Fi + BLE) |
| MFRC522 RFID Module | RFID tag reader module |
| Buzzer, LEDs | For alerts and interaction |
| Push Button | Trigger actions |
| Breadboard & Wires | Prototyping setup |
| USB Cable | Power + Serial Communication |
Pin Mapping Example for MFRC522 to ESP32 (update if needed):
SDA→ GPIO21SCK→ GPIO18MOSI→ GPIO23MISO→ GPIO19RST→ GPIO22VCC→ 3.3VGND→ GND
- Custom ESP32 Firmware (C++) for wireless scanning and attack emulation
- Command-Line Interface (CLI) for real-time interaction
- Event Logger for tracking actions and signal events
- Task Scheduler for timed scans and auto-actions
- Integrated drivers: Wi-Fi, Bluetooth, RFID
- Compatible with macOS/Linux (via Serial Terminal)
Follow these steps to set up and run the ENIGMA CLI-based IoT security toolkit.
Ensure all components are connected according to the hardware table and pin map above.
Install the following tools and libraries:
- Open File → Preferences
- Add this URL to Additional Board Manager URLs:
- Go to Tools → Board → Board Manager
- Search for ESP32 and click Install
WiFi.hMFRC522.hBluetoothSerial.hSPI.h
git clone https://github.com/your-username/enigma-iot-cli.git
cd enigma-iot-cli
- Open the firmware
.inoor.cppfile in Arduino IDE. - Select the board:
Tools → Board → ESP32 Dev Module - Choose the appropriate COM port from
Tools → Port - Click the Upload button to flash the firmware.
After uploading is complete, you can interact with the ENIGMA CLI:
- Go to: Tools → Serial Monitor
- Set baud rate to
115200
screen /dev/ttyUSB0 115200Replace /dev/ttyUSB0 with your actual device path.
🧪 What You Can Do with ENIGMA CLI Once connected, you can execute the following operations in real time:
📡 Scan Wi-Fi networks
🔐 Read RFID tags
📶 Emulate Evil Twin access points
📲 Spams BLE signals
⏱️ periodic wireless scans
📊 Example Use Cases ✅ Simulate an Evil Twin access point ✅ Read and log RFID tag data ✅ BLE spam advertisements to test device filtering ✅ Schedule periodic wireless scans
Do not use ENIGMA to perform unauthorized attacks or invade others’ privacy. Always obtain proper consent before testing networks or devices.
🔒 Use responsibly. Stay ethical. Hack smart.