Play Integrity Attestation Bypass (SafetyNet Replacement)

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

What Play Integrity Does

Play Integrity๋Š” ์•ฑ attestation์„ ์œ„ํ•œ Google์˜ SafetyNet ํ›„์†์ž…๋‹ˆ๋‹ค. ์•ฑ์ด API๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด Google Play Services๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด/ํ•˜๋“œ์›จ์–ด ์‹ ํ˜ธ๋ฅผ ์ˆ˜์ง‘ํ•ด googleapis.com์œผ๋กœ ์•”ํ˜ธํ™” ์ „์†กํ•˜๊ณ , Google์€ JWT๋ฅผ ์„œ๋ช…ํ•˜๊ณ  ์•”ํ˜ธํ™”๋œ ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์€ ํ† ํฐ์„ ๋ฐฑ์—”๋“œ๋กœ ์ „๋‹ฌํ•˜๊ณ , ๋ฐฑ์—”๋“œ๋Š” Google์˜ ๊ณต๊ฐœํ‚ค๋กœ ์„œ๋ช…์„ ๊ฒ€์ฆํ•˜๊ณ  ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋ณตํ˜ธํ™”ํ•œ ๋’ค ๋‹ค์Œ verdict ํ•„๋“œ์— ๋”ฐ๋ผ ์ •์ฑ…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • appIntegrity: APK ๋นŒ๋“œ/์„œ๋ช… ์ผ์น˜(์žฌํŒจํ‚ค์ง€/๋ณ€์กฐ ์—†์Œ).
  • deviceIntegrity: ์ •ํ’ˆ & ์ธ์ฆ๋œ ๋””๋ฐ”์ด์Šค, ์ž ๊ธด bootloader, ๋ฃจํŠธ/์‹œ์Šคํ…œ ๋ณ€์กฐ ์—†์Œ.
  • accountDetails: Google Play๋ฅผ ํ†ตํ•œ ์„ค์น˜.

์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ•์ œ๋˜๋Š” ์ฃผ์š” verdict ํ”Œ๋ž˜๊ทธ:

  • MEETS_BASIC_INTEGRITY: ํ† ํฐ์ด ์ •ํ’ˆ Play Services(์—๋ฎฌ๋ ˆ์ดํ„ฐ/๋ณ€์กฐ๋œ ์ „์†ก ์•„๋‹˜)์—์„œ ์ƒ์„ฑ๋จ.
  • MEETS_DEVICE_INTEGRITY: ์ •ํ’ˆ/์ธ์ฆ๋œ ๋””๋ฐ”์ด์Šค, bootloader ์ž ๊น€, ๋ฃจํŠธ/์‹œ์Šคํ…œ ๋ณ€์กฐ ์—†์Œ.
  • MEETS_STRONG_INTEGRITY: DEVICE์— ๋”ํ•ด ๋ชจ๋“  ํŒŒํ‹ฐ์…˜(OS + vendor)์— ๋Œ€ํ•œ ์ตœ์‹  ๋ณด์•ˆ ํŒจ์น˜๊ฐ€ ํ•„์š”ํ•จ.

Bypass Model

Google์˜ JWT๋ฅผ ์œ„์กฐํ•˜๋Š” ๋Œ€์‹ , Google์ด ํ‰๊ฐ€ํ•˜๋Š” ์‹ ํ˜ธ๋ฅผ ์Šคํ‘ธํ•‘ํ•˜์—ฌ ๋‹ค๋ฅธ ํ•ฉ๋ฒ•์ ์ธ ๋””๋ฐ”์ด์Šค ํ”„๋กœํŒŒ์ผ๊ณผ ์ผ์น˜์‹œํ‚ค๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๊ณต๊ฒฉ ์ฒด์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. ๋กœ์ปฌ ๊ฒ€์‚ฌ์™€ Play Services ํ”„๋กœ๋ธŒ๊ฐ€ Magisk/su๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๋ฃจํŠธ ์ˆจ๊ธฐ๊ธฐ.
  2. Play Integrity๊ฐ€ ์ธ์ฆ๋œ/์ž ๊ธด ๋””๋ฐ”์ด์Šค๋กœ ์ธ์‹ํ•˜๋„๋ก key attestation certificate chain(keybox.xml)์„ ์ •ํ’ˆ ๋””๋ฐ”์ด์Šค์˜ ๊ฒƒ์œผ๋กœ ๊ต์ฒด.
  3. MEETS_STRONG_INTEGRITY๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด security patch level ์Šคํ‘ธํ•‘.

Google์€ ๋‚จ์šฉ๋œ keybox๋ฅผ **ํ๊ธฐ(revoke)**ํ•จ์œผ๋กœ์จ ์™„ํ™”ํ•ฉ๋‹ˆ๋‹ค; ์ฐจ๋‹จ๋œ ๊ฒฝ์šฐ keybox ๊ต์ฒด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Prerequisites & Tooling

Achieve MEETS_BASIC_INTEGRITY + MEETS_DEVICE_INTEGRITY

  1. Install modules & reboot: Magisk์— TrickyStore์™€ Tricky Addon์„ ํ”Œ๋ž˜์‹œํ•˜๊ณ  ์žฌ๋ถ€ํŒ….
  2. Configure TrickyStore (via KSU Web UI): TrickyStore โ†’ Select All โ†’ Deselect Unnecessary โ†’ Save ์„ ํƒ.
  3. Inject a valid keybox: Keybox์—์„œ Valid๋ฅผ ์„ ํƒํ•ด ์ƒˆ๋กœ์šด keybox.xml(vendor attestation credentials)์„ ๋‹ค์šด๋กœ๋“œ/์ ์šฉ. ์ด ํŒŒ์ผ์€ ํ•˜๋“œ์›จ์–ด ํ‚ค attestation์„ ์ง€ํƒฑํ•˜๋ฉฐ, ์ด์ œ ์ธ์ฆ๋œ/์ž ๊ธด ๋””๋ฐ”์ด์Šค์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒƒ์œผ๋กœ ์Šคํ‘ธํ•‘๋ฉ๋‹ˆ๋‹ค.
  4. Verify: Play Integrity API Checker ์‹คํ–‰ โ†’ MEETS_BASIC_INTEGRITY ๋ฐ MEETS_DEVICE_INTEGRITY๊ฐ€ ํ†ต๊ณผํ•ด์•ผ ํ•จ. Key Attestation์—์„œ๋Š” attestation ์ฒด์ธ์ด ๊ต์ฒด๋˜์–ด bootloader๊ฐ€ locked๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

Achieve MEETS_STRONG_INTEGRITY (Patch-Level Spoof)

STRONG์€ ์˜ค๋ž˜๋œ ํŒจ์น˜ ๋ ˆ๋ฒจ์—์„œ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. TrickyStore๋Š” ๋ชจ๋“  ํŒŒํ‹ฐ์…˜์— ๋Œ€ํ•ด ์ตœ์‹  ๋ณด์•ˆ ํŒจ์น˜ ๋‚ ์งœ๋ฅผ ์Šคํ‘ธํ•‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. TrickyStore์—์„œ Set Security Patch โ†’ Get Security Patch Date โ†’ Save ์„ ํƒ.
  2. Play Integrity API Checker๋ฅผ ๋‹ค์‹œ ์‹คํ–‰; MEETS_STRONG_INTEGRITY๊ฐ€ ํ†ต๊ณผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Operational Notes

  • Revocation risk: ๋™์ผํ•œ keybox.xml๋กœ API๋ฅผ ๋ฐ˜๋ณต ํ˜ธ์ถœํ•˜๋ฉด ํ”Œ๋ž˜๊ทธ๋˜์–ด ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐจ๋‹จ๋˜๋ฉด ์ƒˆ๋กœ์šด ์œ ํšจ keybox๋กœ ๊ต์ฒดํ•˜์„ธ์š”.
  • Arms race: ๊ณต๊ฐœ ๊ณต์œ ๋œ keybox๋Š” ๋น ๋ฅด๊ฒŒ ์†Œ๋ชจ๋ฉ๋‹ˆ๋‹ค; ๊ฐœ์ธ ์‚ฌ๋ณธ์„ ์œ ์ง€ํ•˜๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ชจ๋“ˆ ์—…๋ฐ์ดํŠธ(XDA/Telegram/GitHub)๋ฅผ ์ถ”์ ํ•˜์„ธ์š”.
  • Scope: ์ด ์šฐํšŒ๋Š” attestation ์ž…๋ ฅ๋งŒ ์Šคํ‘ธํ•‘ํ•ฉ๋‹ˆ๋‹ค; JWT ์ž์ฒด๋Š” ์ •ํ’ˆ์ด๊ธฐ ๋•Œ๋ฌธ์— Google์˜ ๋ฐฑ์—”๋“œ ์„œ๋ช… ๊ฒ€์ฆ์€ ์—ฌ์ „ํžˆ ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค.

References

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ