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

Einführung

  • Ein beim Umgehen der Windows-Lizenzprüfung entdeckter Bug wurde geheim gehalten, um künftige Aktivierungsmethoden zu bewahren und als Testwerkzeug zu nutzen
  • Es wurde eine DRM-Umgehungsmethode namens „Keyhole“ entdeckt, mit der sich Microsoft-Store-Apps oder aktuelle Windows-Editionen leicht lizenzieren lassen
  • Nach der Offenlegung von CVE-2024-38184 durch Cisco TALOS wurde beschlossen, die Erkenntnisse zu Keyhole zu teilen

CLiP

  • CLiP (Client Licensing Platform) ist ein mit Windows 10 eingeführtes DRM-System, das Microsoft-Store-Apps und die Windows-Aktivierung verwaltet
  • Wichtige Binärdateien:
    • clipup.exe: konvertiert Windows-8-Store-Lizenzen in digitale Lizenzen
    • clipsvc.dll: ein User-Mode-Dienst, der App-Lizenzen verwaltet
    • clipc.dll: eine API, über die Anwendungen mit CLiP interagieren können
    • clipwinrt.dll: API für UWP-Anwendungen
    • clipsp.sys: ein Kernel-Mode-Treiber, der Lizenzen überprüft
  • Bei der Installation einer CLiP-lizenzierten App wird eine signierte XML-Datei an clipsvc.dll gesendet, nach der Verifizierung an clipsp.sys weitergereicht und im Lizenzspeicher abgelegt

Ein bisschen Schabernack

  • In clipup.exe ist ein gültiger ECDSA-Schlüssel im Klartext gespeichert, sodass jeder XML-Lizenzen leicht signieren kann
  • Mit diesem Schlüssel lässt sich die Prüfung von ClipSvc umgehen und beliebige Lizenzblöcke direkt an ClipSp senden

ClipSp entschleiern

  • ClipSp ist ein schlecht geschriebener Treiber, in dem viel Code per Copy-and-paste übernommen wurde
  • Der Code ist mit Microsofts Obfuskationswerkzeug Warbird versteckt
  • Durch das Aufheben der Obfuskation lässt sich der verborgene Code analysieren und nach Bugs durchsuchen

Lizenzblöcke

  • Lizenzblöcke speichern wichtige Lizenzinformationen und enthalten mehrere Datenblöcke im TLV-Format (Tag-Länge-Wert)
  • Der Signaturblock signiert alle Daten, aber nach der Signatur hinzugefügte Daten werden nicht geprüft
  • Durch das Anhängen von Daten nach dem Signaturblock können bestehende Daten überschrieben werden

Viel Schabernack

  • Durch das Anhängen von Daten nach dem Signaturblock lassen sich Lizenzen für alle Produkte im Microsoft Store erzeugen
  • Allerdings können gerätegebundene Lizenzen nur aus gerätegebundenen App-Lizenzen erzeugt werden

Schabernack-Tutorial

  • Eine gerätegebundene App (z. B. Roblox) installieren und die Lizenz mit einem HTTPS-Traffic-Capture-Tool abfangen
  • Den Lizenzblock dekodieren, die nötigen Daten ergänzen und als neue XML-Datei verpacken
  • Die XML-Datei in den Ordner C:\ProgramData\Microsoft\Windows\ClipSVC\Install\Migration kopieren und ClipSvc neu starten oder mit dem Befehl clipup -p installieren
  • Windows wird dauerhaft aktiviert

Buzzkill

  • Cisco TALOS meldete denselben Bug, worauf Microsoft ihn patchte
  • Der Bug wurde so behoben, dass Daten nach dem Signaturblock nicht mehr verarbeitet werden

Spenden-Saison

  • Der Code zum Erzeugen von Keyhole-Lizenzen sowie die CLiP-Binärdateien wurden veröffentlicht, um weitere Bugs finden zu helfen

Und noch eine andere Geschichte

  • Der Code von ClipSp wurde per Copy-and-paste aus dem DRM-System der Xbox One übernommen
  • Auch Xbox SP hat denselben Parsing-Bug, aber Keyhole funktioniert auf der Xbox nicht

Danksagung

  • Personen, die zur Forschung beigetragen haben: May, asdcorp, echnobas, WitherOrNot, emoose, LukeFZ, KiFilterFiberContext, Phillippe Laulheret, Cisco TALOS, Rairii

Zusammenfassung von GN⁺

  • Keyhole ist eine leistungsfähige DRM-Umgehungsmethode, mit der sich Microsoft-Store-Apps und Windows-Editionen leicht lizenzieren lassen
  • Sicherheitslücken im CLiP-System können ausgenutzt werden, um Lizenzblöcke zu manipulieren
  • Nach einem Bericht von Cisco TALOS hat Microsoft den Bug gepatcht
  • Die Struktur ähnelt dem DRM-System der Xbox One
  • Dieser Artikel kann dabei helfen, Schwachstellen in DRM-Systemen zu verstehen und die Sicherheit zu verbessern

1 Kommentare

 
GN⁺ 2024-09-08
Hacker-News-Kommentare
  • Xbox-Spiele können nun kostenlos heruntergeladen werden
    • Wie bei der PS Vita ist das System vollständig gehackt
  • Gewünscht wird eine Installationslizenz für die Lego-Boost-App unter Windows 10
    • Mit einer bestehenden Lizenz ist der Download möglich, für neue Nutzer jedoch nicht
  • Microsoft könnte den Geltungsbereich des temporären Lizenzsignaturschlüssels einschränken
    • Das Erzeugen permanenter Lizenzen wird wohl nicht lange möglich sein
  • Es wird gefragt, ob sich die HEVC-Erweiterung ohne ein M$-Konto aktivieren lässt
    • Frustrierend ist, dass sich die Patente nicht als Paket lizenzieren lassen
  • Jemand möchte Guitar-Hero-Spiele ohne physische Disk spielen
    • Möglicherweise lassen sich die Spielstanddateien nicht lesen
    • Der öffentliche Schlüssel der Konsole steht auf der Sperrliste
    • Das lässt sich beheben, indem die CON-Datei erneut mit dem Standardwert 0 signiert wird
  • Das alles fühlt sich sehr vertraut an
  • Ein Link wird für den Fall bereitgestellt, dass Antivirenprogramme die Seite zensieren
  • Fast zeitgleich mit der Meldung an Microsoft wurde es auch unabhängig entdeckt
    • Sehr verdächtig
  • Clip scheint älter zu sein als die Xbox One
  • Über Jahrzehnte war es der beste Distributions- und Kommunikationskanal von Windows
  • Gegenüber massgrave.dev besteht ein leichtes Unbehagen