1 points par GN⁺ 2024-11-06 | 1 commentaires | Partager sur WhatsApp
  • Lors de tests dans l’environnement de développement d’EA, « integration », un jeton d’accès privilégié a été obtenu via des identifiants codés en dur dans l’exécutable d’un jeu précis.

Documents d’authentification

  • Plusieurs endpoints ont été scannés pour vérifier si la documentation de l’API était exposée.
  • Un fichier Swagger JSON a été découvert sur /connect/api-docs/index.json, permettant de consulter l’implémentation Swagger complète de la Nexus Connect API.
  • Le fichier Swagger a été mis à jour vers la spécification OpenAPI 3.0 puis exécuté sur un serveur Swagger UI local.

À la recherche de plus

  • EA Desktop utilise une API GraphQL appelée « Service Aggregation Layer », qui agrège plusieurs services backend.
  • Plus de 80 endpoints de service ont été découverts sur gateway.int.ea.com.

Découverte d’une mine d’or

  • Tous les endpoints ont été interrogés puis convertis en spécification OpenAPI afin d’examiner différentes données.
  • Des informations intéressantes ont été découvertes, comme des données concernant une équipe de jeu spécifique.

Passage en production

  • Exploration des endpoints accessibles avec un client OAuth de production.
  • Les endpoints /identity/pids/me et /identity/pids/me/personas permettaient de consulter les informations de compte et la liste des « personas ».

Grosse découverte

  • Il a été découvert que l’endpoint /identity/pids/{pidId}/personas/{personaId} permettait de mettre à jour une persona.
  • Il était possible de changer le nom d’utilisateur, de modifier l’état de la persona et de déplacer la persona vers un autre compte.

Une autre prise de conscience

  • L’endpoint /identity/namespaces/{namespace}/personas permettait aussi de rechercher des comptes cachés.
  • En déplaçant la persona d’un autre compte vers son propre compte, il était possible de prendre le contrôle des données du compte.

Troisième tentative

  • Il a été découvert qu’il était possible de contourner la 2FA et de se connecter à un compte à l’aide de tokens Xbox/PSN.
  • En se connectant au jeu sur Xbox, il était possible d’accéder au compte de la victime.

Impact

  • Un attaquant pouvait déplacer les données de persona afin de voler les noms d’utilisateur et les données de jeu.
  • Il pouvait accéder au compte de la victime en s’y connectant via Xbox.
  • Il pouvait bannir des personas ou changer des noms d’utilisateur.

Quelques réflexions

  • Il est regrettable qu’EA ait mis du temps à corriger le problème et qu’il n’existe pas de programme de bug bounty.
  • La collaboration avec EA a été positive.

Chronologie

  • 16 juin 2024 - Signalement de la vulnérabilité à EA
  • 8 juillet 2024 - Déploiement du patch 1 (vérification de la propriété de la persona)
  • 10 septembre 2024 - Déploiement du patch 4 (suppression de la documentation)

1 commentaires

 
GN⁺ 2024-11-06
Avis Hacker News
  • EA aime utiliser un système commun à tous ses jeux. Un backend commun appelé blaze a été découvert dans Madden, avec des endpoints web et TCP. Un outil a été créé pour appeler les endpoints, mais il faisait tomber les serveurs un par un. Une API a ensuite été construite pour tenter d’empêcher l’exploration

  • Battlefield 2042 a été installé via Xbox et la connexion a réussi. J’adore les hackers

  • Il serait intéressant de voir des notes montrant combien de temps et d’efforts sont nécessaires pour mener l’attaque

  • Ceux qui ont apprécié cet article peuvent lire davantage de contenus similaires sur des plateformes de bug bounty comme la "Hacktivity" de HackerOne

  • Cet article m’a poussé à vérifier nos serveurs d’API de développement et de production pour m’assurer que les chemins des descripteurs OpenAPI UI/JSON n’étaient pas exposés

  • Avec les jeux EA, il est toujours difficile de savoir s’ils vont fonctionner ou non. On pourrait voir une situation similaire même dans un grand cloud. C’est un scénario impossible dans le monde de l’infrastructure, mais banal dans l’univers grand public d’EA

  • EA a affirmé qu’il était "techniquement impossible" de remplacer un compte Xbox par un nouveau compte, alors qu’en réalité c’est possible. Comme il est impossible de lier un ancien compte Xbox, je ne peux pas jouer aux jeux EA sur Xbox

  • Ce serait amusant de bloquer tous les comptes en espérant qu’il n’existe aucune sauvegarde de la base de données

  • Je me demande ce que ça fait de travailler comme ingénieur dans une grande entreprise. Différentes équipes possèdent chacune des parties distinctes, ce qui augmente probablement le risque de vulnérabilités

  • Il est décevant qu’EA n’ait toujours pas lancé de programme de bug bounty. Certaines personnes gardent des vulnérabilités secrètes faute d’incitation à les signaler. J’espère qu’EA suivra la tendance du secteur. Je me demande s’il n’y avait vraiment aucune récompense pour les signalements