📡 NRSuite — Toolkit de Seguridad Wi-Fi/BLE sin Root (Android + ESP32)
Un ESP32 barato + tu teléfono = plataforma portátil de security testing
NRSuite convierte un Android y una placa ESP32 en un kit combinado de reconocimiento y ataque Wi-Fi/BLE, más módulos de defensa/detección, IR, BadUSB/HID, sensor mmWave y flasheo de firmware, todo por USB-OTG. Sin root, sin kernel modificado, sin adaptador externo y sin laptop.
ESP32 clásico, ESP32-S2, S3, C3 y C5 (firmware aparte)
Conexión
USB-OTG (USB host) · protocolo serie NrJson v1.0
Root / Kernel
No requiere root ni kernel personalizado
Precio
Gratis y open source (APK firmado en Releases)
Tracción
~114 ⭐ · 18 forks (al 2026-10-25)
Instalación
APK sideload o build con Gradle · firmware por flasher in-app o esptool
Uso autorizado únicamente
NRSuite es para investigación de seguridad, educación y pentesting autorizado. Úsalo solo en redes y dispositivos propios o con permiso explícito por escrito. El jamming (denegación de servicio por transmisión RF/Wi-Fi/BLE) está fuera del alcance del proyecto y es ilegal en la mayoría de jurisdicciones; NRSuite implementa detección de jamming, no jamming. Ver LEGAL.md del repo.
🧠 ¿Cómo Funciona?
La app no hace las funciones de radio por sí sola: el ESP32 pone la capa inalámbrica (monitor mode, inyección de tramas, BLE HID, USB HID) y el teléfono aporta CPU, almacenamiento, UI y cracking WPA2 on-device. Ambos se comunican por USB-OTG con un protocolo binario/JSON versionado.
graph LR
A["📱 App Android<br/>Kotlin + Compose"] <-->|USB-OTG<br/>FrameCodec / NrJson| B["🧩 Firmware ESP32<br/>PlatformIO / ESP-IDF"]
B --> C["📶 Wi-Fi 2.4 / 5 GHz<br/>scan · sniff · deauth · portal"]
B --> D["🔵 Bluetooth LE<br/>scan · GATT · HID"]
B --> E["🛠️ Periféricos<br/>IR · mmWave LD2450 · HID"]
A --> F["💾 PCAP · cracking WPA<br/>historial · credenciales"]
A --> G["📡 Mesh ESP-NOW<br/>experimental"]
Flujo de puesta en marcha
Flashear el firmware NRSuite en el ESP32 (flasher in-app o PlatformIO).
Conectar el ESP32 al teléfono con cable/adaptador USB-OTG.
Abrir la app: detecta el dispositivo automáticamente.
Conceder permiso USB host (una vez por dispositivo).
Elegir módulo en la pantalla principal y operar.
El teléfono debe soportar USB-OTG
Sin USB host no hay sesión: la app no controla el ESP32 por Wi-Fi ni por Bluetooth. Usa un cable OTG en buen estado; los hubs USB ayudan con placas S2/S3 y periféricos.
⚡ Capacidades
🔴 Módulos ofensivos (Wi-Fi / BLE)
Módulo
Qué hace
Estado
Wi-Fi Scan
Descubre APs con SSID, BSSID, canal, RSSI, seguridad y flags WPS; filtro Auto/2.4/5 GHz
BETA
Beacon Spam
Difunde SSIDs personalizados u ocultos
BETA
Deauthentication
Ráfaga finita o bucle por duración, con controles mutuamente excluyentes
BETA
Evil Twin
AP gemelo + portal cautivo para captura de credenciales
BETA
Captive Portal
UI de harvesting con HTML personalizado y log de eventos
BETA
Packet Sniffer
Captura en monitor mode, hopping o canal fijo, exporte .pcap, handshake-only y deauth assist
BETA
WPA Handshake
Captura EAPOL + cracking por diccionario en el teléfono
BETA
NRuGochi
Caza por densidad de canal estilo Pwnagotchi: RECON → INTERACT, deauth multi-AP, .pcap por BSSID y stats
BETA
BLE HID
Teclado/ratón HID por Bluetooth LE + payloads DuckyScript
BETA
BLE Scanner
Descubre dispositivos con nombre, RSSI, manufacturer data y servicios
BETA
BLE GATT Profile
Enumeración read-only de servicios y características
BETA
BadUSB
Inyección HID por USB con DuckyScript y armado al boot
BETA
PIN Bruteforce
Probador HID nativo por rango/wordlist con límite de intentos, ETA y sesiones guardadas
BETA
BLE HID PIN Bruteforce
Variante BLE-HID oculta/experimental; no soportada en lock screen
EXP
Credential Manager
Almacén local de credenciales capturadas
BETA
🛡️ Módulos defensivos
Módulo
Qué hace
Estado
Rogue AP Detector
Compara APs cercanos con reglas OUI: SSID duplicado, downgrade de seguridad, AP sospechoso
BETA
Deauth Detector
Monitoreo pasivo de deauth/disassoc con filtros BSSID/cliente/RSSI/razón y alertas
BETA
Tracker Detector
Detecta anuncios estilo Find My, avistamientos repetidos, alertas y exportación
BETA
Client Detector
Monitoreo pasivo de probe/assoc/reassoc/auth + modo activo con deauth trigger
BETA
Hidden AP Revealer
Detección pasiva de APs ocultos y resolución de SSID por probe/association
BETA
Deauth Locator
Estimación de dirección/distancia por RSSI y triangulación multi-nodo
PLAN
🧰 Herramientas, firmware y sensores
Herramienta
Función
Estado
ESP32 Flasher
Flashea firmware merged para ESP32, S2, S3, C3 y C5, con validación de chip y asset de release
BETA
BSSID Geolocation
OUI offline + ubicación aproximada del AP, historial persistente y mapa Leaflet embebido
BETA
Serial Monitor
Monitor serie USB crudo con copia, retención acotada y exportación
BETA
mmWave LD2450
Radar 120° con distancia/velocidad, heartbeat, persistencia de puntos y GPIO configurable
BETA
IR Suite
Librería de remotos con import .ir de Flipper, receptor RMT, finder, jammer supervisado y GPIO configurable
BETA
Mesh ESP-NOW
Elección de master, transporte AES-CCM, handshake HMAC y health reporting
EXP
🔌 Matriz de placas documentada
Placa
Wi-Fi
BLE (scan/GATT/HID)
MSC / BadUSB
Notas
ESP32-S3
✅
✅
✅
Placa más completa del soporte oficial
ESP32-S2
✅
❌
✅
Sin BLE; buena para storage/BadUSB
ESP32-C3
✅
✅
❌
Sin USB-OTG nativo para MSC/BadUSB
ESP32 clásico
✅
✅
❌
Devkit común; sin USB-OTG nativo
ESP32-C5
✅ 2.4/5 GHz
por confirmar
por confirmar
Soporte dual-band añadido en beta.3
gating por hardware
La app negocia capacidades con el firmware al conectar: los módulos no soportados por la placa aparecen como Unavailable en vez de fallar en ejecución.
🚀 Instalación y Compilación
Opción A — APK precompilado (recomendada para beta)
Descargar NRSuite-Android-1.0.0-beta.3-release.apk desde Releases.
Verificar el SHA256 contra SHA256SUMS del release.
# Instalar la app en el teléfonoadb install -r NRSuite-Android-1.0.0-beta.3-release.apk# Alternativa por PC: flashear la imagen merged del releaseesptool.py --port /dev/ttyUSB0 --baud 921600 \ write_flash 0x0 NRSuite-1.0.0-beta.3-esp32c3.bin
El flasher in-app evita el PC: selecciona placa, valida el chip y escribe la imagen por USB-OTG.
🔌 Protocolo Serie y Ecosistema
Componente
Versión compatible
App Android
1.0.0-beta.3
Firmware
1.0.0-beta.3
Protocolo
1.0 (mesh 1.1 experimental)
La comunicación usa FrameCodec / NrJson sobre serie USB. La spec vive en nrsuite-protocol para que app y firmware evolucionen sin romperse en silencio. Cualquier PR que toque el canal app ↔ firmware debe actualizar la spec primero.
⚠️ Límites Conocidos (beta.3)
Lo que todavía NO hace
WPA3/SAE, EAP empresarial y descriptor de clave v3 / AES-CMAC: no soportados.
Credenciales: JSON plano privado de la app; cifrado con Keystore pendiente.
Evil Twin y Captive Portal comparten el mismo recurso AP del firmware.
BLE GATT: solo lectura.
RFID/PN532: código presente pero oculto y no soportado en esta release.
Mesh: experimental y fuera de la validación de la release no-mesh.
OTA: no planificado en placas de 4 MB; actualización por reflasheo completo.