El servicio Subaru STARLINK, que permite monitorear el estado de un automóvil a través de una aplicación móvil, ha identificado problemas de seguridad que permiten obtener acceso ilimitado a todos los automóviles y cuentas de clientes de EE. UU., Canadá y Japón. Resultó que era posible acceder al panel de administración de STARLINK a través de una vulnerabilidad en el mecanismo de recuperación de contraseña olvidada. Para acceder a un automóvil a través del panel de administración de STARLINK, basta con saber el número de teléfono, correo electrónico, matrícula o apellido con código postal del propietario.
Habiendo encontrado el automóvil deseado en el panel de administración, el atacante podría arrancar/apagar, bloquear/desbloquear el automóvil de forma remota, obtener datos sobre la ubicación actual del automóvil y descargar un historial completo de movimientos durante el último año con una precisión de 5 medidores, conocer los datos personales del propietario (dirección, número de teléfono, últimos 4 dígitos) números de tarjetas de crédito) y el historial de reventa del vehículo.
Como resultado del análisis de la actividad de la aplicación móvil MySubaru, que permite enviar comandos al automóvil, los investigadores notaron que las solicitudes se enviaban a servidor "mobileapi.prod.subarucs.com". La aplicación móvil en sí no presentaba fallos de autenticación, por lo que se intentó examinar los subdominios de "subarucs.com". Uno de los hosts activos resultó ser "portal.prod.subarucs.com", que, al abrirse, mostraba la página de inicio de sesión del portal de administración de STARLINK.
Después de examinar el código JavaScript utilizado en la página, los investigadores notaron en el archivo "/assets/_js/login.js" una función para recuperar una contraseña olvidada. Esta función generó un bloque JSON con una nueva contraseña vinculada al correo electrónico del empleado y envió una solicitud al controlador de restablecimiento de contraseña "/forgotPassword/resetPassword.json". Los datos se enviaron sin hacer referencia a un código de verificación que confirme la propiedad del correo electrónico. Así, para cambiar la contraseña de cualquier empleado de Subaru con acceso al Portal de Administración de STARLINK, bastaba con conocer su correo electrónico.
Cuando se especificaba un correo electrónico no válido, el controlador devolvía un código de error característico que permitía determinar si el correo electrónico especificado existía. Para encontrar un correo electrónico válido, los investigadores estudiaron información pública sobre los ingenieros de Subaru en la red social LinkedIn y concluyeron que los empleados tienen direcciones con el formato "primera letra del nombre + apellido@subaru.com", por ejemplo, "jdoe@subaru.com". Después de probar todas las combinaciones posibles, finalmente encontramos una dirección de correo electrónico funcional de uno de los ingenieros cuya contraseña se cambió correctamente: POST /forgotPassword/resetPassword.json HTTP/1.1 Host: portal.prod.subarucs.com { "email": "jdoe@subaru.com", "password": "Example123!", "passwordConfirmation": "Example123!" } HTTP/1.1 200 ... "éxito"
Iniciar sesión en el sitio “portal.prod.subarucs.com” con una nueva contraseña mostró que para completar el cambio de contraseña, debe responder la pregunta utilizada para la autenticación de dos factores. Pero resultó que la verificación solo afecta la visualización de la página y para evitar la autenticación de dos factores basta con eliminar la capa con el cuadro de diálogo modal en el depurador de JavaScript. Después de esto, se obtuvo acceso completo a la interfaz web del servicio.


Entre las funciones disponibles en la interfaz portal.prod.subarucs.com se encontraba la búsqueda de automóviles según varios parámetros del propietario. Los investigadores encontraron el coche de un amigo que aceptó participar en el experimento y, utilizando el formulario correspondiente en la interfaz, se sumaron al número de usuarios autorizados a los que se les permite controlar el coche de forma remota. Después de eso, utilizando su cuenta en la aplicación móvil, desbloquearon el coche de forma remota. Al mismo tiempo, el propietario no recibió ninguna notificación sobre las transacciones realizadas.

Fuente: opennet.ru
