1 puntos por GN⁺ 2024-11-06 | 1 comentarios | Compartir por WhatsApp
  • Mientras realizaban pruebas en el entorno de desarrollo de EA, "integration", obtuvieron un token de acceso con privilegios mediante credenciales hardcodeadas en el ejecutable de un juego específico.

Documentación de autenticación

  • Escanearon varios endpoints para verificar si la documentación de la API estaba expuesta.
  • En /connect/api-docs/index.json encontraron un archivo Swagger JSON y confirmaron la implementación completa de Swagger de la API Nexus Connect.
  • Actualizaron el archivo Swagger a la especificación OpenAPI 3.0 y lo ejecutaron en un servidor local de Swagger UI.

Buscando más

  • EA Desktop usa "Service Aggregation Layer", una API GraphQL que integra múltiples servicios backend.
  • En gateway.int.ea.com descubrieron más de 80 endpoints de servicios.

Encuentran una mina de oro

  • Solicitaron todos los endpoints y los convirtieron a la especificación OpenAPI para revisar distintos tipos de datos.
  • Encontraron información interesante, como datos sobre equipos de juegos específicos.

Hora de producción

  • Exploraron endpoints accesibles con un cliente OAuth de producción.
  • A través de los endpoints /identity/pids/me y /identity/pids/me/personas, revisaron la información de la cuenta y la lista de "personas".

El gran hallazgo

  • Descubrieron que podían actualizar personas mediante el endpoint /identity/pids/{pidId}/personas/{personaId}.
  • Era posible cambiar el nombre de usuario, modificar el estado de la persona y mover la persona a otra cuenta.

Otro descubrimiento

  • Mediante el endpoint /identity/namespaces/{namespace}/personas también era posible buscar cuentas ocultas.
  • Al mover la persona de otra cuenta a la propia, se podía tomar control de los datos de esa cuenta.

Tercer intento

  • Descubrieron que podían omitir el 2FA e iniciar sesión en una cuenta usando tokens de Xbox/PSN.
  • Al iniciar sesión en el juego desde Xbox, lograron acceder a la cuenta de la víctima.

Impacto

  • Un atacante podía mover datos de personas para robar nombres de usuario y datos de juegos.
  • Podía iniciar sesión en la cuenta a través de Xbox y acceder a la cuenta de la víctima.
  • Podía banear personas o cambiar nombres de usuario.

Algunas reflexiones

  • Fue lamentable que a EA le tomara tiempo resolver el problema y que no exista un programa de bug bounty.
  • La colaboración con EA fue positiva.

Línea de tiempo

  • 16 de junio de 2024 - Reporte de la vulnerabilidad a EA
  • 8 de julio de 2024 - Despliegue del parche 1 (verificación de propiedad de la persona)
  • 10 de septiembre de 2024 - Despliegue del parche 4 (eliminación de la documentación)

1 comentarios

 
GN⁺ 2024-11-06
Comentarios de Hacker News
  • A EA le gusta usar un sistema común para todos sus juegos. Encontraron un backend compartido llamado blaze en Madden, con endpoints web y TCP. Hicieron una herramienta para invocar los endpoints, pero fueron tirando los servidores uno por uno. Después intentaron construir una API para impedir la exploración

  • Instalaron Battlefield 2042 a través de Xbox y lograron conectarse con éxito. Les encantan los hackers

  • Serían interesantes las notas que muestren cuánto tiempo y esfuerzo se necesita para llevar a cabo el ataque

  • Quienes disfrutaron este texto pueden leer más en plataformas de bug bounty como "Hacktivity" de HackerOne

  • Gracias a este texto revisaron sus servidores de API de desarrollo y operación para confirmar que las rutas del descriptor OpenAPI UI/JSON no estuvieran expuestas

  • Con los juegos de EA nunca está claro si van a funcionar. Algo parecido podría pasar incluso en una gran nube. En el mundo de la infraestructura sería un escenario imposible, pero en el mundo de consumo de EA es algo cotidiano

  • EA afirmó que cambiar una cuenta de Xbox por una cuenta nueva era "técnicamente imposible", pero en realidad sí se puede. Como no pueden vincular una cuenta vieja de Xbox, no pueden jugar juegos de EA en Xbox

  • Sería divertido bloquear todas las cuentas y esperar que no haya respaldos de la base de datos

  • Me pregunto cómo se sentirá trabajar como ingeniero en una gran empresa. Distintos equipos son dueños de distintas partes, así que es muy probable que existan vulnerabilidades

  • Es decepcionante que EA todavía no haya iniciado un programa de bug bounty. Como no hay incentivos para reportar, hay gente que también oculta vulnerabilidades. Ojalá EA siga la tendencia de la industria. Me pregunto si no hubo ninguna recompensa por el reporte