1 Punkte von GN⁺ 2024-08-08 | 1 Kommentare | Auf WhatsApp teilen

TONY HAWK’S PRO STRCPY

Überblick

  • Ein Projekt, das 2016 begann, um neue Bugs für das Hacken der Xbox zu finden
  • Spielkonsolen aus den frühen 2000er-Jahren eignen sich wegen geringer Sicherheitsmaßnahmen gut zum Lernen über Hacking
  • Bei der Analyse von Spielständen von Tony Hawk’s Pro Skater 4 wurde eine Buffer-Overflow-Schwachstelle gefunden

Teil 1: Einstieg

  • Die Schwachstelle wurde über die Funktion "Create-A-Park" in Tony Hawk’s Pro Skater 4 entdeckt
  • Beim Kopieren der Gap-Namenszeichenkette in der Spielstanddatei mit der Funktion strcpy tritt ein Buffer Overflow auf
  • Durch das Erstellen eines bösartigen Spielstands und dessen Ausführung auf der Xbox wurden Rechte zur Codeausführung erlangt

Teil 2: Remote Code Execution

  • Es wurde nach einer Methode gesucht, die Konsole ohne Memory Card über das Netzwerk zu hacken
  • Es wurde versucht, Client-Konsolen zu hacken, indem Spielstände in einem Multiplayer-LAN-Spiel übertragen werden
  • Wenn die Client-Konsole den vom Host übertragenen Spielstand lädt, tritt der Buffer Overflow auf
  • Es wurde ein Netzwerk-Message-Handler geschrieben, um eine sekundäre Payload-Datei an die Client-Konsole zu übertragen

Variantenanalyse

  • Ähnliche Schwachstellen wurden auch in anderen Spielen gefunden, etwa Tony Hawk’s Pro Skater 3, Tony Hawk’s Underground 1 & 2 und Tony Hawk’s American Wasteland
  • Einige Spiele verwenden Stack Cookies, um Buffer Overflows zu verhindern

Endergebnis

  • Wenn sich die Client-Konsole mit der Host-Konsole verbindet, wird ein bösartiger Spielstand über das Netzwerk übertragen
  • Die Client-Konsole empfängt eine Payload-Datei und führt sie aus
  • Remote Code Execution und asynchrone Dateiübertragung wurden erfolgreich umgesetzt

Zusammenfassung von GN⁺

  • Dieser Artikel behandelt den Prozess der Erforschung und Ausnutzung von Sicherheitslücken in älteren Spielkonsolen wie der Xbox
  • Ältere Konsolen eignen sich wegen geringer Sicherheitsmaßnahmen gut zum Lernen über Hacking, und über verschiedene Bugs lassen sich Rechte zur Codeausführung erlangen
  • Es wird eine Methode für Remote Code Execution über das Netzwerk untersucht, die zeigt, wie sich eine Konsole auch ohne Memory Card hacken lässt
  • Auch in anderen Spielen mit ähnlichen Funktionen wurden Schwachstellen gefunden und analysiert, wodurch sich verschiedene Hacking-Techniken erlernen lassen
  • Der Artikel bietet nützliche Informationen für Menschen mit Interesse an Hacking und Sicherheitsforschung und kann helfen, die Sicherheitslücken älterer Konsolen besser zu verstehen

1 Kommentare

 
GN⁺ 2024-08-08
Hacker-News-Kommentare
  • Der öffentliche Modulus des habibi-Schlüssels unterscheidet sich nur um 4 Byte vom öffentlichen Microsoft-RSA-Schlüssel

    • Der MS-Schlüssel ist ein 2048-Bit-RSA-Schlüssel
    • Wenn man den Exponenten auf 3 ändert, lässt sich leicht ein ähnlicher Schlüssel finden
    • Die Payload, die den habibi-Schlüssel verwendet, ändert jedoch den Exponenten der RSA-Signaturprüfroutine nicht
    • Es sieht so aus, als würde die Verifizierung weiterhin mit dem Exponenten 65537 durchgeführt
    • Es ist immer noch unklar, wie das möglich ist
  • Eine 2048-Bit-Ganzzahl lässt sich möglicherweise einfach faktorisieren

    • Der Code könnte so funktionieren, dass 4 Byte zufällig geändert und anschließend Faktorisierungsversuche unternommen werden
    • Dadurch könnte ein öffentlicher Modulus entstehen, der viele kleine Faktoren hat
    • Ein RSA-Modulus hat normalerweise zwei Primfaktoren, aber mathematisch ist es kein Problem, wenn er mehr hat
  • Ein Xbox-360-Softmod war über den Parknamen in einem Tony-Hawk-Spiel möglich

    • Verwendung einer ROP-Kette mit 24 Segmenten
    • Die knappe Funktionsbeschreibung des Hypervisors und die Gedanken zu einem x360-Botnetz wecken Xbox-360-Nostalgie
  • Man hätte strncpy statt strcpy verwenden sollen

    • Tony Hawk ist dafür bekannt, Schutzausrüstung zu befürworten
    • Schade um den Exploit für den THUG PRO-Mod
    • Der Mod ist über 10 Jahre alt, und der ursprüngliche Entwickler ist verschwunden
    • Der Mod ist jetzt unbenutzbar, und wegen des Risikos eines Exploits mit vollständigen Rechten will ihn niemand verwenden
    • Hoffentlich erreicht dieser Artikel jemanden, der Interesse daran hat, den Mod zu patchen
  • Tony Hawk ist Profi-Skater, kein Sicherheitsanalyst

    • Ende der 90er und Anfang der 2000er verbrachte er seine Zeit natürlich eher damit, eine Spielereihe aufzubauen, als Code zu auditieren
  • Ich frage mich, wann, wo und wie der private Schlüssel des habibi-Schlüssels geleakt wurde

    • OP konnte den 4-Byte-Unterschied zwischen dem MS-Schlüssel und dem habibi-Schlüssel patchen, um unsignierte Executables auszuführen
    • Das bedeutet, dass OP in den Besitz des privaten Schlüssels gelangt ist
  • Beim PSX-Decompiling bin ich auf viele ähnliche Fälle gestoßen

    • memmove wird über die SDK-Bibliothek gelinkt, aber strcpy wird vom BIOS bereitgestellt
    • Bis 1997 konnten spätere Versionen des SDK auf die Bibliotheksversion gepatcht werden
  • Ich habe Analysen solcher Exploits schon oft gelesen und hoffe, dass ich noch 100 weitere lesen kann

    • Großartiger Artikel
  • Ein gutes Beispiel für eine falsche Sicherheitsdenkweise in der Konsolenentwicklung

    • Die Denkweise „Wir müssen nur die Daten parsen, die wir selbst gespeichert haben“ ist falsch
    • Konsolen sollten Nutzer nicht als Gegner betrachten
    • Wenn sie es aber doch tun, dann sollten Spiele eine entsprechende Sicherheitsdenkweise haben
  • Stell dir ein VSCode-Plugin vor, das Tricknamen erzeugt und für aufeinanderfolgende Tasteneingaben Combo-Punkte vergibt

    • Tony Hawk's Pro-grammer