Bypass de l’attestation Play Integrity (SafetyNet Replacement)
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
Ce que fait Play Integrity
Play Integrity est le successeur de SafetyNet de Google pour l’attestation d’app. L’app appelle l’API, Google Play Services collecte des signaux logiciels/matériels, les envoie chiffrés à googleapis.com, et Google renvoie un JWT qui est signé et chiffré par Google. L’app transmet le token à son backend, qui valide la signature avec la clé publique de Google, déchiffre le payload et applique la politique en fonction des champs de verdict :
appIntegrity: correspondance build/signature de l’APK (pas de repack/altération).deviceIntegrity: appareil authentique et certifié, bootloader verrouillé, pas de root/altération du système.accountDetails: installation via Google Play.
Principaux flags de verdict couramment appliqués :
MEETS_BASIC_INTEGRITY: token généré par de véritables Play Services (pas d’émulateur / transport altéré).MEETS_DEVICE_INTEGRITY: appareil authentique/certifié, bootloader verrouillé, pas de root/altération du système.MEETS_STRONG_INTEGRITY: nécessiteDEVICEplus des correctifs de sécurité récents sur toutes les partitions (OS + vendor).
Modèle de contournement
Au lieu de forger le JWT de Google, il s’agit d’usurper les signaux que Google évalue afin qu’ils correspondent à un profil d’appareil légitime différent. Chaîne d’attaque :
- Cacher le root pour que les vérifications locales et les probes de Play Services ne voient pas Magisk/su.
- Remplacer la chaîne de certificats d’attestation de clé (
keybox.xml) par celle d’un appareil authentique afin que Play Integrity voie un appareil certifié/verrouillé. - Usurper le niveau de correctif de sécurité pour satisfaire
MEETS_STRONG_INTEGRITY.
Google atténue cela en révoquant les keyboxes abusés ; une rotation est nécessaire lorsqu’un keybox est bloqué.
Prérequis et outils
- Root hiding: ReZygisk (ou ZygiskNext). Désactiver Zygisk, activer Magisk Hide, installer le module, reboot.
- Key attestation spoofing: TrickyStore + Tricky Addon (modules Magisk).
- UI helper: KSU Web UI pour piloter TrickyStore.
- Validation: Play Integrity API Checker et Key Attestation (APKs).
- Contexte optionnel sur le matériel d’attestation de clés : https://tryigit.dev/android-keybox-attestation-analysis
Obtenir MEETS_BASIC_INTEGRITY + MEETS_DEVICE_INTEGRITY
- Installer les modules & redémarrer : flasher TrickyStore et Tricky Addon dans Magisk, redémarrer.
- Configurer TrickyStore (via KSU Web UI) : Select
TrickyStore→Select All→Deselect Unnecessary→ Save. - Injecter un keybox valide : Dans
Keybox, choisir Valid pour télécharger/appliquer un nouveaukeybox.xml(vendor attestation credentials). Ce fichier sous-tend l’attestation matérielle des clés et est maintenant spoofé depuis un appareil certifié/verrouillé. - Vérifier : Lancer Play Integrity API Checker →
MEETS_BASIC_INTEGRITYetMEETS_DEVICE_INTEGRITYdevraient passer. Dans Key Attestation le bootloader apparaît locked parce que la chaîne d’attestation a été remplacée.
Obtenir MEETS_STRONG_INTEGRITY (usurpation du niveau de correctif)
STRONG échoue si les niveaux de patch sont obsolètes. TrickyStore peut usurper une date de security patch moderne pour toutes les partitions :
- Dans TrickyStore, choisir Set Security Patch → Get Security Patch Date → Save.
- Relancer Play Integrity API Checker ;
MEETS_STRONG_INTEGRITYdevrait maintenant passer.
Notes opérationnelles
- Risque de révocation : Interroger l’API de façon répétée avec le même
keybox.xmlpeut le signaler et le bloquer. Si bloqué, remplacer par un keybox valide et neuf. - Course aux armements : Les keyboxes partagés publiquement se consumment vite ; conservez des copies privées et suivez les mises à jour des modules communautaires (XDA/Telegram/GitHub) pour de nouvelles chaînes fonctionnelles.
- Portée : Ce bypass ne fait qu’usurper les entrées d’attestation ; la vérification de signature côté backend par Google réussit toujours car le JWT lui-même est genuine.
References
- Play Integrity API: How It Works & How to Bypass It
- ReZygisk
- TrickyStore
- Tricky Addon
- KSU Web UI
- Play Integrity API Checker
- Key Attestation
- Android keybox attestation analysis
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks

