Play Integrity Attestation Bypass (SafetyNet Replacement)

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Šta Play Integrity radi

Play Integrity je Google-ov naslednik SafetyNet-a za app attestation. Aplikacija poziva API, Google Play Services prikuplja softverske/hardverske signale, šalje ih enkriptovano na googleapis.com, i Google vraća JWT koji je potpisan i enkriptovan od strane Google-a. Aplikacija prosleđuje token svom backend-u, koji verifikuje potpis sa Google-ovim javnim ključem, dekriptuje payload i sprovodi politiku zasnovanu na poljima verdict:

  • appIntegrity: podudaranje APK build/signature (bez repack/tamper).
  • deviceIntegrity: genuin i sertifikovan uređaj, zaključan bootloader, bez root/system tamper-a.
  • accountDetails: instalacija preko Google Play.

Ključne zastavice koje se često proveravaju:

  • MEETS_BASIC_INTEGRITY: token je generisan od strane genuin Play Services (nije emulator/izmenjen transport).
  • MEETS_DEVICE_INTEGRITY: genuin/sertifikovan uređaj, bootloader zaključan, bez root/system tamper-a.
  • MEETS_STRONG_INTEGRITY: zahteva DEVICE plus recent security patches na svim partition-ima (OS + vendor).

Model za zaobilaženje

Umesto falsifikovanja Google-ovog JWT-a, sahmujte signale koje Google procenjuje tako da odgovaraju profilu legitimnog uređaja. Lanac napada:

  1. Sakrijte root tako da lokalne provere i Play Services probe ne vide Magisk/su.
  2. Zamenite key attestation certificate chain (keybox.xml) onom sa genuin uređaja tako da Play Integrity vidi sertifikovan/zaključan uređaj.
  3. Lažirajte security patch level da biste zadovoljili MEETS_STRONG_INTEGRITY.

Google ublažava napad tako što revocira zloupotrebljene keybox-e; potrebna je rotacija kada je keybox blokiran.

Zahtevi i alati

Kako postići MEETS_BASIC_INTEGRITY + MEETS_DEVICE_INTEGRITY

  1. Instalirajte module i reboot: Flash-ujte TrickyStore i Tricky Addon u Magisk, reboot.
  2. Konfigurišite TrickyStore (preko KSU Web UI): Izaberite TrickyStoreSelect AllDeselect UnnecessarySave.
  3. Injektujte validan keybox: U Keybox, izaberite Valid da preuzmete/primenite novi keybox.xml (vendor attestation credentials). Ovaj fajl podržava hardware key attestation i sada je spoof-ovan sa sertifikovanog/zaključanog uređaja.
  4. Verifikujte: Pokrenite Play Integrity API CheckerMEETS_BASIC_INTEGRITY i MEETS_DEVICE_INTEGRITY bi trebalo da prođu. U Key Attestation bootloader će se pojaviti kao locked jer je attestation chain zamenjen.

Kako postići MEETS_STRONG_INTEGRITY (lažiranje patch-level-a)

STRONG pada zbog zastarelih patch level-a. TrickyStore može spoof-ovati moderan datum security patch-a za sve particije:

  1. U TrickyStore, izaberite Set Security PatchGet Security Patch DateSave.
  2. Ponovo pokrenite Play Integrity API Checker; MEETS_STRONG_INTEGRITY bi sada trebao da prođe.

Operativne napomene

  • Rizik revokacije: Ponavljano korišćenje istog keybox.xml prilikom pozivanja API-ja može dovesti do označavanja i blokiranja. Ako je blokiran, zamenite ga novim validnim keybox-om.
  • Trka u naoružanju: Javno deljeni keybox-evi brzo “izgore”; čuvajte privatne kopije i pratite community module update-e (XDA/Telegram/GitHub) za nove radne lance.
  • Obim: Ovaj bypass samo spoof-uje attestation input-e; backend verifikacija potpisa od strane Google-a i dalje uspeva jer je sam JWT genuin.

Reference

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks