1 Punkte von GN⁺ 2024-11-06 | 1 Kommentare | Auf WhatsApp teilen
  • Während Tests in der EA-Entwicklungsumgebung „integration“ wurde über in der ausführbaren Datei eines bestimmten Spiels hartkodierte Zugangsdaten ein privilegiertes Access-Token erlangt.

Authentifizierungsdokumentation

  • Es wurden mehrere Endpunkte gescannt, um zu prüfen, ob API-Dokumentation offengelegt war.
  • Unter /connect/api-docs/index.json wurde eine Swagger-JSON-Datei gefunden, die die vollständige Swagger-Implementierung der Nexus Connect API zeigte.
  • Die Swagger-Datei wurde auf die OpenAPI-3.0-Spezifikation aktualisiert und auf einem lokalen Swagger-UI-Server ausgeführt.

Auf der Suche nach mehr

  • EA Desktop verwendet die „Service Aggregation Layer“, eine GraphQL-API, die mehrere Backend-Services zusammenführt.
  • Unter gateway.int.ea.com wurden mehr als 80 Service-Endpunkte gefunden.

Ein Goldfund

  • Alle Endpunkte wurden angefragt und in eine OpenAPI-Spezifikation umgewandelt, um verschiedene Daten zu untersuchen.
  • Dabei wurden interessante Informationen gefunden, etwa Daten zu bestimmten Spielteams.

Zeit für Produktion

  • Es wurden Endpunkte untersucht, die über einen produktiven OAuth-Client zugänglich waren.
  • Über die Endpunkte /identity/pids/me und /identity/pids/me/personas wurden Kontoinformationen und eine Liste von „Personas“ eingesehen.

Großer Fund

  • Es wurde entdeckt, dass sich Personas über den Endpunkt /identity/pids/{pidId}/personas/{personaId} aktualisieren lassen.
  • Dadurch waren Aktionen wie das Ändern von Benutzernamen, das Ändern des Persona-Status und das Verschieben einer Persona auf ein anderes Konto möglich.

Noch eine Erkenntnis

  • Über den Endpunkt /identity/namespaces/{namespace}/personas konnten auch versteckte Konten durchsucht werden.
  • Durch das Verschieben der Persona eines anderen Kontos auf das eigene Konto ließ sich die Kontrolle über Kontodaten übernehmen.

Der dritte Versuch

  • Es wurde festgestellt, dass sich mit Xbox-/PSN-Tokens 2FA umgehen und eine Anmeldung am Konto durchführen ließ.
  • Durch die Anmeldung in einem Spiel auf Xbox konnte auf das Konto des Opfers zugegriffen werden.

Auswirkungen

  • Angreifer konnten durch das Verschieben von Persona-Daten Benutzernamen und Spieldaten stehlen.
  • Über Xbox konnten sie sich in Konten einloggen und auf Opferkonten zugreifen.
  • Personas konnten gesperrt oder Benutzernamen geändert werden.

Einige Gedanken

  • Schade war, dass EA Zeit für die Behebung des Problems brauchte und kein Bug-Bounty-Programm hat.
  • Die Zusammenarbeit mit EA war positiv.

Zeitachse

    1. Juni 2024 – Schwachstelle an EA gemeldet
    1. Juli 2024 – Patch 1 ausgerollt (Prüfung der Persona-Eigentümerschaft)
    1. September 2024 – Patch 4 ausgerollt (Dokumentation entfernt)

1 Kommentare

 
GN⁺ 2024-11-06
Hacker-News-Kommentare
  • EA verwendet offenbar gern ein gemeinsames System für alle Spiele. In Madden wurde ein gemeinsames Backend namens blaze entdeckt, mit Web- und TCP-Endpunkten. Es wurde ein Tool zum Aufrufen der Endpunkte erstellt, das jedoch die Server einzeln zum Absturz brachte. Danach versuchte man, durch den Aufbau einer API die Erkundung zu verhindern.

  • Battlefield 2042 wurde über Xbox installiert und eine erfolgreiche Verbindung hergestellt. Ich mag Hacker.

  • Es wären interessante Notizen dazu, wie viel Zeit und Aufwand für die Durchführung des Angriffs nötig waren.

  • Wer diesen Beitrag mochte, kann auf Bug-Bounty-Plattformen wie HackerOnes "Hacktivity" mehr dazu lesen.

  • Dieser Beitrag hat mich dazu gebracht, unsere Entwicklungs- und Betriebs-API-Server zu prüfen, um sicherzustellen, dass OpenAPI-UI-/JSON-Deskriptorpfade nicht offengelegt sind.

  • Bei EA-Spielen ist unklar, ob sie funktionieren. Ähnliches kann selbst in großen Clouds passieren. In der Infrastrukturwelt wäre das ein unmögliches Szenario, in EAs Consumer-Welt ist es Alltag.

  • EA behauptete, es sei "technisch unmöglich", ein Xbox-Konto auf ein neues Konto zu ändern, tatsächlich ist es aber möglich. Weil ein altes Xbox-Konto nicht verknüpft werden kann, kann man EA-Spiele auf der Xbox nicht spielen.

  • Es wäre lustig, einfach alle Konten zu sperren und zu hoffen, dass es keine Datenbank-Backups gibt.

  • Ich frage mich, wie es sich anfühlt, als Engineer in einem Großunternehmen zu arbeiten. Verschiedene Teams besitzen unterschiedliche Teile, daher ist die Wahrscheinlichkeit groß, dass Schwachstellen existieren.

  • Es ist enttäuschend, dass EA noch immer kein Bug-Bounty-Programm gestartet hat. Manche behalten Schwachstellen für sich, weil es keinen Anreiz zur Meldung gibt. Hoffentlich folgt EA dem Branchentrend. Ich frage mich, ob es keine Belohnung für die Meldung gab.