Play Integrity Attestation-Bypass (Ersatz für SafetyNet)

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Was Play Integrity macht

Play Integrity ist Googles Nachfolger von SafetyNet für App-Attestation. Die App ruft die API auf, Google Play Services sammelt Software-/Hardware-Signale, sendet sie verschlüsselt an googleapis.com, und Google gibt ein JWT zurück, das von Google signiert und verschlüsselt ist. Die App leitet das Token an ihr Backend weiter, das die Signatur mit Googles öffentlichem Schlüssel prüft, die Payload dekodiert und Richtlinien basierend auf den Verdict-Feldern durchsetzt:

  • appIntegrity: Übereinstimmung von APK-Build und Signatur (kein Repack/keine Manipulation).
  • deviceIntegrity: echtes & zertifiziertes Gerät, gesperrter Bootloader, keine Root/System-Manipulation.
  • accountDetails: Installation über Google Play.

Häufig durchgesetzte Verdict-Flags:

  • MEETS_BASIC_INTEGRITY: Token, das von echten Play Services generiert wurde (kein Emulator/manipulierter Transport).
  • MEETS_DEVICE_INTEGRITY: echtes/zertifiziertes Gerät, Bootloader gesperrt, keine Root/System-Manipulation.
  • MEETS_STRONG_INTEGRITY: erfordert DEVICE plus aktuelle Sicherheits-Patches auf allen Partitionen (OS + vendor).

Bypass-Modell

Anstatt Googles JWT zu fälschen, spoofen wir die Signale, die Google auswertet, sodass sie einem anderen, legitimen Geräteprofil entsprechen. Die Angriffskette:

  1. Root verbergen, damit lokale Checks und Play Services Sonden Magisk/su nicht sehen.
  2. Ersetze die key attestation certificate chain (keybox.xml) durch eine von einem echten Gerät, sodass Play Integrity ein zertifiziertes/gesperrtes Gerät sieht.
  3. Spoofen des security patch level, um MEETS_STRONG_INTEGRITY zu erfüllen.

Google geht dagegen vor, indem missbrauchte keyboxes widerrufen werden; eine Rotation ist erforderlich, wenn eine keybox blockiert wird.

Voraussetzungen & Tools

Erreichen von MEETS_BASIC_INTEGRITY + MEETS_DEVICE_INTEGRITY

  1. Module installieren & neu starten: TrickyStore und Tricky Addon in Magisk flashen, neu starten.
  2. TrickyStore konfigurieren (via KSU Web UI): TrickyStore auswählen → Select All → Nicht benötigtes abwählen → Save.
  3. Eine gültige keybox einfügen: Unter Keybox Valid wählen, um eine neue keybox.xml (vendor attestation credentials) herunterzuladen/anwenden. Diese Datei bildet die Grundlage der hardware key attestation und ist nun von einem zertifizierten/gesperrten Gerät gespooft.
  4. Überprüfen: Play Integrity API Checker ausführen → MEETS_BASIC_INTEGRITY und MEETS_DEVICE_INTEGRITY sollten bestehen. In Key Attestation erscheint der Bootloader locked, weil die Attestationskette ersetzt wurde.

Erreichen von MEETS_STRONG_INTEGRITY (Patch-Level-Spoof)

STRONG schlägt bei veralteten Patch-Levels fehl. TrickyStore kann ein modernes Security-Patch-Datum für alle Partitionen spoofen:

  1. In TrickyStore Set Security PatchGet Security Patch DateSave wählen.
  2. Play Integrity API Checker erneut ausführen; MEETS_STRONG_INTEGRITY sollte jetzt bestehen.

Operative Hinweise

  • Revocation-Risiko: Wiederholte API-Anfragen mit derselben keybox.xml können diese markieren und blockieren. Falls blockiert, durch eine neue gültige keybox ersetzen.
  • Arms race: Öffentlich geteilte keyboxes verbrennen schnell; private Kopien behalten und Community-Modul-Updates (XDA/Telegram/GitHub) für neue funktionierende Ketten verfolgen.
  • Scope: Dieser Bypass spooft nur die Attestation-Eingaben; die Signaturprüfung im Backend durch Google bleibt gültig, weil das JWT selbst echt ist.

Referenzen

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks