Un investigador de seguridad relata cómo accedió al panel de operaciones de una empresa de patinetes eléctricos en Brasil y logró desbloquear un vehículo a distancia, sin app ni QR. Partió de una noticia sobre el despliegue de la flota y, mediante enumeración de subdominios, localizó un panel Angular en producción que no estaba enlazado desde la web principal. El frontend exponía 83 endpoints —vehículos, mapas, muelles, garajes, geocercas, vales, transacciones, dispositivos IoT— protegidos por autenticación que inicialmente rechazó sus 38 primeras pruebas.
El punto de inflexión fue la enumeración de autores en la API pública de WordPress del sitio: el slug del usuario administrador coincidía con un inicio de sesión válido en el panel de operaciones. Sin rate limiting, un ataque de fuerza bruta contra esa cuenta dio con una contraseña funcional. Con la sesión, el auditor obtuvo un JWT con rol de nivel 1000 (administrador) y validez de 950 días, lo que le dio acceso de lectura a unos 408.000 registros de usuarios y a la flota completa de vehículos e IoT.
El panel no solo leía datos: permitía editar vehículos, cuentas y lotes de vales. La parte más grave fue el módulo IoT, desde el cual envió comandos de desbloqueo, bloqueo y reinicio directamente al hardware. Un colaborador filmó cómo un patinete real respondía a la orden remota. El autor aclara que limitó la prueba a un único vehículo y descarta haber probado comandos que pudieran provocar movimiento. También documentó callejones sin salida: el intento de saltarse la protección de la app Flutter, la inyección SQL en el login y un filtrado geográfico que terminó por revocar su propia sesión.
