Un defecto severo en un portal de concesionarios de un fabricante de automóviles importante permitió a los atacantes no autorizados registrarse para las cuentas del concesionario, aumentar los privilegios a un administrador nacional y, en última instancia, controlar los vehículos de forma remota.
La vulnerabilidad reside en el fondo de Backend y AngularJS de Java/SAP del portal, donde los formularios de registro ocultos podrían ser expuestos y abusados.
Comida para llevar
1. Los atacantes expusieron un formulario de registro oculto en el frontend de AngularJS y enviaron valores en blanco invitados.
2. Un JSessionID de la API de actualización de perfil, combinada con cheques parcheados del lado del cliente, otorgó privilegios nacionales de administración.
3. Con acceso elevado, la API de inscripción de VIN fue abusada para transferir la propiedad del automóvil y enviar comandos remotos.
Explotando el registro oculto y los tokens de sesión
De acuerdo a Investigador de seguridad Eaton Zveare, el ataque comenzó con el descubrimiento de un formulario de registro HTML oculto (
) que tenía la intención de permanecer invisible hasta que se suministró una token de invitación válida.
Formulario de inscripción
Al forzar el formulario a mostrar a través de Chrome DevTools y omitir el parámetro Invite_Token en la solicitud posterior, los atacantes evitaron la validación del token del lado del servidor por completo.
El punto final de API crítico aceptó tokens en blanco, otorgando a cualquier usuario deshonesto la capacidad de inscribirse como empleado de concesionario.
Una vez registrado, el atacante descubrió que el inicio de sesión normal no creó una sesión utilizable, pero invocar la API de actualización de perfil estableció una cookie JSesionID válida.
Con ese token de sesión, Zveare parcheó las funciones de JavaScript de la clave utilizando la función de anulaciones locales de Chrome, comentando CommonUtil.Srefinfo Checks y omite el modal “de acceso denegado” en CommonUtil.CheckStateValid ().
Esto permitió la navegación al módulo de administración de usuarios interno y externo y la exposición de la lista de usuarios de cada distribuidor a través de la API:
Phishing en el centavo del concesionario
Control de automóvil remoto
Después de la escalada de privilegios exitoso a un grupo administrador nacional, Zveare accedió al sistema de gestión SSO del concesionario y aprovechó la función de suplantación de “inicio de sesión del portal como distribuidor”.
Al sustituir el parámetro SSO_SYS_ID en la URL SSO, giró en portales de concesionario de sub-marcas previamente inaccesibles.
Esta cadena de exploits culminó al acceder a la API de inscripción de vehículos, que admite combinar las cuentas de los clientes con un VIN:
Con la propiedad transferida a su cuenta de prueba, Zveare usó la aplicación móvil oficial para enviar comandos de desbloqueo e iniciar remotos, confirmando el control total.
Las víctimas recibieron una alerta de correo electrónico automatizada, pero carecían de la capacidad de revertir la adquisición silenciosa.
La falla afecta a todos los vehículos del año modelo 2012 en adelante equipado con módulos telemáticos estándar.
Se insta a los fabricantes de automóviles a aplicar parches inmediatos para aplicar la validación de token del lado del servidor, ajustar la gestión de sesiones para las cookies JSessionID e implementar las verificaciones de menos privilegios en todas las API administrativas.
Desde entonces, el fabricante de automóviles en cuestión ha lanzado la versión 1.2.3 del portal del concesionario, que valida de manera obligatoria valora los valores invitados y hace cumplir el control de acceso basado en roles en puntos finales confidenciales.
Aumente su SOC y ayude a su equipo a proteger su negocio con inteligencia gratuita de amenazas de primer nivel: Solicitar prueba de prueba premium de búsqueda TI.
Florence Nightingale es un reportero senior de seguridad y privacidad, que cubre violaciones de datos, delitos cibernéticos, malware y fugas de datos de Cyber Space Daily.