-
Notifications
You must be signed in to change notification settings - Fork 222
ciwzeroclick
SSID Injection Testing Framework for IoT & WiFi device security assessment.
Broadcasts crafted SSID payloads to detect parsing vulnerabilities, buffer overflows, and command injection flaws in nearby devices.
Based on CommandInWiFi-Zeroclick by V33RU.
CIW Zeroclick Menu
│
▼
[1] Select Categories → choose payload types (14 categories)
│
▼
[2] Start Attack → loads payloads from SD, starts WiFi AP
│
▼
[3] SSID Rotation → broadcasts each payload as AP name
│
▼
[4] Device Monitoring → tracks connections & disconnections
│
▼
[5] Crash Detection → alerts on quick disconnect (<10s)
│
▼
[6] View Results → devices list & crash alerts
WiFi devices constantly scan for available networks. When a device encounters an SSID, it must parse the network name to display it in its UI, store it in logs, or process it internally.
CIW Zeroclick exploits this by broadcasting specially crafted SSIDs containing:
-
Command injection sequences (
|reboot|,$(cmd),`cmd`) - Buffer overflow patterns (oversized strings, boundary values)
-
Format string attacks (
%s%s%s%s,%n%n%n) - Escape sequences (ANSI terminal escapes, control characters)
- Serialization attacks (JSON/XML/YAML injection, SQL injection)
- And more... (XSS, path traversal, CRLF, Log4Shell, NoSQL, heap spray)
If a device crashes, reboots, or disconnects abruptly after encountering a specific payload, it indicates a potential vulnerability in the device's SSID parsing logic.
| # | Category | Count | Description |
|---|---|---|---|
| 1 | wifi_cmd |
25 | Command injection (pipe, backtick, subshell, semicolon) |
| 2 | wifi_overflow |
26 | Buffer overflow (oversized, boundary, null-fill, patterns) |
| 3 | wifi_fmt |
15 | Format string (%s, %n, %x, %p, positional) |
| 4 | wifi_probe |
14 | Encoding probes (null bytes, UTF-8 edge cases, BOM, RTL) |
| 5 | wifi_esc |
8 | Terminal escape sequences (ANSI clear, OSC title, color) |
| 6 | wifi_serial |
13 | Serialization attacks (JSON, XML, SQL, YAML, SSTI, DDE) |
| 7 | wifi_enc |
8 | Encoding bypasses (fullwidth Unicode, URL-encoding, HTML entities) |
| 8 | wifi_chain |
8 | Multi-SSID chained attacks (split payloads across rotations) |
| 9 | wifi_heap |
8 | Heap exploitation patterns (dlmalloc, canaries, spray) |
| 10 | wifi_xss |
8 | Cross-site scripting (script tags, event handlers, iframe) |
| 11 | wifi_path |
6 | Path traversal (../../../, URL-encoded, /proc/self) |
| 12 | wifi_crlf |
6 | HTTP header injection (Set-Cookie, Location, smuggling) |
| 13 | wifi_jndi |
6 | Log4Shell / JNDI (LDAP, DNS, RMI, env leak) |
| 14 | wifi_nosql |
6 | NoSQL / LDAP injection (MongoDB operators, LDAP filter) |
| Total | 157 |
- Select Categories → toggle individual categories on/off with checkboxes
- [START] Attack → load payloads and begin broadcasting
- View Devices → list of devices that connected during broadcast
- View Alerts → crash alerts (devices that disconnected in <10 seconds)
- Set Rotation → configure SSID rotation interval (1–3600 seconds, default 5s)
CIW BroadcastingSSID: |reboot| Payload: 3/157 Cat: wifi_cmd Devices: 2 Alerts: 1 Next: 3s
;/. prev/next BS stop
Accessible from the Admin Console (/evil-menu → CIW Zeroclick) or directly at /ciw.
- Category selector — click to toggle categories before deploying
- Start / Stop — control broadcast remotely
- Live status — current SSID, payload index, device count, alert count
- Devices panel — MAC addresses + triggering SSID for each connected device
- Alerts panel — crash alerts with MAC, SSID, and disconnect duration
| Method | Endpoint | Description |
|---|---|---|
| GET | /ciw |
Dashboard HTML page |
| GET | /api/ciw/payloads |
List all payloads (JSON) |
| GET | /api/ciw/payloads?cat=wifi_cmd |
Filter by category |
| POST | /api/ciw/deploy |
Start broadcast (body: cats=wifi_cmd,wifi_fmt) |
| POST | /api/ciw/stop |
Stop broadcast |
| GET | /api/ciw/status |
Current status (JSON) |
| GET | /api/ciw/devices |
Connected devices (JSON) |
| GET | /api/ciw/alerts |
Crash alerts (JSON) |
| Command | Description |
|---|---|
ciw_start |
Load payloads and start broadcasting |
ciw_stop |
Stop broadcast |
ciw_status |
Show current status (broadcasting, payload index, devices, alerts) |
/evil/
└── ciw/
└── payloads.json ← 157 default payloads (auto-created on first use)
The payloads.json file is automatically generated on first launch if not present.
You can also edit it manually to add custom payloads. Format:
[
{"t":"|reboot|", "c":"wifi_cmd", "d":"Pipe operator reboot"},
{"t":"AAAA...","c":"wifi_overflow","d":"32-byte A fill"},
...
]
-
t— payload text (used as SSID, max 32 chars) -
c— category name (must match one of the 14 categories) -
d— description (for reference only)
When a device connects to the broadcast AP and disconnects within 10 seconds, it is flagged as a potential crash:
- The LED turns red momentarily
- An alert entry is created with the device MAC, triggering SSID, and disconnect duration
- Up to 10 alerts are stored in a circular buffer
- Alerts are visible on the Cardputer screen, web dashboard, and serial output
Note: A quick disconnect does not guarantee a crash — the device may have simply moved away or rejected the AP. Further investigation (device logs, firmware analysis) is needed to confirm the root cause.
| Context | Keys | Action |
|---|---|---|
| Menu |
; / .
|
Navigate up / down |
| Menu | Enter |
Select / toggle category |
| Menu | Backspace |
Back to main menu |
| Broadcast |
; / .
|
Previous / next payload (manual) |
| Broadcast | Backspace |
Stop broadcast and return |
| Rotation | 0-9 |
Type interval value |
| Rotation | Enter |
Confirm interval |
CIW: Created default payloads.json on SD CIW: Loaded 157 payloads CIW: Broadcasting started - 157 payloads CIW: First SSID: |reboot| CIW: Rotated to [2/157] &reboot& CIW: Device connected AA:BB:CC:DD:EE:FF CIW: Rotated to [3/157] `reboot` CIW: ALERT crash detected! Duration: 847ms CIW: Rotated to [4/157] $reboot$ CIW: Broadcasting stopped
This module is designed for authorized security testing and research only.
It evaluates device behavior under abnormal WiFi SSID input conditions.
Use ethically, legally, and only on devices you own or have written authorization to test.
Unauthorized wireless interference may be illegal in your jurisdiction.
No. CIW Zeroclick is a detection tool, not an exploit framework. It broadcasts strings that would be dangerous if a device passes SSIDs to a shell or parser unsanitized. It detects behavioral anomalies (crash, reboot, disconnect) — confirming root cause requires separate device-side analysis.
Yes. Edit /evil/ciw/payloads.json on the SD card. Add entries in the format {"t":"your_payload","c":"wifi_cmd","d":"description"}. The category must be one of the 14 predefined categories. SSIDs are limited to 32 characters.
CIW uses the ESP32 in AP mode to broadcast the crafted SSIDs. This replaces any active captive portal or AP. When you stop the broadcast, WiFi mode is restored to APSTA.
IoT devices, embedded systems, routers, and older firmware implementations that parse SSIDs without proper input sanitization are most susceptible. Modern smartphones and laptops generally handle malformed SSIDs safely.
Some payloads are split across multiple SSIDs. If a device caches and concatenates SSIDs from sequential scans (e.g., in a log file), the combined result forms a complete attack string. This tests for persistent storage injection rather than single-parse vulnerabilities.
- Installation
- Slave
- ESP32 RIG Tutorial
- Scan WiFi
- Select WiFi
- Clone & Details
- Captive Portal Management
- Admin WebUI
- Check Credential
- Probes Attack
- Sniffing Probes
- Karma Attack
- Automated Karma Attack
- Karma Spear
- Bluetooth Serial Control
- Wardriving
- Wardriving Master
- Beacon Spam
- Deauther
- Auto Deauther
- Evil Twin
- Handshake Master
- WiFi Raw Sniffing
- Sniff Raw Client
- WiFi Channel Visualizer
- Client Sniff And Deauth
- Handshakes/Deauth sniffing
- Wall Of Flipper
- Send Tesla Code with RFunit
- SSH Shell
- Scan Network and Port
- Full Network Scan
- Web Crawler
- PwnGridSpam
- Skimmer Detector
- Mouse Jiggler
- BadUSB
- Bluetooth Keyboard
- Reverse TCP Tunnel
- DHCP Starvation Attack
- Rogue DHCP Server
- Switch DNS
- Network Hijacking
- Printer Attack
- Web Siphoning Cookie
- Honeypot
- LLM Chat Stream
- EvilChatMesh
- Responder
- WPAD Abuse
- Crack NTLMv2
- FileManager
- UART Shell
- SIP toolkit
- CCTV toolkit
- SSDP poisoning
- SkyJack
- Wifi Dead Drop
- BLENameFlood
- Wall Of Airtag
- FindMyEvil
- UPnP Mapping
- UPnP NAT
- LDAPDump
- IMSI Catcher
- Open Wifi Checker
- CIW ZeroClick
- Settings
- Installation
- Slave
- ESP32 RIG Tutorial
- Scan WiFi
- Select WiFi
- Clone & Details
- Captive Portal Management
- Admin WebUI
- Check Credential
- Probes Attack
- Sniffing Probes
- Karma Attack
- Automated Karma Attack
- Karma Spear
- Bluetooth Serial Control
- Wardriving
- Wardriving Master
- Beacon Spam
- Deauther
- Auto Deauther
- Evil Twin
- Handshake Master
- WiFi Raw Sniffing
- Sniff Raw Client
- WiFi Channel Visualizer
- Client Sniff And Deauth
- Handshakes/Deauth sniffing
- Wall Of Flipper
- Send Tesla Code with RFunit
- SSH Shell
- Scan Network and Port
- Full Network Scan
- Web Crawler
- PwnGridSpam
- Skimmer Detector
- Mouse Jiggler
- BadUSB
- Bluetooth Keyboard
- Reverse TCP Tunnel
- DHCP Starvation Attack
- Rogue DHCP Server
- Switch DNS
- Network Hijacking
- Printer Attack
- Web Siphoning Cookie
- Honeypot
- LLM Chat Stream
- EvilChatMesh
- Responder
- WPAD Abuse
- Crack NTLMv2
- FileManager
- UART Shell
- SIP toolkit
- CCTV toolkit
- SSDP poisoning
- SkyJack
- Wifi Dead Drop
- BLENameFlood
- Wall Of Airtag
- FindMyEvil
- UPnP Mapping
- UPnP NAT
- LDAPDump
- IMSI Catcher
- Open Wifi Checker
- CIW ZeroClick
- TagTinker ESL
- Settings