// PROYECTO: Ciber-Radar Suite
// OS: Android Framework / Flutter Core
// ESTADO: v1.0.0 Stable - Auditor Ready
0x01: Construcción de Ciber-Radar
La necesidad de una herramienta de auditoría inalámbrica que no dependiera de aplicaciones privatizadas, cargadas de telemetría y publicidad, me llevó a desarrollar mi propio ecosistema.
También la experiencia de usar la IA y hasta donde puedes llegar.
El objetivo era claro: crear un MVP (Minimum Viable Product) minimalista, con estética Cyberpunk/hacker, capaz de mapear el entorno radioeléctrico y exportar los hallazgos para un análisis forense posterior, en casita ya con los datos recopilados.
0x02 Detección RF y BLE
Inicié el proyecto implementando el escaneo de redes WiFi (WPA2/WPA3) y dispositivos Bluetooth Low Energy (BLE), vamos lo básico.
El principal reto técnico en esta fase fue la gestión del throttling de Android, que limita la frecuencia de escaneo para conservar batería.
La IA usó la librería wifi_scan para la capa de red y flutter_blue_plus para la telemetría BLE.
Aqui se aprecia como la APP exporta mapas KLM para importar desde Google Earth de manera que, te dibuja y localiza todas las redes WIFI por las que has pasado, dejando en evidencia las redes con poca seguridad (WEP) y te permite geolocalizarlas con mucha exactitud.
Esto está muy bien ya que con los datos "estadisticos" salen estudios interesantes.
CLASIFICACIÓN
WPA3 / SAE: Identificado como Nodo Seguro.
WPA2 / PSK: Identificado como Estándar.
WEP / OPEN: Marcado como Vector Vulnerable.
Para la persistencia de datos, la IA implementó un motor de exportación a CSV.
Esto permite que cualquier captura en campo pueda ser importada directamente en herramientas de visualización o bases de datos SQLite externas.
// Export service logic snippet
List<String> row = [timestamp, ssid, bssid, signal, security, manufacturer];
String csvData = const ListToCsvConverter().convert([row]);
await file.writeAsString(csvData, mode: FileMode.append);
0x03 Mapeo OUI y LAN Recon
Identificar al fabricante (OUI Lookup) basándose en la MAC es crítico para perfilar objetivos.
Inicialmente utilicé una lista hardcoded, pero rápidamente se volvió ineficiente.
La solución fue buscar, descargar e implementar una carga asíncrona de una base de datos oui.json externa, permitiendo identificar miles de dispositivos sin engrosar el binario de la aplicación.
RETO DE RED LOCAL
Android bloquea los paquetes ICMP (Ping) en versiones modernas.
Para el escáner LAN, la IA tuvo que programar un escáner de puertos TCP manual utilizando Sockets directos.
Al iterar sobre los puertos 80, 443, 8008 y 9100, logré detectar dispositivos IoT (Chromecasts, Impresoras) de forma mucho más precisa que con un simple barrido de red.
0x04 Detección de IMSI Catchers
La integración del módulo celular representó el mayor desafío.
Las librerías estándar de Flutter estaban obsoletas o no proporcionaban acceso a bajo nivel.
Tuve que ordenar a la IA descender a la capa nativa y escribir código en Kotlin para interactuar con el TelephonyManager de Android.
Este módulo busca específicamente indicios de un Downgrade Attack.
Si el terminal es forzado de una red LTE/5G a una red 2G (GSM) de forma abrupta, el sistema dispara una alerta visual.
Esta técnica es comúnmente utilizada por dispositivos Stingray para capturar identidades IMSI saltándose los protocolos de cifrado modernos.
val telephonyManager = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
val cellInfoList = telephonyManager.allCellInfo
Detectamos NetworkType y extraemos CID/LAC
0x05 Auditoría Física y Reportes
Para cerrar el círculo de la seguridad física, ordené a la IA el magnetómetro mediante sensors_plus.
Esto permite a Ciber-Radar detectar anomalías en campos magnéticos (µT), lo que es extremadamente útil para localizar dispositivos electrónicos ocultos o bobinas de vigilancia en entornos controlados.
Finalmente, la versión se incorporó un motor de generación de reportes en PDF utilizando la librería pdf de Dart.
No se trata de logs planos; el sistema genera tablas maquetadas profesionalmente con coordenadas GPS, niveles de señal y la clasificación de riesgo de cada elemento detectado durante la sesión.
La versión de esta app es la v1.0.0 y estoy decidiendo si puedo hacerla mas compleja y funcional, pero para ser la primera creo que a modo experimental es suficiente.
No tengo ni idea de desarrollo más allá de lo estudiado en la formación reglada y mis investigaciones, pero hoy en día ya no hay tanto limite con ayuda de la IA
Otro ejercicio para futuro será auditar el código para ver si es seguro
"Security is not a product, it's a mindset."
[ EOF ]